aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-10-05 11:19:26 -0700
committerRichard Henderson <rth@gcc.gnu.org>2005-10-05 11:19:26 -0700
commitd3073c70c5db2f657da6185f16662d14e3e32270 (patch)
treed99bcd5da2f6437d8312957a5442aca23f22ce74 /libjava
parent10dc6e8cea9ca2bef33572e27a196d87e772546b (diff)
downloadgcc-d3073c70c5db2f657da6185f16662d14e3e32270.zip
gcc-d3073c70c5db2f657da6185f16662d14e3e32270.tar.gz
gcc-d3073c70c5db2f657da6185f16662d14e3e32270.tar.bz2
re PR target/23602 (1081 test failures in libjava, when configured for i486-linux)
PR target/23602 * toplev.c (process_options): Warn about unsupported combinations of unwind tables and omit-frame-pointer. * config/i386/i386.c (override_options): Similarly. Enable accumulate-outgoing-args if not explicitly disabled. testsuite/ * g++.dg/eh/omit-frame-pointer.C: Remove i?86 specific options. * g++.dg/eh/omit-frame-pointer2.C: Likewise. libjava/ * configure.host (i?86-*): Set -fomit-frame-pointer in libgcj_flags, but not BACKTRACESPEC. (x86_64-*): Similarly. Don't set -ffloat-store in 64-bit mode. From-SVN: r105009
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/configure.host15
2 files changed, 19 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 257c011..10ae06b 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2005-10-05 Richard Henderson <rth@redhat.com>
+
+ PR target/23602
+ * configure.host (i?86-*): Set -fomit-frame-pointer in libgcj_flags,
+ but not BACKTRACESPEC.
+ (x86_64-*): Similarly. Don't set -ffloat-store in 64-bit mode.
+
2005-10-02 Andrew Pinski <pinskia@physics.uc.edu>
* testsuite/lib/jni.exp (gcj_jni_test_one): For
diff --git a/libjava/configure.host b/libjava/configure.host
index d84757f..41429d3 100644
--- a/libjava/configure.host
+++ b/libjava/configure.host
@@ -95,18 +95,27 @@ case "${host}" in
;;
i686-*|i586-*|i486-*|i386-*)
sysdeps_dir=i386
- libgcj_flags="${libgcj_flags} -ffloat-store"
+ # With -fomit-frame-pointer -maccumulate-outgoing-args (implied),
+ # the .text section of libgcj.so is 30k larger, and the .eh_frame
+ # section is 1.4M smaller.
+ libgcj_flags="${libgcj_flags} -ffloat-store -fomit-frame-pointer"
libgcj_interpreter=yes
libgcj_cxxflags=
libgcj_cflags=
DIVIDESPEC=-fno-use-divide-subroutine
- BACKTRACESPEC=-fomit-frame-pointer
enable_hash_synchronization_default=yes
slow_pthread_self=yes
;;
x86_64-*)
sysdeps_dir=x86-64
- libgcj_flags="${libgcj_flags} -ffloat-store"
+ # For 64-bit we always use SSE registers for arithmetic,
+ # which doesn't have the extra precision problems of the fpu.
+ # But be careful about 32-bit multilibs.
+ case " $CC " in
+ *" -m32 "*)
+ libgcj_flags="${libgcj_flags} -ffloat-store" ;;
+ esac
+ libgcj_flags="${libgcj_flags} -fomit-frame-pointer"
libgcj_cxxflags=
libgcj_cflags=
DIVIDESPEC=-f%{m32:no-}use-divide-subroutine