[BUG] error in global variables strong aliasing

Mike Frysinger vapier at gentoo.org
Tue Apr 18 22:25:38 UTC 2006


On Tuesday 18 April 2006 11:21, Peter S. Mazinger wrote:
> On Wed, 12 Apr 2006, Mike Frysinger wrote:
> > On Monday 20 March 2006 05:41, Peter S. Mazinger wrote:
> > > On Sat, 18 Mar 2006, Amir Shalem wrote:
> > > > after commit
> > > > http://www.uclibc.org/lists/uclibc-cvs/2006-March/009686.html
> > > >
> > > > global variables such as environ, errno, and friends are broken
> > > > <snip>
> > > > same happens with __environ & environ.
> > >
> > > this one is curious, I had a bug report before yours when I made use of
> > > hidden global data (what this svn commit undid due to stability
> > > problems)
> >
> > could you point me to the thread(s) you refer to here ?  cant say i
> > noticed
>
> it was on irc, pointed out by khem (iirc arch was arm or armeb), it seems
> to affect cross-compiled environments, native builds do not suffer of
> this (tested on x86/ppc, my arm chroot is not enough updated yet to test
> this and mipsel is broken as you know)

the test case posted failed natively on some arches but passed on others ... i 
posted a thread on the glibc list and HJ noted the reason for the failure 
(and it isnt a cross vs native issue)

so i'll revert your revert and use weak_alias for data rather than 
strong_alias

> > any problems until after this change ... and really, the alias has always
> > been weak here, not strong, so you werent revereting anything when you
> > changed weak_alias(environ) to strong_alias(environ) ...
> >
> > if we look at glibc, they never use strong_alias() for data, just
> > functions
>
> I can't find any logic when glibc uses strong_alias versus weak_alias,
> it seems to me, that anything new added is weak_alias

i was going by a grep of the source code itself ... all aliases used for data 
are weak_alias()
-mike



More information about the uClibc mailing list