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

Alan Modra amodra@gmail.com
Tue Mar 30 03:18:29 GMT 2021


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.

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

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list