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