[haiku-commits] buildtools: btrev43032 - in gcc/gcc/config/i386: . gcc/gcc

  • From: alex@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 18 Jul 2012 16:07:04 +0200 (CEST)

btrev43032 adds 1 changeset to branch 'master'
old head: 2dc19755ccb92785ba27147115de85bfcc283eaa
new head: 8fe25aaeb47890b45bc3f8f7bb2b50880ab0a86c

----------------------------------------------------------------------------

8fe25aa: Fixed x86_64 GCC configuration issue resulting in an incorrect 
crtend.o.
  
  Some necessary CFLAGS were not being used when compiling crtbegin.o and
  crtend.o, resulting in warnings when linking shared objects.

                                      [ Alex Smith <alex@xxxxxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    btrev43032
Commit:      8fe25aaeb47890b45bc3f8f7bb2b50880ab0a86c
URL:         http://cgit.haiku-os.org/buildtools/commit/?id=8fe25aa
Author:      Alex Smith <alex@xxxxxxxxxxxxxxxx>
Date:        Wed Jul 18 14:05:12 2012 UTC

----------------------------------------------------------------------------

2 files changed, 10 insertions(+), 1 deletion(-)
gcc/gcc/config.gcc            |    2 +-
gcc/gcc/config/i386/t-haiku64 |    9 +++++++++

----------------------------------------------------------------------------

diff --git a/gcc/gcc/config.gcc b/gcc/gcc/config.gcc
index a296b27..02dfbd5 100644
--- a/gcc/gcc/config.gcc
+++ b/gcc/gcc/config.gcc
@@ -1236,7 +1236,7 @@ i[34567]86-*-haiku*)
        extra_parts='crtbegin.o crtend.o'
        ;;
 x86_64-*-haiku*)
-       tmake_file='t-haiku i386/t-haiku64 i386/t-crtpic'
+       tmake_file='t-haiku i386/t-haiku64'
        tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h haiku.h 
i386/haiku64.h"
        extra_parts='crtbegin.o crtend.o'
        ;;
diff --git a/gcc/gcc/config/i386/t-haiku64 b/gcc/gcc/config/i386/t-haiku64
index d207663..9c8f8e6 100644
--- a/gcc/gcc/config/i386/t-haiku64
+++ b/gcc/gcc/config/i386/t-haiku64
@@ -5,3 +5,12 @@ LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
 EXTRA_MULTILIB_PARTS=crtbegin.o crtend.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
+
+# Compile libgcc2.a with pic.
+TARGET_LIBGCC2_CFLAGS = -fPIC


Other related posts:

  • » [haiku-commits] buildtools: btrev43032 - in gcc/gcc/config/i386: . gcc/gcc - alex