[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