This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]