Commit 76b972d6 by H.J. Lu

ld-symbolic.m4: New.

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.

From-SVN: r120773
parent c89686a8
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>
......
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
])
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.
2007-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
* sysdep/sh/locks.h (read_barrier): New.
......
......@@ -230,7 +230,8 @@ xlib_nat_files = $(xlib_nat_source_files:.cc=.lo)
## 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/Object.java
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)
......
......@@ -83,6 +83,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(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:.cc=.lo)
# 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/Object.java
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++-v3/src/libstdc++.la \
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)
......
......@@ -909,6 +909,7 @@ m4_include([../config/enable.m4])
m4_include([../config/gxx-include-dir.m4])
m4_include([../config/iconv.m4])
m4_include([../config/lcmessage.m4])
m4_include([../config/ld-symbolic.m4])
m4_include([../config/lead-dot.m4])
m4_include([../config/lib-ld.m4])
m4_include([../config/lib-link.m4])
......
......@@ -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
......
......@@ -48,6 +48,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(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 \
......@@ -166,6 +167,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@
......
......@@ -47,6 +47,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(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 \
......@@ -165,6 +166,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@
......
......@@ -45,6 +45,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(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 \
......@@ -154,6 +155,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@
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment