GCC configure should say that the linker does *not* support .hidden. For static-only linking (the only mode supported on this simulator-only system) this shouldn't really matter. But, different code is actually used (not just the attribute-hidden decorations), so different bugs are exposed. Like PR54373. There's a difference for in-tree and separate build/out-of-tree binutils and this makes the out-of-tree-binutils case align to the in-tree one, where the linker is found to emit something that doesn't match the ELF test; the `grep 'EMUL = .*elf' ../ld/Makefile` fails. I'll hold this until the non-configury bugs in PR54373 are fixed.
gcc: * configure.ac (out-of-tree linker .hidden support) Set to "no" for mmix-knuth-mmixware. * configure: Regenerate. Index: gcc/configure.ac =================================================================== --- gcc/configure.ac (revision 190682) +++ gcc/configure.ac (working copy) @@ -2300,6 +2300,12 @@ else if test x"$ld_is_gold" = xyes; then : elif echo "$ld_ver" | grep GNU > /dev/null; then + case "${target}" in + mmix-knuth-mmixware) + # The linker emits by default mmo, not ELF, so "no" is appropriate. + gcc_cv_ld_hidden=no + ;; + esac if test 0"$ld_date" -lt 20020404; then if test -n "$ld_date"; then # If there was date string, but was earlier than 2002-04-04, fail brgds, H-P