diff options
author | Andrew Haley <aph@redhat.com> | 2010-04-21 16:34:01 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2010-04-21 16:34:01 +0000 |
commit | 6cf3abb170cca507c681dff4ef810f5d5da19588 (patch) | |
tree | 97c913df003cc2af3990c16ba1837ecd35fbd001 /libjava | |
parent | dd6d1ad715541f538a82090a8480412dde0169db (diff) | |
download | gcc-6cf3abb170cca507c681dff4ef810f5d5da19588.tar.gz |
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/ChangeLog | 5 | ||||
-rwxr-xr-x | libjava/configure | 33 | ||||
-rw-r--r-- | libjava/configure.ac | 15 |
3 files changed, 53 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index dd502d13c09..c986d1092c7 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 ca3329d3944..6be8109031a 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 255fb64595e..7f4befa830b 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) |