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.
+2021-03-30  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c (elf_link_add_object_symbols): Don't set h->indx
+       unless is_elf_hash_table.
+
 2021-03-29  Alan Modra  <amodra@gmail.com>
 
        * aoutx.h (aout_link_write_symbols): Don't cast boolean expression
 
             || 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