Port-amd64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: FLT_ROUNDS failures ... gcc/binutils regression ?



On Tue, Sep 27, 2011 at 08:05:15PM +0200, Nicolas Joly wrote:
> On Tue, Sep 27, 2011 at 06:58:14PM +0100, David Laight wrote:
> > On Tue, Sep 27, 2011 at 07:10:30PM +0200, Nicolas Joly wrote:
> > > 2c2
> > > < flt_rounds.old:     file format elf64-x86-64
> > > ---
> > > > flt_rounds.new:     file format elf64-x86-64
> > > 18c18
> > > <   1e: 48 8d 0d db ff ff ff    lea    -0x25(%rip),%rcx        # 0 <_map>
> > > ---
> > > >   1e: 48 8d 0d 00 00 00 00    lea    0x0(%rip),%rcx        # 25 
> > > > <__flt_rounds+0x15>
> > > 
> > > The new code, which does not work, looks suspicious to me ...
> > 
...
> 0000000000000021 R_X86_64_GOTPCREL  _map+0xfffffffffffffffc

That is some kind of pc-relative relocation for _map.

So it looks like _map (or rather its address?) has moved sections (or similar)
so that the offset isn't a compile time constant - or gcc is allowing for that.

Dunno it that is the right relocation type.
Might be worth linking the .o into a static program to see what 'ld'
makes of it.
Also link into a shlib, load, and see what the dynamic linker has done.
Might be a bug in the dynamic linker!

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index