asan: linker.c:2294:8: runtime error: load of value 253

Message ID 20210330031829.GO5425@bubble.grove.modra.org
State New
Headers show
Series
  • asan: linker.c:2294:8: runtime error: load of value 253
Related show

Commit Message

H.J. Lu via Binutils March 30, 2021, 3:18 a.m.
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.


-- 
Alan Modra
Australia Development Lab, IBM

Patch

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