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


On Fri, Sep 05, 2003 at 06:40:39PM +0200, Rainer Orth wrote:
> 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?

> 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.

This patch is broken e.g. on all linux systems.
gnu_ld_flag is != no only if configured --with-gnu-ld or --with-ld (in
the latter case only if the given ld is actually GNU ld).
Nobody is configuring GCC that way though on platforms where
old GNU ld exists.
Moving the test a few lines higher might fix it though:
there is
        ld_ver=`$gcc_cv_ld --version 2>/dev/null | head -1`
        if echo "$ld_ver" | grep GNU > /dev/null; then
...
	fi
test for GNU ld version and if GNU ld is older than 2.12.1,
gcc_cv_as_hidden is set to no.
So, something like:
                 fi
 changequote([,])dnl
+        else
+          # non-GNU linkers don't seem to support .hidden yet
+          gcc_cv_as_hidden=no
         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

is IMHO better.

	Jakub


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