This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: hppa64-hp-hpux11.00: invalid string offset for section .dynstr
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: hjl at lucon dot org, ross dot alexander at uk dot neceur dot com, law at redhat dot com, binutils at sources dot redhat dot com
- Date: Fri, 21 Jun 2002 10:37:03 +0930
- Subject: Re: hppa64-hp-hpux11.00: invalid string offset for section .dynstr
- References: <20020619233300.GN1505@bubble.sa.bigpond.net.au> <200206210038.g5L0cwQa024116@hiauly1.hia.nrc.ca>
On Thu, Jun 20, 2002 at 08:38:58PM -0400, John David Anglin wrote:
> > On Wed, Jun 19, 2002 at 05:57:50PM -0400, John David Anglin wrote:
> > > > It sounds like a SHF_MERGE bug. I just fixed a SHF_MERGE bug on
> > > > ELF/mips. Do
>
> I don't think that it's a SHF_MERGE bug. The problem involves
> millicode symbols. For some reason, fields such as st_name, etc,
> are garbage causing the failure of bfd_elf_string_from_elf_section.
> We set h->dynindx = -1 for these symbols but there is little
> else in their processing that appears special. The strange thing
> is nm works fine and the names are present in .dynstr in the expected
> order. I believe the error message is relatively new (last couple
> of months).
Does nm -D "work fine"? My guess is that it's too late to set dynindx
to -1 in finish_dynamic_symbol, ie. that space in the dynamic sym
table has already been allocated. By setting dynindx to -1, all you
accomplish is not writing an entry in dynsym, leaving whatever garbage
happened to be in memory.
--
Alan Modra
IBM OzLabs - Linux Technology Centre