aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2010-04-21 16:34:01 +0000
committerAndrew Haley <aph@gcc.gnu.org>2010-04-21 16:34:01 +0000
commit6cf3abb170cca507c681dff4ef810f5d5da19588 (patch)
tree97c913df003cc2af3990c16ba1837ecd35fbd001 /libjava
parentdd6d1ad715541f538a82090a8480412dde0169db (diff)
downloadgcc-6cf3abb170cca507c681dff4ef810f5d5da19588.zip
gcc-6cf3abb170cca507c681dff4ef810f5d5da19588.tar.gz
gcc-6cf3abb170cca507c681dff4ef810f5d5da19588.tar.bz2
re PR libgcj/40860 (regressions in libjava testsuite on arm-linux)
2010-04-19 Andrew Haley <aph@redhat.com> PR libgcj/40860 * configure.ac: Handle --no-merge-exidx-entries. From-SVN: r158611
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rwxr-xr-xlibjava/configure33
-rw-r--r--libjava/configure.ac15
3 files changed, 53 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index dd502d1..c986d10 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-19 Andrew Haley <aph@redhat.com>
+
+ PR libgcj/40860
+ * configure.ac: Handle --no-merge-exidx-entries.
+
2010-04-07 Jakub Jelinek <jakub@redhat.com>
* exception.cc (_Jv_Throw): Avoid set but not used warning.
diff --git a/libjava/configure b/libjava/configure
index ca3329d..6be8109 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -20520,6 +20520,39 @@ arm*linux*eabi)
;;
esac
+# Check for --no-merge-exidx-entries, an ARM-specific linker option.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --no-merge-exidx-entries" >&5
+$as_echo_n "checking for --no-merge-exidx-entries... " >&6; }
+if test "${libgcj_cv_exidx+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ saved_ldflags="$LDFLAGS"
+ LDFLAGS="${LDFLAGS} -Wl,--no-merge-exidx-entries"
+ if test x$gcc_no_link = xyes; then
+ as_fn_error "Link tests are not allowed after GCC_NO_EXECUTABLES." "$LINENO" 5
+fi
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(void){ return 0;}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "libgcj_cv_exidx=yes"
+else
+ eval "libgcj_cv_exidx=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS="${saved_ldflags}"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcj_cv_exidx" >&5
+$as_echo "$libgcj_cv_exidx" >&6; }
+if test "${libgcj_cv_exidx}" = "yes"; then
+ SYSTEMSPEC="${SYSTEMSPEC} --no-merge-exidx-entries"
+ extra_ldflags="${extra_ldflags} -Wl,--no-merge-exidx-entries"
+fi
+
+
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 255fb64..7f4befa 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -927,6 +927,21 @@ arm*linux*eabi)
extra_ldflags_libjava=-liconv
;;
esac
+
+# Check for --no-merge-exidx-entries, an ARM-specific linker option.
+AC_CACHE_CHECK([for --no-merge-exidx-entries], [libgcj_cv_exidx],
+ [saved_ldflags="$LDFLAGS"
+ LDFLAGS="${LDFLAGS} -Wl,--no-merge-exidx-entries"
+ AC_LINK_IFELSE([int main(void){ return 0;} ],
+ [eval "libgcj_cv_exidx=yes"],
+ [eval "libgcj_cv_exidx=no"])
+ LDFLAGS="${saved_ldflags}"]
+)
+if test "${libgcj_cv_exidx}" = "yes"; then
+ SYSTEMSPEC="${SYSTEMSPEC} --no-merge-exidx-entries"
+ extra_ldflags="${extra_ldflags} -Wl,--no-merge-exidx-entries"
+fi
+
AC_SUBST(extra_ldflags_libjava)
AC_SUBST(extra_ldflags)
AC_SUBST(LIBSTDCXXSPEC)