aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-11-28 15:47:02 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2002-11-28 15:47:02 +0100
commit17c04c5eb2a66c74098c0ac0f429078954b16c59 (patch)
treed2a4adea4a6ed3d0f1f6b2f36e1b08b79529db94
parent73cc75e983b836c017578df7abbdb24145833b8b (diff)
downloadgcc-17c04c5eb2a66c74098c0ac0f429078954b16c59.zip
gcc-17c04c5eb2a66c74098c0ac0f429078954b16c59.tar.gz
gcc-17c04c5eb2a66c74098c0ac0f429078954b16c59.tar.bz2
config.gcc (x86_64-*-linux*): Remove i386/t-crtstuff.
* config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff. * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS). * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define. From-SVN: r59607
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config.gcc2
-rw-r--r--gcc/config/i386/t-linux646
-rw-r--r--gcc/config/t-linux2
4 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ef37f74..a44b7f3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
+ * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
+ * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
+
2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (h8300_and_costs): New.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 6e1bf16..9fc5c36 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1124,7 +1124,7 @@ i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
x86_64-*-linux*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
i386/x86-64.h i386/linux64.h"
- tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff i386/t-linux64"
+ tmake_file="t-slibgcc-elf-ver t-linux i386/t-linux64"
;;
i[34567]86-*-gnu*)
;;
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
index 31b6ad4..3b109d8 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -12,3 +12,9 @@ LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+
+# The pushl in CTOR initialization interferes with frame pointer elimination.
+# crtend*.o cannot be compiled without -fno-asynchronous-unwind-tables,
+# because then __FRAME_END__ might not be the last thing in .eh_frame
+# section.
+CRTSTUFF_T_CFLAGS = -fno-omit-frame-pointer -fno-asynchronous-unwind-tables
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
index 570135a..3c73561 100644
--- a/gcc/config/t-linux
+++ b/gcc/config/t-linux
@@ -2,7 +2,7 @@
STMP_FIXPROTO =
# Compile crtbeginS.o and crtendS.o with pic.
-CRTSTUFF_T_CFLAGS_S = -fPIC
+CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
# Compile libgcc2.a with pic.
TARGET_LIBGCC2_CFLAGS = -fPIC