tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: getting Android's bionic C library back in sync with upstream



On Wed, 25 Jul 2012 15:14:49 -0700
enh <enh%google.com@localhost> wrote:

> * if i'm choosing just one flavor, would NetBSD be a good flavor for
> me to go with? i realize you're likely to be biased, but if you can
> think of some reason why i should be looking at one of the other BSDs
> instead, please let me know!

http://mail-index.netbsd.org/tech-userlevel/2012/06/05/msg006446.html

I recently stopped trying to get clang's C++ library (libc++) to link
on NetBSD because of the following deficiencies :

1.  Locales in libc.  NetBSD's libc lacks functions defined by POSIX,
not to mention actual support for l10n.  

2.  libm: missing 64-bit functions and a few 32-bit.  

There are others.  That's only as far as I got.  

I don't know what your requirements are.  My view is that NetBSD's
code has more rigor than vigor.  It is very high quality and is
maintained by knowledgable, thoughtful people, but atm there are not
enough such people with time and interest to keep up with a changing
world.  

Adding may be easier than subtracting, however.  You may find it's
easier to begin with NetBSD's lean base and add what you need, possibly
by cribbing from another BSD.  If you do that I would expect your
patches would mostly be welcome.  

> * how do you feel about GNU extensions? 

IMO the answers you got to this question understated the serverity of
the judgement that is applied.  The NetBSD community reveres standards
and demands that deviation from any applicable standard be well
justified.  "Harmless" is a high bar; nearly always the proposed
extension, if it doesn't conflict with existing practice or normative
text, can be shown to be redundant insofar as the same effect could be
had by using two or more existing functions.  "More than one way to do
it" is not considered a virtue here, nor is compatibility for
compatibility's sake.  

Were I in your shoes, I might start with nm(1) and make a list of all
the functions in your libc and in NetBSD's, and evaluate what's
missing.  Perhaps some don't matter and can/should be dropped.  Of
those that would need to be added -- supposing you were willing to
add them -- you could post a list here to get a sense of how welcome
they might be.  That way you'd get a sense of the size of the pool 
and the temperature of the water without actually diving in.  

--jkl


Home | Main Index | Thread Index | Old Index