b368cf7d60
(-foptimize-sibling-calls and -freorder-blocks) cause segfaults during build, so don't include them in -O2 on hppa. Also, -go is not supported. requested by and ok brad@ and tested on one of his machines
109 lines
4.0 KiB
Plaintext
109 lines
4.0 KiB
Plaintext
$OpenBSD: patch-gcc_config_gcc,v 1.6 2013/01/16 19:28:48 pascal Exp $
|
|
--- gcc/config.gcc.orig Fri Jul 22 18:44:50 2011
|
|
+++ gcc/config.gcc Mon Jan 14 13:04:31 2013
|
|
@@ -668,6 +668,14 @@ case ${target} in
|
|
*-*-openbsd2.*|*-*-openbsd3.[012])
|
|
tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
|
|
esac
|
|
+ case ${target} in
|
|
+ *-*-openbsd[0-3].*|*-*-openbsd4.[012])
|
|
+ # keep default of no cxa_atexit support for these older releases
|
|
+ ;;
|
|
+ *)
|
|
+ default_use_cxa_atexit=yes
|
|
+ ;;
|
|
+ esac
|
|
;;
|
|
*-*-rtems*)
|
|
case ${enable_threads} in
|
|
@@ -1053,10 +1061,14 @@ hppa*-*-linux*)
|
|
tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
|
|
fi
|
|
;;
|
|
-# port not yet contributed.
|
|
-#hppa*-*-openbsd*)
|
|
-# target_cpu_default="MASK_PA_11"
|
|
-# ;;
|
|
+hppa*-*-openbsd*)
|
|
+ target_cpu_default="MASK_PA_11"
|
|
+ tm_defines="${tm_defines} PIE_DEFAULT=1"
|
|
+ tm_file="${tm_file} dbxelf.h elfos.h openbsd-libpthread.h \
|
|
+ pa/pa32-regs.h pa/openbsd.h openbsd.h"
|
|
+ tmake_file="${tmake_file} pa/t-openbsd"
|
|
+ extra_options="${extra_options} openbsd.opt"
|
|
+ ;;
|
|
hppa[12]*-*-hpux10*)
|
|
case ${target} in
|
|
hppa1.1-*-* | hppa2*-*-*)
|
|
@@ -1250,6 +1262,12 @@ i[34567]86-*-openbsd*)
|
|
gas=yes
|
|
gnu_ld=yes
|
|
;;
|
|
+x86_64-*-openbsd*)
|
|
+ tm_defines="${tm_defines} PIE_DEFAULT=1"
|
|
+ tm_file="i386/biarch64.h i386/i386.h i386/unix.h i386/att.h dbxelf.h elfos.h openbsd.h openbsd-libpthread.h i386/x86-64.h i386/openbsd64.h"
|
|
+ tm_file="${tm_file} exec-stack.h"
|
|
+ tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
|
|
+ ;;
|
|
i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
|
|
# Intel 80386's running GNU/*
|
|
# with ELF format using glibc 2
|
|
@@ -1910,14 +1928,15 @@ mips*-*-linux*) # Linux MIPS, either endian.
|
|
test x$with_llsc != x || with_llsc=yes
|
|
;;
|
|
mips*-*-openbsd*)
|
|
- tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
|
|
- target_cpu_default="MASK_ABICALLS"
|
|
- tm_file="mips/mips.h openbsd.h openbsd-stdint.h openbsd-libpthread.h mips/openbsd.h mips/sdb.h"
|
|
+ tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_64 PIE_DEFAULT=1"
|
|
+ tm_file="dbxelf.h elfos.h openbsd.h openbsd-stdint.h openbsd-libpthread.h mips/mips.h mips/openbsd64.h"
|
|
extra_options="${extra_options} openbsd.opt"
|
|
case ${target} in
|
|
mips*el-*-openbsd*)
|
|
- tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";;
|
|
- *) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
|
|
+ tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0"
|
|
+ target_cpu_default="MASK_ABICALLS";;
|
|
+ *) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN"
|
|
+ target_cpu_default="MASK_ABICALLS|MASK_FIX_R4000|MASK_FIX_R4400";;
|
|
esac
|
|
;;
|
|
mips*-sde-elf*)
|
|
@@ -2057,10 +2076,11 @@ picochip-*)
|
|
tmake_file="picochip/t-picochip t-pnt16-warn"
|
|
;;
|
|
# port not yet contributed
|
|
-#powerpc-*-openbsd*)
|
|
-# tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit "
|
|
-# extra_headers=
|
|
-# ;;
|
|
+powerpc-*-openbsd*)
|
|
+ tm_file="${tm_file} dbxelf.h elfos.h openbsd.h openbsd-libpthread.h freebsd-spec.h rs6000/sysv4.h rs6000/openbsd.h"
|
|
+ tmake_file="${tmake_file} rs6000/t-openbsd"
|
|
+ extra_options="${extra_options} rs6000/sysv4.opt"
|
|
+ ;;
|
|
powerpc-*-darwin*)
|
|
extra_options="${extra_options} rs6000/darwin.opt"
|
|
extra_parts="crt2.o"
|
|
@@ -2660,6 +2680,7 @@ sparc64-*-netbsd*)
|
|
tmake_file="${tmake_file} sparc/t-netbsd64"
|
|
;;
|
|
sparc64-*-openbsd*)
|
|
+ tm_defines="${tm_defines} PIE_DEFAULT=2"
|
|
tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
|
|
tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
|
|
extra_options="${extra_options} openbsd.opt"
|
|
@@ -2821,6 +2842,12 @@ case ${target} in
|
|
else
|
|
arch=i386
|
|
fi
|
|
+ cpu=generic
|
|
+ arch_without_sse2=yes
|
|
+ arch_without_64bit=yes
|
|
+ ;;
|
|
+ i386-*-openbsd*)
|
|
+ arch=i486
|
|
cpu=generic
|
|
arch_without_sse2=yes
|
|
arch_without_64bit=yes
|