Jivin [EMAIL PROTECTED] lays it down ...
> > I am getting the "lib 0 younger than lib 1" in the relocation code for the 
> > reloc
> > table for uClibc (shared lib 1). The code works until it reaches a value of
> > "0x00000001" which is interpreted as address 1 in library 0. Library 0 is 
> > younger
> > than 1, as it should be.
> 
> I understand now.
> 
> 
> > Some of my theories are as follows. Maybe the linker is inserting a 
> > 0x00000001
> > into the reloc table when it shouldn't be. Or maybe it should be, and 
> > 0x00000001
> > is a new flag in the newer toolchain.
> 
> It certainly has the feel of a tool chain flag.  I have a vague recollection 
> of such being used in the constructor/destructor chains.
> 
> What if you modify the kernel relocator to stop on these values? (are there 
> legitimate relocations *after* them?)
> 
> Or skip them?
> 
> Does the program then work?
> 
> I don't see how 0x00000001 can be a legitimate relocation address.  Code is 
> word aligned and that definitely points into code space.  I don't remember 
> relocations less than 32 bit being needed on the ColdFire.


Could be the constructore or destructor count,  there is usually only
one in a normal app.

Check that you elf2flt.ld has the correct CTORS/DTORS constructs and
that there is not padding getting inserted between symbols etc.

> > Let me know if this rings any bells.
> 
> It doesn't :-(
> 
> There were some weird zero values near the start of the GOT that I never 
> figured out but I thought I'd dealt with the relocations properly.


Cheers,
Davidm

-- 
David McCullough,  [EMAIL PROTECTED],   Ph:+61 734352815
Secure Computing - SnapGear  http://www.uCdot.org http://www.cyberguard.com
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to