[uClinux-dev] Shared library issues on m68knommu and gcc 4.1.1
Jate Sujjavanich
jsujjavanich at syntech-fuelmaster.com
Wed Aug 8 15:12:42 EDT 2007
On Daniel Jacobowitz's suggestion, I tried the Code Sourcery GNU
toolchain for Coldfire version 4.2 lite edition located at:
http://www.codesourcery.com/gnu_toolchains/coldfire
After fixing several bugs (due to incompatibilities with the newer
toolchain), I was able to startup uClinux with shared libraries.
Jate Sujjavanich
Syn-tech Systems
-----Original Message-----
From: uclinux-dev-bounces at uclinux.org
[mailto:uclinux-dev-bounces at uclinux.org] On Behalf Of David McCullough
Sent: Monday, July 30, 2007 8:55 PM
To: uClinux development list
Subject: Re: [uClinux-dev] Shared library issues on m68knommu and gcc
4.1.1
Jivin Paul_Dale at au.securecomputing.com 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, david_mccullough at securecomputing.com, Ph:+61
734352815
Secure Computing - SnapGear http://www.uCdot.org
http://www.cyberguard.com
_______________________________________________
uClinux-dev mailing list
uClinux-dev at uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev at uclinux.org To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev
************************************************************************
************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals &
computer viruses.
************************************************************************
************
More information about the uClinux-dev
mailing list