Commit 47742ccd by Jakub Jelinek Committed by Jakub Jelinek

configure.ac (libjava_cv_anon_version_script): New test.

	* configure.ac (libjava_cv_anon_version_script): New test.
	(ANONVERSCRIPT): New AM_CONDITIONAL.
	* configure: Rebuilt.
	* Makefile.am (extra_ldflags_libjava): Link with -Wl,--version-script
	if ANONVERSCRIPT.
	* Makefile.in: Rebuilt.
	(libgcj_la_DEPENDENCIES): Depend on libgcj.ver.
	* libgcj.ver: New file.

From-SVN: r121499
parent 8aaf4681
2007-02-02 Jakub Jelinek <jakub@redhat.com>
* configure.ac (libjava_cv_anon_version_script): New test.
(ANONVERSCRIPT): New AM_CONDITIONAL.
* configure: Rebuilt.
* Makefile.am (extra_ldflags_libjava): Link with -Wl,--version-script
if ANONVERSCRIPT.
* Makefile.in: Rebuilt.
(libgcj_la_DEPENDENCIES): Depend on libgcj.ver.
* libgcj.ver: New file.
2007-02-01 David Daney <ddaney@avtrex.com> 2007-02-01 David Daney <ddaney@avtrex.com>
* scripts/makemake.tcl: Replace gnu/xml build with build of all * scripts/makemake.tcl: Replace gnu/xml build with build of all
......
...@@ -101,6 +101,10 @@ GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated ...@@ -101,6 +101,10 @@ GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated
extra_ldflags_libjava = @extra_ldflags_libjava@ extra_ldflags_libjava = @extra_ldflags_libjava@
if ANONVERSCRIPT
extra_ldflags_libjava += -Wl,--version-script=$(srcdir)/libgcj.ver
endif
GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \ GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \
$(LDFLAGS) -o $@ $(LDFLAGS) -o $@
GCJ_FOR_ECJX = @GCJ_FOR_ECJX@ GCJ_FOR_ECJX = @GCJ_FOR_ECJX@
...@@ -246,6 +250,9 @@ libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar \ ...@@ -246,6 +250,9 @@ libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar \
java/process-$(PLATFORM).lo \ java/process-$(PLATFORM).lo \
$(all_packages_source_files:.list=.lo) \ $(all_packages_source_files:.list=.lo) \
$(LIBLTDL) $(libgcj_la_LIBADD) $(LIBLTDL) $(libgcj_la_LIBADD)
if ANONVERSCRIPT
libgcj_la_DEPENDENCIES += $(srcdir)/libgcj.ver
endif
libgcj_la_LINK = $(LIBLINK) libgcj_la_LINK = $(LIBLINK)
## A hack to make sure the various gcj-related macros, like ## A hack to make sure the various gcj-related macros, like
......
...@@ -53,15 +53,17 @@ target_triplet = @target@ ...@@ -53,15 +53,17 @@ target_triplet = @target@
@NATIVE_TRUE@ grmid$(EXEEXT) gserialver$(EXEEXT) \ @NATIVE_TRUE@ grmid$(EXEEXT) gserialver$(EXEEXT) \
@NATIVE_TRUE@ gtnameserv$(EXEEXT) @NATIVE_TRUE@ gtnameserv$(EXEEXT)
@BUILD_ECJ1_TRUE@libexecsub_PROGRAMS = ecjx$(EXEEXT) @BUILD_ECJ1_TRUE@libexecsub_PROGRAMS = ecjx$(EXEEXT)
@USING_GCC_TRUE@am__append_5 = $(WARNINGS) @ANONVERSCRIPT_TRUE@am__append_5 = -Wl,--version-script=$(srcdir)/libgcj.ver
@USING_BOEHMGC_TRUE@am__append_6 = boehm.cc @USING_GCC_TRUE@am__append_6 = $(WARNINGS)
@USING_NOGC_TRUE@am__append_7 = nogc.cc @USING_BOEHMGC_TRUE@am__append_7 = boehm.cc
@USING_POSIX_PLATFORM_TRUE@am__append_8 = posix.cc @USING_NOGC_TRUE@am__append_8 = nogc.cc
@USING_WIN32_PLATFORM_TRUE@am__append_9 = win32.cc @USING_POSIX_PLATFORM_TRUE@am__append_9 = posix.cc
@USING_DARWIN_CRT_TRUE@am__append_10 = darwin.cc @USING_WIN32_PLATFORM_TRUE@am__append_10 = win32.cc
@USING_POSIX_THREADS_TRUE@am__append_11 = posix-threads.cc @USING_DARWIN_CRT_TRUE@am__append_11 = darwin.cc
@USING_WIN32_THREADS_TRUE@am__append_12 = win32-threads.cc @USING_POSIX_THREADS_TRUE@am__append_12 = posix-threads.cc
@USING_NO_THREADS_TRUE@am__append_13 = no-threads.cc @USING_WIN32_THREADS_TRUE@am__append_13 = win32-threads.cc
@USING_NO_THREADS_TRUE@am__append_14 = no-threads.cc
@ANONVERSCRIPT_TRUE@am__append_15 = $(srcdir)/libgcj.ver
DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
$(srcdir)/../config.guess $(srcdir)/../config.sub \ $(srcdir)/../config.guess $(srcdir)/../config.sub \
$(srcdir)/../depcomp $(srcdir)/../install-sh \ $(srcdir)/../depcomp $(srcdir)/../install-sh \
...@@ -73,8 +75,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \ ...@@ -73,8 +75,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \
$(top_srcdir)/scripts/jar.in COPYING ChangeLog NEWS THANKS $(top_srcdir)/scripts/jar.in COPYING ChangeLog NEWS THANKS
@MAINTAINER_MODE_TRUE@@NATIVE_TRUE@noinst_PROGRAMS = \ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@noinst_PROGRAMS = \
@MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ gen-from-JIS$(EXEEXT) @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ gen-from-JIS$(EXEEXT)
@NATIVE_TRUE@@USE_LIBGCJ_BC_TRUE@am__append_14 = libgcj_bc.la @NATIVE_TRUE@@USE_LIBGCJ_BC_TRUE@am__append_16 = libgcj_bc.la
@XLIB_AWT_TRUE@am__append_15 = $(xlib_nat_headers) @XLIB_AWT_TRUE@am__append_17 = $(xlib_nat_headers)
subdir = . subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
...@@ -545,6 +547,8 @@ ALLOCA = @ALLOCA@ ...@@ -545,6 +547,8 @@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@ AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
ANONVERSCRIPT_FALSE = @ANONVERSCRIPT_FALSE@
ANONVERSCRIPT_TRUE = @ANONVERSCRIPT_TRUE@
AR = @AR@ AR = @AR@
AS = @AS@ AS = @AS@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
...@@ -738,7 +742,7 @@ build_vendor = @build_vendor@ ...@@ -738,7 +742,7 @@ build_vendor = @build_vendor@
datadir = @datadir@ datadir = @datadir@
dbexecdir = @dbexecdir@ dbexecdir = @dbexecdir@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
extra_ldflags_libjava = @extra_ldflags_libjava@ extra_ldflags_libjava = @extra_ldflags_libjava@ $(am__append_5)
gxx_include_dir = @gxx_include_dir@ gxx_include_dir = @gxx_include_dir@
here = @here@ here = @here@
host = @host@ host = @host@
...@@ -849,7 +853,7 @@ AM_GCJFLAGS = \ ...@@ -849,7 +853,7 @@ AM_GCJFLAGS = \
--encoding=UTF-8 \ --encoding=UTF-8 \
-Wno-deprecated -fbootstrap-classes -Wno-deprecated -fbootstrap-classes
AM_CFLAGS = @LIBGCJ_CFLAGS@ $(am__append_5) AM_CFLAGS = @LIBGCJ_CFLAGS@ $(am__append_6)
PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
JCFLAGS = -g JCFLAGS = -g
JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS) JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
...@@ -870,9 +874,9 @@ libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \ ...@@ -870,9 +874,9 @@ libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \
libgcj_la_SOURCES = prims.cc jni.cc jvmti.cc exception.cc \ libgcj_la_SOURCES = prims.cc jni.cc jvmti.cc exception.cc \
stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \ stacktrace.cc link.cc defineclass.cc interpret.cc verify.cc \
$(nat_source_files) $(am__append_6) $(am__append_7) \ $(nat_source_files) $(am__append_7) $(am__append_8) \
$(am__append_8) $(am__append_9) $(am__append_10) \ $(am__append_9) $(am__append_10) $(am__append_11) \
$(am__append_11) $(am__append_12) $(am__append_13) $(am__append_12) $(am__append_13) $(am__append_14)
nat_files = $(nat_source_files:.cc=.lo) nat_files = $(nat_source_files:.cc=.lo)
xlib_nat_files = $(xlib_nat_source_files:.cc=.lo) xlib_nat_files = $(xlib_nat_source_files:.cc=.lo)
...@@ -893,13 +897,10 @@ libgcj_la_LIBADD = \ ...@@ -893,13 +897,10 @@ libgcj_la_LIBADD = \
$(propertyo_files) \ $(propertyo_files) \
$(LIBFFI) $(ZLIBS) $(GCLIBS) $(LIBFFI) $(ZLIBS) $(GCLIBS)
libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar \ libgcj_la_DEPENDENCIES = libgcj-$(gcc_version).jar java/lang/Object.lo \
java/lang/Object.lo \ java/lang/Class.lo java/process-$(PLATFORM).lo \
java/lang/Class.lo \ $(all_packages_source_files:.list=.lo) $(LIBLTDL) \
java/process-$(PLATFORM).lo \ $(libgcj_la_LIBADD) $(am__append_15)
$(all_packages_source_files:.list=.lo) \
$(LIBLTDL) $(libgcj_la_LIBADD)
libgcj_la_LINK = $(LIBLINK) libgcj_la_LINK = $(LIBLINK)
EXTRA_libgcj_la_SOURCES = java/lang/Object.java EXTRA_libgcj_la_SOURCES = java/lang/Object.java
libgcj_tools_la_SOURCES = classpath/tools/tools.zip libgcj_tools_la_SOURCES = classpath/tools/tools.zip
...@@ -7836,7 +7837,7 @@ ECJX_BASE_FLAGS = -findirect-dispatch \ ...@@ -7836,7 +7837,7 @@ ECJX_BASE_FLAGS = -findirect-dispatch \
@NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs libgcj.la @NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs libgcj.la
@NATIVE_FALSE@ecjx_DEPENDENCIES = @NATIVE_FALSE@ecjx_DEPENDENCIES =
@NATIVE_TRUE@ecjx_DEPENDENCIES = libgcj.la libgcj.spec \ @NATIVE_TRUE@ecjx_DEPENDENCIES = libgcj.la libgcj.spec \
@NATIVE_TRUE@ $(am__append_14) @NATIVE_TRUE@ $(am__append_16)
gappletviewer_SOURCES = gappletviewer_SOURCES =
gappletviewer_LDFLAGS = --main=gnu.classpath.tools.appletviewer.Main \ gappletviewer_LDFLAGS = --main=gnu.classpath.tools.appletviewer.Main \
-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS) -rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS)
...@@ -8027,7 +8028,7 @@ gnu/gcj/xlib/natXImage.cc \ ...@@ -8027,7 +8028,7 @@ gnu/gcj/xlib/natXImage.cc \
gnu/gcj/xlib/natXUnmapEvent.cc gnu/gcj/xlib/natXUnmapEvent.cc
sourcesdir = $(jardir) sourcesdir = $(jardir)
headers_to_make = $(nat_headers) $(am__append_15) headers_to_make = $(nat_headers) $(am__append_17)
# Work around what appears to be a GNU make bug handling MAKEFLAGS # Work around what appears to be a GNU make bug handling MAKEFLAGS
# values defined in terms of make variables, as is the case for CC and # values defined in terms of make variables, as is the case for CC and
......
...@@ -1553,6 +1553,19 @@ GCC_CHECK_TLS ...@@ -1553,6 +1553,19 @@ GCC_CHECK_TLS
# For _Unwind_GetIPInfo. # For _Unwind_GetIPInfo.
GCC_CHECK_UNWIND_GETIPINFO GCC_CHECK_UNWIND_GETIPINFO
# See if linker supports anonymous version scripts.
AC_CACHE_CHECK([whether ld supports anonymous version scripts],
[libjava_cv_anon_version_script],
[save_CFLAGS="$CFLAGS"; save_LDFLAGS="$LDFLAGS"
libjava_cv_anon_version_script=no
CFLAGS="$CFLAGS -fPIC"; LDFLAGS="$LDFLAGS -shared -Wl,--version-script,conftest.map"
echo '{ global: globalsymb*; local: *; };' > conftest.map
AC_TRY_LINK(void globalsymbol (void) {} void localsymbol (void) {},,
[libjava_cv_anon_version_script=yes], [])
CFLAGS="$save_CFLAGS"; LDFLAGS="$save_LDFLAGS"
])
AM_CONDITIONAL(ANONVERSCRIPT, test "$libjava_cv_anon_version_script" = yes)
# Check if linker supports static linking on a per library basis # Check if linker supports static linking on a per library basis
LD_START_STATIC_SPEC= LD_START_STATIC_SPEC=
LD_FINISH_STATIC_SPEC= LD_FINISH_STATIC_SPEC=
......
# Anonymous GNU ld version script to hide boehm-gc, libffi and fdlibm
# symbols in libgcj.so.
{
global: Jv*; _Jv_*; __gcj_personality_v0; _Z*;
local: *;
};
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