aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
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 /gcc/config
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
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/t-linux646
-rw-r--r--gcc/config/t-linux2
2 files changed, 7 insertions, 1 deletions
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