This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: ld is broken on Linux/alpha
On Fri, Nov 23, 2001 at 10:41:18PM -0800, H . J . Lu wrote:
> On Fri, Nov 23, 2001 at 10:00:41PM -0800, H . J . Lu wrote:
> > On Fri, Nov 23, 2001 at 05:37:28PM -0800, H . J . Lu wrote:
> > > Today's ld from CVS is broken on Linux/alpha. I got many
> > >
> > > child killed: segmentation violation
> > > FAIL: visibility (hidden_normal) (non PIC, load offset)
> > >
> >
> > Hi Jakub,
> >
> > Your patch
> >
> > http://sources.redhat.com/ml/binutils/2001-11/msg00580.html
> >
> > breaks Linux/alpha. I got
> >
> > while (gotent->gotobj != gotobj || gotent->addend != addend)
> > gotent = gotent->next;
> >
> > with gotent == NULL. That is
> >
> > (gdb) p/x addend
> > $63 = 0xffffffffffffffe9
> > (gdb) p/x gotent->addend
> > $59 = 0x87
> > (gdb) gotent->gotobj
> > $60 = 0x1200f74e0
> > (gdb) p/x gotobj
> > $61 = 0x1200f74e0
> > (gdb) p h
> > $62 = (struct alpha_elf_link_hash_entry *) 0x0
> >
> > Could you please fix it?
> >
> > Thanks.
> >
> >
>
> This patch makes "make check" pass on Linux/alpha. I have no ideas if
> it is correct at all. I suspect Linux/alpha may not be the only
> platform which is broken by that patch. The main issue is you will only
> see the problem if your gcc supports the SHF_MERGE sections. That means
> we may not know there is a problem even if it exists.
>
>
Hi Jakub,
Could you please double check all ELF targets which use rel->r_addend
after _bfd_elf_rela_local_sym is called in xxx_xxx_relocate_section?
Thanks.
H.J.