This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 3.3.2 PATCH: Disable .hidden support without GNU ld
Richard Henderson writes:
> > * configure.in (libgcc_visibility): Disable unless using GNU ld.
>
> Ok.
Unfortunately, it turned out that the patch was wrong for 3.3: while it
disabled libgcc_visibility, HAVE_GAS_HIDDEN remained defined, causing
exactly the libgcc_s.so.1 link fail the patch intended to avoid ;-(
This one actually works: the compiler bootstrapped (i686-pc-solaris2.9 with
gas 2.14), currently building libraries.
Ok if the bootstrap finishes without regressions?
Rainer
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University
Thu Sep 4 16:42:20 2003 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* configure.in (gcc_cv_as_hidden): Disable unless using GNU ld.
* configure: Regenerate.
Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.627.2.14
diff -u -p -r1.627.2.14 configure.in
--- gcc/configure.in 10 Aug 2003 23:11:26 -0000 1.627.2.14
+++ gcc/configure.in 5 Sep 2003 16:17:49 -0000
@@ -1662,25 +1664,16 @@ changequote(,)dnl
changequote([,])dnl
fi
fi
+# non-GNU linkers don't seem to support .hidden yet
+if test x"$gnu_ld_flag" = x"no"; then
+ gcc_cv_as_hidden=no
+fi
if test x"$gcc_cv_as_hidden" = xyes; then
AC_DEFINE(HAVE_GAS_HIDDEN, 1,
[Define if your assembler supports .hidden.])
fi
AC_MSG_RESULT($gcc_cv_as_hidden)
libgcc_visibility=$gcc_cv_as_hidden
-case "$target" in
- mips-sgi-irix6*)
- if test x"$gnu_ld_flag" = x"no"; then
- # Even if using gas with .hidden support, the resulting object files
- # cannot be linked with the IRIX 6 O32 linker. With the N32 and
- # N64 linkers, the problem is that the linker refuses to accept
- # -call_shared (passed by default to the linker) and -r (used to
- # link the object file generated without .hidden directives with
- # one that hides symbols), so we also lose.
- libgcc_visibility=no
- fi
- ;;
-esac
AC_SUBST(libgcc_visibility)
AC_MSG_CHECKING(assembler leb128 support)