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(-)
@@ -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'
;;
@@ -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