diff options
author | Richard Henderson <rth@redhat.com> | 2005-10-05 11:19:26 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2005-10-05 11:19:26 -0700 |
commit | d3073c70c5db2f657da6185f16662d14e3e32270 (patch) | |
tree | d99bcd5da2f6437d8312957a5442aca23f22ce74 /libjava | |
parent | 10dc6e8cea9ca2bef33572e27a196d87e772546b (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | libjava/configure.host | 15 |
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 |