From d1cbe0076a4b6442793121413a0d3b52ae19727e Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 30 Mar 2021 13:03:30 +1030 Subject: [PATCH] asan: linker.c:2294:8: runtime error: load of value 253 Seen after converting bfd_boolean to bool. mmix +FAIL: ld-mmix/zeroehmmo ./ld-new -L/home/alan/src/binutils-gdb/ld/testsuite/ld-mmix -m mmo -Ttext 0xa00 -T /home/alan/src/binutils-gdb/ld/testsuite/ld-mmix/zeroeh.ld -o tmpdir/dump tmpdir/x.o tmpdir/y.o /home/alan/src/binutils-gdb/bfd/linker.c:2294:8: runtime error: load of value 253, which is not a valid value for type '_Bool' * elflink.c (elf_link_add_object_symbols): Don't set h->indx unless is_elf_hash_table. --- bfd/ChangeLog | 5 +++++ bfd/elflink.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6d361d56b98..a94223d1d99 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2021-03-30 Alan Modra + + * elflink.c (elf_link_add_object_symbols): Don't set h->indx + unless is_elf_hash_table. + 2021-03-29 Alan Modra * aoutx.h (aout_link_write_symbols): Don't cast boolean expression diff --git a/bfd/elflink.c b/bfd/elflink.c index 6be14e7c333..c7102e691f1 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -4968,13 +4968,13 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; + *sym_hash = h; + /* Setting the index to -3 tells elf_link_output_extsym that this symbol is defined in a discarded section. */ - if (discarded) + if (discarded && is_elf_hash_table (htab)) h->indx = -3; - *sym_hash = h; - new_weak = (flags & BSF_WEAK) != 0; if (dynamic && definition -- 2.30.2