⛏️ index : buildtools.git

author Alex Smith <alex@alex-smith.me.uk> 2012-07-18 15:05:12.0 +01:00:00
committer Alex Smith <alex@alex-smith.me.uk> 2012-07-18 15:06:45.0 +01:00:00
commit
8fe25aaeb47890b45bc3f8f7bb2b50880ab0a86c [patch]
tree
3ae50362d2d31cf3ea00f52a8b4196a0ccb88d9c
parent
2dc19755ccb92785ba27147115de85bfcc283eaa
download
8fe25aaeb47890b45bc3f8f7bb2b50880ab0a86c.tar.gz

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.

Diff

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

diff --git a/gcc/gcc/config.gcc b/gcc/gcc/config.gcc
index a296b27..02dfbd5 100644
--- a/gcc/gcc/config.gcc
+++ a/gcc/gcc/config.gcc
@@ -1236,7 +1236,7 @@
	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
+++ a/gcc/gcc/config/i386/t-haiku64
@@ -5,3 +5,12 @@
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