> 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. > 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. Regards, Pauli -- Dr Paul Dale Software Grunt Secure Computing(r) your trusted source for enterprise security(tm) www.securecomputing.com <http://www.securecomputing.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
