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
