This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Your i960-elf failures notice
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Hans-Peter Nilsson <hp at bitrange dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Mon, 1 Dec 2003 11:09:19 +1030
- Subject: Re: Your i960-elf failures notice
- References: <20031105082443.GC2506@bubble.sa.bigpond.net.au> <Pine.BSF.4.44.0311301417440.11656-100000@dair.pair.com>
On Sun, Nov 30, 2003 at 05:16:24PM -0500, Hans-Peter Nilsson wrote:
[about segfaults in i960-elf ld testsuite showing up after
ld-scripts/defined2 was added.]
> ==13513== Conditional jump or move depends on uninitialised value(s)
> ==13513== at 0x807CE34: bfd_elf_record_link_assignment (elflink.c:450)
> ==13513== by 0x805BC68: gldelf32_i960_find_exp_assignment (eelf32_i960.c:519)
> ==13513== by 0x804E961: lang_for_each_statement_worker (ldlang.c:289)
> ==13513== by 0x804E982: lang_for_each_statement_worker (ldlang.c:294)
This piqued my interest, and I took a little look at the i960 code
is doing. I reckon the problem is that i960-elf uses the generic linker
(and hence the generic linker hash table). Checks all over the place in
the elf linker just test that info->hash->creator->flavour is
bfd_target_elf_flavour before accessing elf specific fields in link hash
table entries. That's not a sufficient test. I think we should be
testing that info->hash->root.type is bfd_link_elf_hash_table.
--
Alan Modra
IBM OzLabs - Linux Technology Centre