PATCH for Re: binutils 2.15 / gcc-3.3.5 (3.4.3) produce text relocations on arm

Peter S. Mazinger ps.m@gmx.net
Sat Mar 19 01:23:00 GMT 2005


On Fri, 18 Mar 2005, Daniel Jacobowitz wrote:

> On Mon, Mar 14, 2005 at 12:44:39PM +0100, Peter S. Mazinger wrote:
> > On Wed, 5 Jan 2005, Peter S. Mazinger wrote:
> > 
> > > On Tue, 4 Jan 2005, Daniel Jacobowitz wrote:
> > > > Then could you check whether any of the relocations are actually in the
> > > > text segment?
> > > 
> > > How to do that?
> 
> Via readelf.  readelf -l will show you the offsets and sizes of the
> segments.  readelf -Dr will show you the offsets of relocation entries. 
> Are any in the text segment?
> 
> > > 
> > > Could you provide me a patch for the ARM bug you have found (setting 
> > > DT_TEXTREL incorrectly)?
> 
> Attached.
> 
> This is patch 2/2 for today's duplicated-code-in-BFD hatred series.  I
> tried to resync with other ports' copies of this code and it proved
> surprisingly twisty, so I took the simple way out.  We were creating
> reloc_copied structures with ->count = 0, which are useless and messed
> up the counting algorithm.
> 
> Tested arm-linux, binutils and glibc testsuites.  Richard or Nick, is
> this patch OK?

tested on uclibc, it "removes" the false DT_TEXTREL from shared libs.

> 
> > Nothing changed in the meantime ;-(
> > I have tested binutils-cvs (as of 20050222) and no better.
> > 
> > Finally it seems that the DT_TEXTREL entry is coming from assembler 
> > sources, C code seems to be linked correctly.
> 
> Your assembly sources may be broken (non-PIC) then.

it was, but now it was detectable ;)

> 
> > on another note:
> > MAXPAGESIZE=0x8000 (as of bfd/elf.c) for arm, please change that in 
> > ld/emulparams/armelf.sh.
> 
> Nathan noticed the odd MAXPAGESIZE setting in arm-elf today also.  I
> don't know the history.

Please inform me, if you change that (well, I am using it w/ that value 
now, the newly added arm stuff also uses it as 0x8000, not as 256)

Thanks Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2



More information about the Binutils mailing list