[parisc-linux] Re: call_init in libc6 2.3.6.ds1-11

John David Anglin dave at hiauly1.hia.nrc.ca
Sat Feb 17 21:23:12 MST 2007


> So what is the verdict? I think the code looks right.
> 
> readelf -a /bin/bash shows:
>  0x0000000c (INIT)                       0x24198
> 
> This is a not an OPD, and therefore will have a local non-unique OPD
> constructed for the call.

See the same for INIT in /bin/sh.  However, the INIT value of interest
here is that for /lib/libc.so.6:

dave at mx3210:~/gnu/gcc-4.3/objdir/hppa-linux/libjava$ readelf -a /lib/libc.so.6|grep INIT
 0x0000000c (INIT)                       0x1f164

This was the value at r21 + 4.  This value also isn't an OPD.  However,
I showed before that init() didn't get called using an OPD.  As a result,
r19 was likely incorrect for the call.  See the code snippet in the
original report.

Possibly, there's a GCC optimization bug but I'm not sure.

Dave
-- 
J. David Anglin                                  dave.anglin at nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)



More information about the parisc-linux mailing list