aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDave Korn <dave.korn.cygwin@gmail.com>2009-09-22 18:58:13 +0000
committerDave Korn <davek@gcc.gnu.org>2009-09-22 18:58:13 +0000
commit6a92b6c7aae7311777f8faafbc52a71104a78a68 (patch)
tree89fb7aceeab12051629b5e047d3df2ddf3ab2894 /gcc
parent502a1e45907d04b3feeec2b3e5e5b80a10e9350f (diff)
downloadgcc-6a92b6c7aae7311777f8faafbc52a71104a78a68.zip
gcc-6a92b6c7aae7311777f8faafbc52a71104a78a68.tar.gz
gcc-6a92b6c7aae7311777f8faafbc52a71104a78a68.tar.bz2
cygming.h (TARGET_USE_JCR_SECTION): Enable.
gcc/ChangeLog * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Enable. * config/i386/cygwin.h (LIBGCJ_SONAME): Define. * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise. libjava/ChangeLog * configure.host (enable_libgcj_sublibs_default): New variable, set for Cygwin and MinGW. * configure.ac (--enable-libgcj-sublibs): New command-line switch. (BUILD_SUBLIBS): New AM_CONDITIONAL relating to it. (libgcj_spec_lgcj_override): New variable, define if building sublibs. (libgcj_spec_lgcj_bc_override): Likewise for when USE_LIBGCJ_BC. (LIBGCJ_SPEC_LGCJ): New variable to abstract "-lgcj" from specs. (LIBGCJ_SPEC_LGCJ_BC): Likewise for when USE_LIBGCJ_BC. (LIBGCJ_SPEC): Use them. * configure: Regenerate. * Makefile.am (LOWER_PACKAGE_FILES_LO): New variable. (ALL_PACKAGE_SOURCE_FILES_LO): Likewise. (NONCORE_PACKAGE_SOURCE_FILES_LO): Likewise. (CORE_PACKAGE_SOURCE_FILES_LO): Likewise. (toolexeclib_LTLIBRARIES): Add libgcj-noncore.la if building sublibs. (libgcj_noncore_la_LIBADD_SUBOBJECTS): New variable. (libgcj_la_LIBADD_SUBOBJECTS): Likewise. (libgcj_la_LDFLAGS_NOUNDEF): Likewise. (libgij_la_LDFLAGS): Add DLL-related options. (libgcj_la_LDFLAGS): Use libgcj_la_LDFLAGS_NOUNDEF and libgcj_la_LIBADD_SUBOBJECTS. (libgcj_la_DEPENDENCIES): Adjust to match. (libgcj_noncore_la_SOURCES, libgcj_noncore_la_LDFLAGS, libgcj_noncore_la_LIBADD, libgcj_noncore_la_DEPENDENCIES, libgcj_noncore_la_LINK): New automake variables for sublibrary. (libgcj_tools_la_LDFLAGS): Add DLL-related flags. (libgcj_tools_la_LIBADD): New variable. (libjvm_la_LDFLAGS): Add DLL-related flags. (lib_gnu_awt_xlib_la_LDFLAGS): Likewise. (libgcj_bc_la_LDFLAGS): Likewise. (libgij_la_DEPENDENCIES): Add dependency on libgcj-noncore.la when building sublibs. (libgcj_tools_la_DEPENDENCIES, libjvm_la_DEPENDENCIES, lib_gnu_awt_xlib_la_DEPENDENCIES, jv_convert_DEPENDENCIES, gcj_dbtool_DEPENDENCIES, gc_analyze_DEPENDENCIES, ecjx_DEPENDENCIES): Likewise. * Makefile.in: Regenerate. * sysdep/i386/backtrace.h (MAIN_FUNC): New #define for main function, set appropriately for Cygwin on that platform or to "main" elsewhere. (fallback_backtrace): Use it to limit stack unwind. libjava/libltdl/ChangeLog: * ltdl.h (LT_SCOPE): Change conditional to avoid breaking auto-export during libgcj DLL linking. * Makefile.am (libltdl_la_LDFLAGS): Remove -bindir switch. * Makefile.in: Regenerate. From-SVN: r152041
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/cygming.h2
-rw-r--r--gcc/config/i386/cygwin.h4
-rw-r--r--gcc/config/i386/mingw32.h4
4 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2565cb9..2da2d44 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-09-22 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config/i386/cygming.h (TARGET_USE_JCR_SECTION): Enable.
+ * config/i386/cygwin.h (LIBGCJ_SONAME): Define.
+ * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
+
2009-09-22 Alexandre Oliva <aoliva@redhat.com>
PR debug/41295
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 5fc0c1d..43003cc 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -383,7 +383,7 @@ do { \
/* FIXME: SUPPORTS_WEAK && TARGET_HAVE_NAMED_SECTIONS is true,
but for .jcr section to work we also need crtbegin and crtend
objects. */
-#define TARGET_USE_JCR_SECTION 0
+#define TARGET_USE_JCR_SECTION 1
/* Decide whether it is safe to use a local alias for a virtual function
when constructing thunks. */
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h
index d1d00f7..9332637 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -267,3 +267,7 @@ while (0)
#define LIBGCC_EH_EXTN "-sjlj"
#endif
#define LIBGCC_SONAME "cyggcc_s" LIBGCC_EH_EXTN "-1.dll"
+
+/* We should find a way to not have to update this manually. */
+#define LIBGCJ_SONAME "cyggcj" /*LIBGCC_EH_EXTN*/ "-11.dll"
+
diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
index e856ecd..9dcc5ba 100644
--- a/gcc/config/i386/mingw32.h
+++ b/gcc/config/i386/mingw32.h
@@ -221,3 +221,7 @@ __enable_execute_stack (void *addr) \
#define LIBGCC_EH_EXTN "_sjlj"
#endif
#define LIBGCC_SONAME "libgcc_s" LIBGCC_EH_EXTN "-1.dll"
+
+/* We should find a way to not have to update this manually. */
+#define LIBGCJ_SONAME "cyggcj" /*LIBGCC_EH_EXTN*/ "-11.dll"
+