summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-14 15:38:18 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-14 15:38:18 +0000
commit157df58cddf8cdfc7082a2f1899405f08cede0db (patch)
treeea1d5087ddb4d800e3325325d953392f72507ce3 /config
parent12441a18b7d9deafcf793d7802dd9bb9077f8cdf (diff)
downloadgcc-157df58cddf8cdfc7082a2f1899405f08cede0db.tar.gz
config/
2007-01-14 H.J. Lu <hongjiu.lu@intel.com> * ld-symbolic.m4: New. libjava/ 2007-01-14 H.J. Lu <hongjiu.lu@intel.com> * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120773 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'config')
-rw-r--r--config/ChangeLog8
-rw-r--r--config/ld-symbolic.m445
2 files changed, 51 insertions, 2 deletions
diff --git a/config/ChangeLog b/config/ChangeLog
index 225e57629ba..bf596163c93 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,7 +1,11 @@
+2007-01-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-symbolic.m4: New.
+
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
- * warnings.m4: Use m4_expand_once to clear the AC_SUBST'ed variable.
- (ACX_PROG_CC_WARNINGS_ARE_ERRORS): Fix typo. Add optional 2nd argument.
+ * warnings.m4: Use m4_expand_once to clear the AC_SUBST'ed variable.
+ (ACX_PROG_CC_WARNINGS_ARE_ERRORS): Fix typo. Add optional 2nd argument.
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
diff --git a/config/ld-symbolic.m4 b/config/ld-symbolic.m4
new file mode 100644
index 00000000000..16d64f9ad38
--- /dev/null
+++ b/config/ld-symbolic.m4
@@ -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 </dev/null | grep Bsymbolic-functions 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 </dev/null | grep dynamic-list-cpp-new 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
+])