RFC: use of hidden_def/hidden_proto

Peter S. Mazinger ps.m at gmx.net
Fri Jan 6 17:13:49 UTC 2006


On Fri, 6 Jan 2006 sjhill at realitydiluted.com wrote:

> > I would want to begin using hidden_def/hidden_proto and related 
> > lib*_hidden_* within uClibc as glibc(libc-symbols.h) does instead of the 
> > current practice in uClibc that looks like:
> > 
> > attribute_hidden __func() {}
> > strong_alias(__func,func)
> > 
> > and #define func __func at the top of the *.c files, where func is in use 
> > (some of the __func prototypes that are used more than 5 times are defined 
> > if possible in libc-internal.h and the users are changed from func to 
> > __func within *.c)
> > 
> I like it. I have a lot of these to deal with for NPTL. It is why my
> 'compat' directory is still around.

you like the current style or what I propose?

if I would start up now to use hidden, I would have at least been doing
leave func() {} as it is
append libc_hidden_def(func) where
libc_hidden_def(func) hidden_strong_alias(func,__func) (I came on to this 
idea too late)

> 
> SNIP
> 
> > Benefits:
> >
> 
> SNIP
> 
> >
> > 4. allows later easy switch to versioned lib support
> >
> Absolutely no ****ing way. The reason glibc is so bloated is because
> of a lot of the versioned symbols and backwards compatibility cruft.
> I will fight to the death against any type of symbol versioning or
> versioned lib support. Might I remind our readers that uClibc is for
> embedded systems i.e. focus on size first, then IMHO, functionality
> and possibly compatibility with older stuff. Every release up to this
> point stresses that you have to recompile your applications for the
> new version. Unless Erik and/or others are changing the goals, there
> should be no version support. Hopefully I miss understood you and I
> am off base.
> 
> -Steve

Until uClibc-1.0 is released versioning is not needed (we can always say, 
the new version is incompat w/ the earlier, please rebuild). After that I 
am not sure ...

Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2




More information about the uClibc mailing list