This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix linking with -findirect-dispatch
- From: Andreas Schwab <schwab at suse dot de>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: java-patches at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Tue, 16 Apr 2013 18:13:14 +0200
- Subject: Re: [PATCH] Fix linking with -findirect-dispatch
- References: <mvmy5ciub3i dot fsf at hawking dot suse dot de> <20130416083855 dot GM12880 at tucnak dot redhat dot com> <mvmppxuu9c0 dot fsf at hawking dot suse dot de> <20130416091929 dot GN12880 at tucnak dot redhat dot com> <mvmli8iu88s dot fsf at hawking dot suse dot de> <20130416094852 dot GO12880 at tucnak dot redhat dot com> <mvmhaj6u7a5 dot fsf at hawking dot suse dot de> <20130416100851 dot GP12880 at tucnak dot redhat dot com> <mvmd2tuu6o5 dot fsf at hawking dot suse dot de> <20130416102601 dot GQ12880 at tucnak dot redhat dot com>
Jakub Jelinek <jakub@redhat.com> writes:
> I'm pretty sure when the changes were added for gcc 4.2 it worked just fine,
I'm pretty sure it never worked as intented.
Andreas.
* Makefile.am (toolexeclib_LTLIBRARIES) [USE_LIBGCJ_BC]: Use
install/libgcj_bc.la instead of libgcj_bc.la.
(noinst_LTLIBRARIES) [USE_LIBGCJ_BC]: Define.
(install_libgcj_bc_la_SOURCES): Define.
(install/libgcj_bc.la): New rule.
* Makefile.in: Rebuild.
---
libjava/Makefile.am | 9 +++++-
libjava/Makefile.in | 92 +++++++++++++++++++++++++++++++++++------------------
2 files changed, 69 insertions(+), 32 deletions(-)
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index a4941a9..208e632 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -212,7 +212,8 @@ LIBJAVA_CORE_EXTRA =
endif
if USE_LIBGCJ_BC
-toolexeclib_LTLIBRARIES += libgcj_bc.la
+toolexeclib_LTLIBRARIES += install/libgcj_bc.la
+noinst_LTLIBRARIES = libgcj_bc.la
endif
if XLIB_AWT
@@ -606,6 +607,7 @@ lib_gnu_awt_xlib_la_LINK = $(LIBLINK) $(lib_gnu_awt_xlib_la_LDFLAGS) \
## This lets us have one soname in BC objects and another in C++ ABI objects.
## This library is not linked against libgcj.
libgcj_bc_la_SOURCES = libgcj_bc.c
+install_libgcj_bc_la_SOURCES = $(libgcj_bc_la_SOURCES)
libgcj_bc_la_LDFLAGS = -rpath $(toolexeclibdir) -no-static -version-info 1:0:0 \
$(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBJAVA_LDFLAGS_NOUNDEF)
libgcj_bc_la_DEPENDENCIES = libgcj.la $(libgcj_bc_la_version_dep)
@@ -628,6 +630,11 @@ libgcj_bc.la: $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_DEPENDENCIES)
rm .libs/libgcj_bc.so.1; \
$(LN_S) libgcj_bc.so.1.0.0 .libs/libgcj_bc.so.1
+## This rule creates the libgcj_bc library that is actually installed.
+install/libgcj_bc.la: $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_DEPENDENCIES) install/$(am__dirstamp)
+ $(libgcj_bc_la_LINK) $(am_libgcj_bc_la_rpath) $(libgcj_bc_la_LDFLAGS) \
+ $(libgcj_bc_la_OBJECTS) $(libgcj_bc_la_LIBADD) $(LIBS)
+
## Note that property_files is defined in sources.am.
propertyo_files = $(patsubst classpath/resource/%,%,$(addsuffix .lo,$(property_files)))
--
1.8.2.1
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."