This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Is the current ld brolen? (Re: ld is broken on Linux/alpha)


On Fri, Nov 23, 2001 at 10:52:21PM -0800, H . J . Lu wrote:
> 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?
> 

Now I got those while building glibc 2.2.4 on Linux/x86? Jakub, have
you tried your patch with RedHat build? Something is going on.


H.J.
---
/usr/bin/ld: nis_call.os: access beyond end of merged section (27 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (15 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (15 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (15 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (16 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (17 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (15 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (16 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (17 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (15 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (18 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (19 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (17 + 0)
/usr/bin/ld: nis_removemember.os: access beyond end of merged section (16 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (3 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (3 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (3 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (5 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (4 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (3 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (5 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (4 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (3 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (7 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (6 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (5 + 0)
/usr/bin/ld: nis_domain_of_r.os: access beyond end of merged section (4 + 0)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]