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: PATCH: Build shared libraries with -Bsymbolic-functions


On Sun, Jan 14, 2007 at 01:04:22PM +0000, Andrew Haley wrote:
> Paolo Bonzini writes:
>  > 
>  > >> Since I used -Bsymbolic-functions, it has no effect on data symbols.
>  > >>
>  > > 
>  > > I extended -Bsymbolic-functions to libffi, libjava, libmudflap,
>  > > libssp and libgcc. There are no regressions:
>  > > 
>  > > http://gcc.gnu.org/ml/gcc-testresults/2007-01/msg00511.html
>  > > http://gcc.gnu.org/ml/gcc-testresults/2007-01/msg00510.html
>  > > http://gcc.gnu.org/ml/gcc-testresults/2007-01/msg00509.html
>  > > 
>  > > If we apply -Bsymbolic-functions to all shared libraries on a system,
>  > > it will improve application startup time and overall runtime
>  > > performance.
>  > 
>  > Good.  As before, however, I don't understand the overall effect well
>  > enough to give an approval myself.  Therefore, I suggest that you get
>  > the approval of a GWP person (since some of these libraries have no
>  > overall maintainer).
>  > 
>  > Otherwise, if you get approval for libgcc, libjava, libobjc,
>  > libstdc++-v3, I will approve the rest.
> 
> OK for libjava.
> 

I checked in the libjava part. Here is the updated patch for other
libraries. If someone can give me a list of functions in libobjc
which should be overridable, I will add them to the dynamic list
for libobjc.

Thanks.

H.J.
-----
libffi/

2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config.
	(libffi_la_LDFLAGS): Add $(extra_ldflags_libffi)
	* Makefile.in: Regenerated.

	* configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC.  Set
	extra_ldflags_libffi to $SYMBOLIC_LDFLAGS.  Substitute
	extra_ldflags_libffi.
	* configure: Regenerated.
	* aclocal.m4: Likewise.

libgcc/

2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (extra_ldflags_libgcc): New.
	(SHLIB_LINK): Add $(extra_ldflags_libgcc).

	* configure.ac: Include ../config/lib-ld.m4 and
	../config/ld-symbolic.m4.  Usde ACX_PROG_LD_GNU_SYMBOLIC. Set
	extra_ldflags_libgcc to $SYMBOLIC_LDFLAGS.  Substitute
	extra_ldflags_libgcc.
	* configure: Regenerated.

libgfortran/

2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC.  Set
	extra_ldflags_libgfortran to $SYMBOLIC_LDFLAGS if it isn't set.
	* configure: Regenerated.
	* aclocal.m4: Likewise.
	* Makefile.in: Likewise.

libgomp/

2007-01-10  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC.  Add
	$SYMBOLIC_LDFLAGS to OPT_LDFLAGS.
	* configure: Regenerated.
	* aclocal.m4: Likewise.
	* Makefile.in: Likewise.

libmudflap/

2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (libmudflap_la_LDFLAGS): Add
	$(extra_ldflags_libmudflap).
	(libmudflapth_la_LDFLAGS): Likewise.
	* Makefile.in: Regenerated.

	* configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC.  Set
	extra_ldflags_libmudflap to $SYMBOLIC_LDFLAGS.  Substitute
	extra_ldflags_libmudflap.
	* configure: Regenerated.
	* aclocal.m4: Likewise.

libobjc/

2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC.  Set
	extra_ldflags_libobjc to $SYMBOLIC_LDFLAGS if it isn't set.
	* configure: Regenerated.
	* aclocal.m4: Likewise.

libssp/

2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (libssp_la_LDFLAGS): Add $(extra_ldflags_libssp).
	* Makefile.in: Regenerated.

	* configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC.  Set
	extra_ldflags_libssp to $SYMBOLIC_LDFLAGS.  Substitute
	extra_ldflags_libssp.
	* configure: Regenerated.
	* aclocal.m4: Likewise.

libstdc++-v3/

2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Use ACX_PROG_LD_GNU_DYNAMIC_LIST_CPP_NEW.  Add
	$DYNAMIC_LIST_CPP_NEW_LDFLAGS to OPT_LDFLAGS.
	* configure: Regenerated.
	* aclocal.m4: Likewise.
	* Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

--- gcc/libffi/Makefile.am.symbolic	2006-12-14 09:01:37.000000000 -0800
+++ gcc/libffi/Makefile.am	2007-01-12 07:45:01.000000000 -0800
@@ -1,7 +1,7 @@
 ## Process this with automake to create Makefile.in
 
 AUTOMAKE_OPTIONS = foreign subdir-objects
-ACLOCAL_AMFLAGS = -I ..
+ACLOCAL_AMFLAGS = -I .. -I ../config
 
 SUBDIRS = include testsuite
 
@@ -157,7 +157,7 @@ nodist_libffi_convenience_la_SOURCES = $
 
 AM_CFLAGS = -Wall -g -fexceptions
 
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(extra_ldflags_libffi)
 
 AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
 AM_CCASFLAGS = $(AM_CPPFLAGS)
--- gcc/libffi/Makefile.in.symbolic	2006-12-14 09:01:37.000000000 -0800
+++ gcc/libffi/Makefile.in	2007-01-12 07:45:01.000000000 -0800
@@ -69,7 +69,11 @@ DIST_COMMON = README $(am__configure_dep
 	$(top_srcdir)/configure ChangeLog
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/../libtool.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
+	$(top_srcdir)/../config/lead-dot.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/multi.m4 $(top_srcdir)/../libtool.m4 \
 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -318,6 +322,7 @@ build_os = @build_os@
 build_vendor = @build_vendor@
 datadir = @datadir@
 exec_prefix = @exec_prefix@
+extra_ldflags_libffi = @extra_ldflags_libffi@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -346,7 +351,7 @@ target_vendor = @target_vendor@
 toolexecdir = @toolexecdir@
 toolexeclibdir = @toolexeclibdir@
 AUTOMAKE_OPTIONS = foreign subdir-objects
-ACLOCAL_AMFLAGS = -I ..
+ACLOCAL_AMFLAGS = -I .. -I ../config
 SUBDIRS = include testsuite
 EXTRA_DIST = LICENSE ChangeLog.v1 \
 	src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
@@ -427,7 +432,7 @@ nodist_libffi_la_SOURCES = $(am__append_
 libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
 nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
 AM_CFLAGS = -Wall -g -fexceptions
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(extra_ldflags_libffi)
 AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
 AM_CCASFLAGS = $(AM_CPPFLAGS)
 all: fficonfig.h
@@ -1059,7 +1064,7 @@ distclean-tags:
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
 	mkdir $(distdir)
-	$(mkdir_p) $(distdir)/.. $(distdir)/include $(distdir)/src/alpha $(distdir)/src/arm $(distdir)/src/cris $(distdir)/src/frv $(distdir)/src/m32r $(distdir)/src/m68k $(distdir)/src/mips $(distdir)/src/pa $(distdir)/src/powerpc $(distdir)/src/s390 $(distdir)/src/sh $(distdir)/src/sh64 $(distdir)/src/sparc $(distdir)/src/x86
+	$(mkdir_p) $(distdir)/.. $(distdir)/../config $(distdir)/include $(distdir)/src/alpha $(distdir)/src/arm $(distdir)/src/cris $(distdir)/src/frv $(distdir)/src/m32r $(distdir)/src/m68k $(distdir)/src/mips $(distdir)/src/pa $(distdir)/src/powerpc $(distdir)/src/s390 $(distdir)/src/sh $(distdir)/src/sh64 $(distdir)/src/sparc $(distdir)/src/x86
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
 	list='$(DISTFILES)'; for file in $$list; do \
--- gcc/libffi/configure.ac.symbolic	2006-12-14 09:01:37.000000000 -0800
+++ gcc/libffi/configure.ac	2007-01-12 07:45:01.000000000 -0800
@@ -276,6 +276,10 @@ esac
 AC_SUBST(toolexecdir)
 AC_SUBST(toolexeclibdir)
 
+ACX_PROG_LD_GNU_SYMBOLIC
+extra_ldflags_libffi=$SYMBOLIC_LDFLAGS
+AC_SUBST(extra_ldflags_libffi)
+
 if test "${multilib}" = "yes"; then
   multilib_arg="--enable-multilib"
 else
--- gcc/libgcc/Makefile.in.symbolic	2007-01-06 07:57:28.000000000 -0800
+++ gcc/libgcc/Makefile.in	2007-01-12 09:08:29.000000000 -0800
@@ -38,6 +38,8 @@ SHELL = @SHELL@
 enable_shared = @enable_shared@
 decimal_float = @decimal_float@
 
+extra_ldflags_libgcc = @extra_ldflags_libgcc@
+
 host_noncanonical = @host_noncanonical@
 
 # List of extra object files that should be compiled for this target machine.
@@ -224,6 +226,8 @@ include $(srcdir)/empty.mk $(tmake_file)
 #   - we know how to build them
 ifeq ($(SHLIB_LINK),)
   enable_shared := no
+else
+  SHLIB_LINK := $(subst $(GCC_FOR_TARGET),$(GCC_FOR_TARGET) $(extra_ldflags_libgcc), $(SHLIB_LINK))
 endif
 
 ifeq ($(enable_shared),yes)
--- gcc/libgcc/configure.ac.symbolic	2007-01-06 07:57:28.000000000 -0800
+++ gcc/libgcc/configure.ac	2007-01-12 07:52:14.000000000 -0800
@@ -2,6 +2,8 @@ dnl Process this file with autoconf to p
 
 sinclude(../config/acx.m4)
 sinclude(../config/no-executables.m4)
+sinclude(../config/lib-ld.m4)
+sinclude(../config/ld-symbolic.m4)
 
 AC_PREREQ(2.59)
 AC_INIT([GNU C Runtime Library], 1.0,,[libgcc])
@@ -136,6 +138,11 @@ AC_SUBST(tmake_file)
 AC_SUBST(extra_parts)
 AC_SUBST(asm_hidden_op)
 
+# Substitute GNU linker -Bsymbolic-functions
+ACX_PROG_LD_GNU_SYMBOLIC
+extra_ldflags_libgcc=$SYMBOLIC_LDFLAGS
+AC_SUBST(extra_ldflags_libgcc)
+
 # We need multilib support.
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_COMMANDS([default],
--- gcc/libgfortran/Makefile.in.symbolic	2007-01-12 07:42:03.000000000 -0800
+++ gcc/libgfortran/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -47,8 +47,10 @@ subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/lead-dot.m4 \
 	$(top_srcdir)/../config/multi.m4 \
-	$(top_srcdir)/../config/stdint.m4 $(top_srcdir)/acinclude.m4 \
-	$(top_srcdir)/../config/acx.m4 \
+	$(top_srcdir)/../config/stdint.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
+	$(top_srcdir)/acinclude.m4 $(top_srcdir)/../config/acx.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
--- gcc/libgfortran/configure.ac.symbolic	2006-12-07 17:07:06.000000000 -0800
+++ gcc/libgfortran/configure.ac	2007-01-12 07:45:02.000000000 -0800
@@ -143,12 +143,17 @@ AC_SUBST(enable_static)
 FC="$GFORTRAN"
 AC_PROG_FC(gfortran)
 
+ACX_PROG_LD_GNU_SYMBOLIC
+
 # extra LD Flags which are required for targets
 case "${host}" in
   *-darwin*)
     # Darwin needs -single_module when linking libgfortran
     extra_ldflags_libgfortran=-Wl,-single_module
     ;;
+  *)
+    extra_ldflags_libgfortran=$SYMBOLIC_LDFLAGS
+    ;;
 esac
 AC_SUBST(extra_ldflags_libgfortran)
 
--- gcc/libgomp/Makefile.in.symbolic	2007-01-12 07:42:03.000000000 -0800
+++ gcc/libgomp/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -53,8 +53,11 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../config/lead-dot.m4 \
 	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/stdint.m4 \
-	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/acinclude.m4 \
-	$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/../config/tls.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
+	$(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -163,7 +166,6 @@ FC = @FC@
 FCFLAGS = @FCFLAGS@
 GENINSRC_FALSE = @GENINSRC_FALSE@
 GENINSRC_TRUE = @GENINSRC_TRUE@
-GREP = @GREP@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -206,8 +208,11 @@ USE_FORTRAN_TRUE = @USE_FORTRAN_TRUE@
 VERSION = @VERSION@
 XCFLAGS = @XCFLAGS@
 XLDFLAGS = @XLDFLAGS@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_FC = @ac_ct_FC@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
 am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
 am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
 am__include = @am__include@
@@ -223,9 +228,6 @@ build_os = @build_os@
 build_vendor = @build_vendor@
 config_path = @config_path@
 datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
 enable_shared = @enable_shared@
 enable_static = @enable_static@
 exec_prefix = @exec_prefix@
@@ -234,7 +236,6 @@ host_alias = @host_alias@
 host_cpu = @host_cpu@
 host_os = @host_os@
 host_vendor = @host_vendor@
-htmldir = @htmldir@
 includedir = @includedir@
 infodir = @infodir@
 install_sh = @install_sh@
@@ -242,16 +243,13 @@ libdir = @libdir@
 libexecdir = @libexecdir@
 libtool_VERSION = @libtool_VERSION@
 link_gomp = @link_gomp@
-localedir = @localedir@
 localstatedir = @localstatedir@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 multi_basedir = @multi_basedir@
 oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
 prefix = @prefix@
 program_transform_name = @program_transform_name@
-psdir = @psdir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
--- gcc/libgomp/configure.ac.symbolic	2006-12-26 09:04:53.000000000 -0800
+++ gcc/libgomp/configure.ac	2007-01-12 07:45:02.000000000 -0800
@@ -331,6 +331,9 @@ AC_SUBST(OMP_LOCK_KIND)
 AC_SUBST(OMP_NEST_LOCK_KIND)
 CFLAGS="$save_CFLAGS"
 
+ACX_PROG_LD_GNU_SYMBOLIC
+OPT_LDFLAGS="$OPT_LDFLAGS $SYMBOLIC_LDFLAGS"
+
 AC_CONFIG_FILES(omp.h omp_lib.h omp_lib.f90 libgomp_f.h)
 AC_CONFIG_FILES(Makefile testsuite/Makefile libgomp.spec)
 AC_OUTPUT
--- gcc/libmudflap/Makefile.am.symbolic	2006-11-18 06:27:15.000000000 -0800
+++ gcc/libmudflap/Makefile.am	2007-01-12 07:45:02.000000000 -0800
@@ -34,7 +34,7 @@ libmudflap_la_SOURCES = \
 	mf-hooks2.c
 libmudflap_la_LIBADD = 
 libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD)
-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(extra_ldflags_libmudflap)
 
 clean-local:
 	rm -f pth/*.o pth/*.lo
@@ -59,7 +59,7 @@ libmudflapth_la_LIBADD = \
 	pth/mf-hooks2.lo \
 	pth/mf-hooks3.lo
 libmudflapth_la_DEPENDENCIES = $(libmudflapth_la_LIBADD)
-libmudflapth_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libmudflapth_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(extra_ldflags_libmudflap)
 
 
 # XXX hack alert
--- gcc/libmudflap/Makefile.in.symbolic	2006-11-18 06:27:15.000000000 -0800
+++ gcc/libmudflap/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -50,7 +50,10 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
 	$(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/../config/enable.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../config/lead-dot.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -192,6 +195,7 @@ datadir = @datadir@
 enable_shared = @enable_shared@
 enable_static = @enable_static@
 exec_prefix = @exec_prefix@
+extra_ldflags_libmudflap = @extra_ldflags_libmudflap@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -241,7 +245,7 @@ libmudflap_la_SOURCES = \
 
 libmudflap_la_LIBADD = 
 libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD)
-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(extra_ldflags_libmudflap)
 libmudflapth_la_SOURCES = 
 libmudflapth_la_LIBADD = \
 	pth/mf-runtime.lo \
@@ -251,7 +255,7 @@ libmudflapth_la_LIBADD = \
 	pth/mf-hooks3.lo
 
 libmudflapth_la_DEPENDENCIES = $(libmudflapth_la_LIBADD)
-libmudflapth_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libmudflapth_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(extra_ldflags_libmudflap)
 
 # XXX hack alert
 # From libffi/Makefile.am
--- gcc/libmudflap/configure.ac.symbolic	2006-11-18 06:27:15.000000000 -0800
+++ gcc/libmudflap/configure.ac	2007-01-12 07:45:02.000000000 -0800
@@ -256,6 +256,9 @@ fi
 AC_DEFINE_UNQUOTED([ENTRY_POINT], [$mudflap_cv_entry_point],
   [Define to the name of the symbol used for the entry point.])
 
+ACX_PROG_LD_GNU_SYMBOLIC
+extra_ldflags_libmudflap=$SYMBOLIC_LDFLAGS
+AC_SUBST(extra_ldflags_libmudflap)
 
 if test ${multilib} = yes; then
   multilib_arg="--enable-multilib"
--- gcc/libobjc/configure.ac.symbolic	2006-11-18 06:27:04.000000000 -0800
+++ gcc/libobjc/configure.ac	2007-01-12 07:45:02.000000000 -0800
@@ -156,12 +156,17 @@ m4_define([_AC_ARG_VAR_PRECIOUS],[])
 AC_PROG_CC
 m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
 
+ACX_PROG_LD_GNU_SYMBOLIC
+
 # extra LD Flags which are required for targets
 case "${host}" in
   *-darwin*)
     # Darwin needs -single_module when linking libobjc
     extra_ldflags_libobjc=-Wl,-single_module
     ;;
+  *)
+    extra_ldflags_libobjc=$SYMBOLIC_LDFLAGS
+    ;;
 esac
 AC_SUBST(extra_ldflags_libobjc)
 
--- gcc/libssp/Makefile.am.symbolic	2006-11-18 06:27:24.000000000 -0800
+++ gcc/libssp/Makefile.am	2007-01-12 07:45:02.000000000 -0800
@@ -35,7 +35,7 @@ libssp_la_SOURCES = \
 libssp_la_LIBADD = 
 libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
 libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
-		    $(version_arg)
+		    $(version_arg) $(extra_ldflags_libssp)
 
 libssp_nonshared_la_SOURCES = \
 	ssp-local.c
--- gcc/libssp/Makefile.in.symbolic	2006-11-18 06:27:24.000000000 -0800
+++ gcc/libssp/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.9.5 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,8 +15,6 @@
 @SET_MAKE@
 
 
-SOURCES = $(libssp_la_SOURCES) $(libssp_nonshared_la_SOURCES)
-
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 VPATH = @srcdir@
@@ -52,7 +50,10 @@ subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
 	$(top_srcdir)/../config/depstand.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../config/lead-dot.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
@@ -182,6 +183,7 @@ datadir = @datadir@
 enable_shared = @enable_shared@
 enable_static = @enable_static@
 exec_prefix = @exec_prefix@
+extra_ldflags_libssp = @extra_ldflags_libssp@
 host = @host@
 host_alias = @host_alias@
 host_cpu = @host_cpu@
@@ -234,7 +236,7 @@ libssp_la_SOURCES = \
 libssp_la_LIBADD = 
 libssp_la_DEPENDENCIES = $(version_dep) $(libssp_la_LIBADD)
 libssp_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
-		    $(version_arg)
+		    $(version_arg) $(extra_ldflags_libssp)
 
 libssp_nonshared_la_SOURCES = \
 	ssp-local.c
--- gcc/libssp/configure.ac.symbolic	2006-11-18 06:27:24.000000000 -0800
+++ gcc/libssp/configure.ac	2007-01-12 07:45:02.000000000 -0800
@@ -164,6 +164,10 @@ esac
 AC_SUBST(toolexecdir)
 AC_SUBST(toolexeclibdir)
 
+ACX_PROG_LD_GNU_SYMBOLIC
+extra_ldflags_libssp=$SYMBOLIC_LDFLAGS
+AC_SUBST(extra_ldflags_libssp)
+
 if test ${multilib} = yes; then
   multilib_arg="--enable-multilib"
 else
--- gcc/libstdc++-v3/Makefile.in.symbolic	2006-11-18 06:27:00.000000000 -0800
+++ gcc/libstdc++-v3/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -50,6 +50,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../config/unwind_ipinfo.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
 	$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
--- gcc/libstdc++-v3/configure.ac.symbolic	2006-11-18 06:27:00.000000000 -0800
+++ gcc/libstdc++-v3/configure.ac	2007-01-12 07:45:02.000000000 -0800
@@ -403,5 +403,8 @@ _EOF
 SUBDIRS="$SUBDIRS"
 ])
 
+ACX_PROG_LD_GNU_DYNAMIC_LIST_CPP_NEW
+OPT_LDFLAGS="$OPT_LDFLAGS $DYNAMIC_LIST_CPP_NEW_LDFLAGS"
+
 dnl And this actually makes things happen:
 AC_OUTPUT
--- gcc/libstdc++-v3/include/Makefile.in.symbolic	2006-12-07 17:07:03.000000000 -0800
+++ gcc/libstdc++-v3/include/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -45,6 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../config/unwind_ipinfo.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
 	$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
--- gcc/libstdc++-v3/libmath/Makefile.in.symbolic	2006-11-18 06:26:24.000000000 -0800
+++ gcc/libstdc++-v3/libmath/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -45,6 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../config/unwind_ipinfo.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
 	$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
--- gcc/libstdc++-v3/libsupc++/Makefile.in.symbolic	2006-11-18 06:26:35.000000000 -0800
+++ gcc/libstdc++-v3/libsupc++/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -47,6 +47,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../config/unwind_ipinfo.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
 	$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
--- gcc/libstdc++-v3/po/Makefile.in.symbolic	2006-11-18 06:27:00.000000000 -0800
+++ gcc/libstdc++-v3/po/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -45,6 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../config/unwind_ipinfo.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
 	$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
--- gcc/libstdc++-v3/src/Makefile.in.symbolic	2006-11-18 06:26:36.000000000 -0800
+++ gcc/libstdc++-v3/src/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -45,6 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../config/unwind_ipinfo.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
 	$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac
--- gcc/libstdc++-v3/testsuite/Makefile.in.symbolic	2006-11-18 06:26:56.000000000 -0800
+++ gcc/libstdc++-v3/testsuite/Makefile.in	2007-01-12 07:45:02.000000000 -0800
@@ -45,6 +45,8 @@ am__aclocal_m4_deps = $(top_srcdir)/../c
 	$(top_srcdir)/../config/multi.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../config/unwind_ipinfo.m4 \
+	$(top_srcdir)/../config/lib-ld.m4 \
+	$(top_srcdir)/../config/ld-symbolic.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/crossconfig.m4 \
 	$(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/../config/tls.m4 $(top_srcdir)/configure.ac


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