[PATCH] sh: fix __HAVE_SHARED__ condition in crti.S.

Paul Mundt lethal at linux-sh.org
Thu Aug 28 06:06:56 UTC 2008


On Thu, Aug 28, 2008 at 07:58:15AM +0200, Carmelo AMOROSO wrote:
> Paul Mundt wrote:
> >On Tue, Aug 26, 2008 at 03:53:18PM +0200, Carmelo AMOROSO wrote:
> >>Takashi Yoshii wrote:
> >>>For SH, init/fini function prologue is defined in 
> >>>libc/sysdeps/linux/sh/crti.S
> >>>as follows.
> >>>
> >>>| (frame entry)
> >>>|#ifndef __HAVE_SHARED__
> >>>| (GOT pointer initialization)
> >>>|#endif
> >>>
> >>>I think this should be "ifdef", but "ifndef".
> >>>Or, are there any reason that GOT should be used (only)in NON-shared 
> >>>case ?
> >>>
> >>Well, this change has been committed by lethal at
> >>http://www.uclibc.org/cgi-bin/viewcvs.cgi/trunk/uClibc/libc/sysdeps/linux/sh/crti.S?rev=16426&view=diff&r1=16426&r2=16425&p1=trunk/uClibc/libc/sysdeps/linux/sh/crti.S&p2=/trunk/uClibc/libc/sysdeps/linux/sh/crti.S
> >>
> >>so, unless there something I'm not understanding too, I suppose it was a 
> >>typo by Paul (aka lethal).
> >>Paul, my you give some lights on this change ?
> >>
> >I had to think about this briefly. It was part of the SH-2 work done by
> >Mark Shinwell (added to Cc). The disabling of GOT related code in the
> >non-shared case was intentional, but I don't immediately recall what the
> >rationale was.
> >
> yes, but as Yoshii spotted, the code now seems doing just the opposite.
> 
Good point, it seems I'm unable to read in that case. :-)

Inverting it seems to be the reasonable thing to do. I'll give it a test
and check in Yoshii-san's patch if nothing breaks.



More information about the uClibc mailing list