From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17475 invoked by alias); 12 Jan 2007 18:52:46 -0000 Received: (qmail 17448 invoked by uid 22791); 12 Jan 2007 18:52:41 -0000 X-Spam-Check-By: sourceware.org Received: from smtp110.sbc.mail.mud.yahoo.com (HELO smtp110.sbc.mail.mud.yahoo.com) (68.142.198.209) by sourceware.org (qpsmtpd/0.31) with SMTP; Fri, 12 Jan 2007 18:52:27 +0000 Received: (qmail 91002 invoked from network); 12 Jan 2007 18:52:25 -0000 Received: from unknown (HELO lucon.org) (hjjean@sbcglobal.net@71.146.90.243 with login) by smtp110.sbc.mail.mud.yahoo.com with SMTP; 12 Jan 2007 18:52:24 -0000 Received: by lucon.org (Postfix, from userid 500) id B355546EE93; Fri, 12 Jan 2007 10:52:22 -0800 (PST) Date: Fri, 12 Jan 2007 18:52:00 -0000 From: "H. J. Lu" To: Paolo Bonzini Cc: gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: Re: PATCH: Build shared libraries with -Bsymbolic-functions Message-ID: <20070112185222.GA3490@lucon.org> References: <20070109192047.GA32254@lucon.org> <20070110142929.GA22520@lucon.org> <20070110190338.GA21785@lucon.org> <45A5EF5E.70307@lu.unisi.ch> <20070111181524.GA29589@lucon.org> <45A682F1.1090707@lu.unisi.ch> <20070111200843.GA30137@lucon.org> <45A73F76.8040800@lu.unisi.ch> <20070112143856.GA4255@lucon.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070112143856.GA4255@lucon.org> User-Agent: Mutt/1.4.2.2i X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-01/txt/msg01105.txt.bz2 On Fri, Jan 12, 2007 at 06:38:56AM -0800, H. J. Lu wrote: > On Fri, Jan 12, 2007 at 08:57:42AM +0100, Paolo Bonzini wrote: > > > > >libjava will use -Bsymbolic on Linux, which is more aggresive than > > >-Bsymbol-functions. It will bind global data references locally in > > >additon to global function references. My patch will keep -Bsymbolic > > >for libjava if it is set by libjava/configure.host. > > > > > >Here is an updated patch. > > > > The configury logic is fine by me, but please wait for approval at least > > from the libjava and libstdc++ maintainers since I don't understand > > fully the consequences of the -Bsymbolic stuff. Could it be considered > > an ABI change, in that programs previously overriding some symbols will > > break? (Sorry if the question is dumb). > > My change should allow programs to override functions which are > overridable as specified in language standards. That is why I build > libstdc++.so with --dynamic-list-cpp-new so that programs can override > C++ operator new/delete. Programs depending on overriding function > symbols, which aren't overridable in language standards, are broken. > In theory, you can have a huge .o file containing all library > functions which aren't overridable in language standard. You > won't be able to override any of those functions when that .o file > is linked in statically. > > 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. H.J. ---- config/ 2007-01-12 H.J. Lu * ld-symbolic.m4: New. libffi/ 2007-01-12 H.J. Lu * 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 * 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 * 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 * configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC. Add $SYMBOLIC_LDFLAGS to OPT_LDFLAGS. * configure: Regenerated. * aclocal.m4: Likewise. * Makefile.in: Likewise. libjava/ 2007-01-12 H.J. Lu * Makefile.am (libgcj_la_LDFLAGS): Add $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS). (libgcj_tools_la_LDFLAGS): Likewise. (libgcj_bc_la_LDFLAGS): Likewise. * Makefile.in: Regenerated. * configure.ac: Use ACX_PROG_LD_GNU_SYMBOLIC. Set LIBGCJ_LD_SYMBOLIC_FUNCTIONS to $SYMBOLIC_LDFLAGS. Set libgcj_ld_symbolic to $SYMBOLIC_LDFLAGS if it isn't set. Substitute LIBGCJ_LD_SYMBOLIC_FUNCTIONS. * configure: Regenerated. * aclocal.m4: Likewise. * gcj/Makefile.in: Likewise. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. libmudflap/ 2007-01-12 H.J. Lu * 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 * 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 * 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 * 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/config/ld-symbolic.m4.symbolic 2007-01-12 07:45:01.000000000 -0800 +++ gcc/config/ld-symbolic.m4 2007-01-12 07:45:01.000000000 -0800 @@ -0,0 +1,45 @@ +dnl Copyright (C) 2007 Free Software Foundation, Inc. +dnl This file is free software, distributed under the terms of the GNU +dnl General Public License. As a special exception to the GNU General +dnl Public License, this file may be distributed as part of a program +dnl that contains a configuration script generated by Autoconf, under +dnl the same distribution terms as the rest of that program. + +dnl Set SYMBOLIC_LDFLAGS to -Bsymbolic-functions for GNU linker if it +dnl is supported. +AC_DEFUN([ACX_PROG_LD_GNU_SYMBOLIC], +[AC_CACHE_CHECK([if the GNU linker ($LD) supports -Bsymbolic-functions], +acl_cv_prog_gnu_ld_symbolic, [ +acl_cv_prog_gnu_ld_symbolic=no +AC_REQUIRE([AC_LIB_PROG_LD_GNU]) +if test x"$with_gnu_ld" = x"yes"; then + if $LD --help 2>&1 &5; then + acl_cv_prog_gnu_ld_symbolic=yes + fi +fi]) +if test x"$acl_cv_prog_gnu_ld_symbolic" = x"yes"; then + SYMBOLIC_LDFLAGS="-Wl,-Bsymbolic-functions" +else + SYMBOLIC_LDFLAGS='' +fi +]) + +dnl Set DYNAMIC_LIST_CPP_NEW_LDFLAGS to --dynamic-list-cpp-new for GNU +dnl linker if it is supported. +AC_DEFUN([ACX_PROG_LD_GNU_DYNAMIC_LIST_CPP_NEW], +[AC_CACHE_CHECK([if the GNU linker ($LD) supports --dynamic-list-cpp-new], +acl_cv_prog_gnu_ld_dynamic_list_cpp_new, [ +acl_cv_prog_gnu_ld_dynamic_list_cpp_new=no +AC_REQUIRE([ACX_PROG_LD_GNU_SYMBOLIC]) +if test x"$with_gnu_ld" = x"yes" -a \ + x"$acl_cv_prog_gnu_ld_symbolic" = x"yes"; then + if $LD --help 2>&1 &5; then + acl_cv_prog_gnu_ld_dynamic_list_cpp_new=yes + fi +fi]) +if test x"$acl_cv_prog_gnu_ld_dynamic_list_cpp_new" = x"yes"; then + DYNAMIC_LIST_CPP_NEW_LDFLAGS="$SYMBOLIC_LDFLAGS -Wl,--dynamic-list-cpp-new" +else + DYNAMIC_LIST_CPP_NEW_LDFLAGS='' +fi +]) --- 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/libjava/Makefile.am.symbolic 2007-01-11 09:29:13.000000000 -0800 +++ gcc/libjava/Makefile.am 2007-01-12 07:45:02.000000000 -0800 @@ -230,7 +230,8 @@ xlib_nat_files = $(xlib_nat_source_files ## The mysterious backslash in the grep pattern is consumed by make. libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \ $(LIBLTDL) $(SYS_ZLIBS) \ - -version-info `grep -v '^\#' $(srcdir)/libtool-version` + -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) libgcj_la_LIBADD = \ classpath/native/fdlibm/libfdlibm.la \ java/lang/Object.lo \ @@ -256,7 +257,8 @@ EXTRA_libgcj_la_SOURCES = java/lang/Obje libgcj_tools_la_SOURCES = classpath/tools/tools.zip libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \ - -version-info `grep -v '^\#' $(srcdir)/libtool-version` + -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec libgcj_tools_la_LINK = $(LIBLINK) @@ -299,7 +301,8 @@ lib_gnu_awt_xlib_la_LINK = $(LIBLINK) ## ## This lets us have one soname in BC objects and another in C++ ABI objects. libgcj_bc_la_SOURCES = libgcj_bc.c -libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 +libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 \ + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) libgcj_bc_la_LIBADD = libgcj.la libgcj_bc_la_DEPENDENCIES = libgcj.la libgcj_bc_la_LINK = $(LIBLINK) --- gcc/libjava/Makefile.in.symbolic 2007-01-12 07:42:03.000000000 -0800 +++ gcc/libjava/Makefile.in 2007-01-12 07:45:02.000000000 -0800 @@ -83,6 +83,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/gxx-include-dir.m4 \ $(top_srcdir)/../config/iconv.m4 \ $(top_srcdir)/../config/lcmessage.m4 \ + $(top_srcdir)/../config/ld-symbolic.m4 \ $(top_srcdir)/../config/lead-dot.m4 \ $(top_srcdir)/../config/lib-ld.m4 \ $(top_srcdir)/../config/lib-link.m4 \ @@ -619,6 +620,7 @@ LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@ LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@ LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@ LIBGCJ_LD_SYMBOLIC = @LIBGCJ_LD_SYMBOLIC@ +LIBGCJ_LD_SYMBOLIC_FUNCTIONS = @LIBGCJ_LD_SYMBOLIC_FUNCTIONS@ LIBGCJ_SPEC = @LIBGCJ_SPEC@ LIBICONV = @LIBICONV@ LIBLTDL = @LIBLTDL@ @@ -872,7 +874,8 @@ xlib_nat_files = $(xlib_nat_source_files # certain linuxthread functions get linked: libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \ $(LIBLTDL) $(SYS_ZLIBS) \ - -version-info `grep -v '^\#' $(srcdir)/libtool-version` + -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) libgcj_la_LIBADD = \ classpath/native/fdlibm/libfdlibm.la \ @@ -896,7 +899,8 @@ EXTRA_libgcj_la_SOURCES = java/lang/Obje libgcj_tools_la_SOURCES = classpath/tools/tools.zip libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \ - -version-info `grep -v '^\#' $(srcdir)/libtool-version` + -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec libgcj_tools_la_LINK = $(LIBLINK) @@ -923,7 +927,9 @@ lib_gnu_awt_xlib_la_LDFLAGS = ../libstdc lib_gnu_awt_xlib_la_LINK = $(LIBLINK) libgcj_bc_la_SOURCES = libgcj_bc.c -libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 +libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 \ + $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) + libgcj_bc_la_LIBADD = libgcj.la libgcj_bc_la_DEPENDENCIES = libgcj.la libgcj_bc_la_LINK = $(LIBLINK) --- gcc/libjava/configure.ac.symbolic 2007-01-09 16:20:44.000000000 -0800 +++ gcc/libjava/configure.ac 2007-01-12 07:45:02.000000000 -0800 @@ -173,14 +173,22 @@ libgcj_javaflags= . ${srcdir}/configure.host +ACX_PROG_LD_GNU_SYMBOLIC +libgcj_ld_symbolic_functions=$SYMBOLIC_LDFLAGS +if test -z "$libgcj_ld_symbolic"; then + libgcj_ld_symbolic=$SYMBOLIC_LDFLAGS +fi + LIBGCJ_CFLAGS="${libgcj_cflags}" LIBGCJ_CXXFLAGS="${libgcj_cxxflags}" LIBGCJ_JAVAFLAGS="${libgcj_javaflags}" LIBGCJ_LD_SYMBOLIC="${libgcj_ld_symbolic}" +LIBGCJ_LD_SYMBOLIC_FUNCTIONS="${libgcj_ld_symbolic_functions}" AC_SUBST(LIBGCJ_CFLAGS) AC_SUBST(LIBGCJ_CXXFLAGS) AC_SUBST(LIBGCJ_JAVAFLAGS) AC_SUBST(LIBGCJ_LD_SYMBOLIC) +AC_SUBST(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) # Only use libltdl for non-newlib builds. if test "x${with_newlib}" = "x" || test "x${with_newlib}" = "xno"; then --- gcc/libjava/gcj/Makefile.in.symbolic 2007-01-09 16:20:35.000000000 -0800 +++ gcc/libjava/gcj/Makefile.in 2007-01-12 07:45:02.000000000 -0800 @@ -55,6 +55,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/tls.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../config/ld-symbolic.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/mingwld.m4 \ $(top_srcdir)/pkg.m4 $(top_srcdir)/shlibpath.m4 \ $(top_srcdir)/configure.ac --- gcc/libjava/include/Makefile.in.symbolic 2007-01-09 16:20:20.000000000 -0800 +++ gcc/libjava/include/Makefile.in 2007-01-12 07:45:02.000000000 -0800 @@ -54,6 +54,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/tls.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../config/ld-symbolic.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/mingwld.m4 \ $(top_srcdir)/pkg.m4 $(top_srcdir)/shlibpath.m4 \ $(top_srcdir)/configure.ac --- gcc/libjava/testsuite/Makefile.in.symbolic 2007-01-09 16:20:23.000000000 -0800 +++ gcc/libjava/testsuite/Makefile.in 2007-01-12 07:45:02.000000000 -0800 @@ -52,6 +52,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../c $(top_srcdir)/../config/no-executables.m4 \ $(top_srcdir)/../config/tls.m4 \ $(top_srcdir)/../config/unwind_ipinfo.m4 \ + $(top_srcdir)/../config/ld-symbolic.m4 \ $(top_srcdir)/../libtool.m4 $(top_srcdir)/mingwld.m4 \ $(top_srcdir)/pkg.m4 $(top_srcdir)/shlibpath.m4 \ $(top_srcdir)/configure.ac --- 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