In 2012 e2769e908a915ebbc/r192344, I added the following lines, that I
now delete. I've changed my mind: ELF-related targets based on gas,
that support only static linking, have .hidden "for free", regardless
of the visibility of the hidden object in the linked executable. No
regressions for mmix-knuth-mmixware and "fixes":
FAIL: gcc.dg/torture/pr94947-1.c -O2 -flto -fuse-linker-plugin
-fno-fat-lto-objects (test for excess errors)
Excess errors:
lto1: warning: visibility attribute not supported in this configuration;
ignored [-Wattributes]
...a warning which is emitted for "all" LTO tests (of which most have
warnings filtered out); LTO "thinks" all supported targets have
.hidden support.
If .hidden is a prerequisite for LTO, maybe LTO should be turned off
for targets without .hidden support?
Committed.
gcc:
* configure.ac (out-of-tree linker .hidden support): Don't turn off
for mmix-knuth-mmixware.
* configure: Regenerate.
diff --git a/gcc/configure b/gcc/configure
index f224679ed3e..6ba2b35cfb9 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -23471,12 +23485,6 @@ 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
diff --git a/gcc/configure.ac b/gcc/configure.ac
index e83f0833ef3..a7c683b04e9 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2874,12 +2874,6 @@ 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