Module Name: src Committed By: mrg Date: Tue Apr 16 07:36:55 UTC 2019
Modified Files: src/external/gpl3/gcc/dist/gcc/config/rs6000: netbsd64.h sysv4.h Log Message: avoid differences to linux64.h that aren't needed. merge the rs6000_abi_name check for netbsd into the linux/freebsd section. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 \ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h cvs rdiff -u -r1.10 -r1.11 \ src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.21 src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.22 --- src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h:1.21 Wed Apr 10 20:06:26 2019 +++ src/external/gpl3/gcc/dist/gcc/config/rs6000/netbsd64.h Tue Apr 16 07:36:55 2019 @@ -87,17 +87,6 @@ extern int dot_symbols; #define ELFv2_ABI_CHECK (rs6000_elf_abi == 2) -#undef CC1_OS_NETBSD_SPEC -#define CC1_OS_NETBSD_SPEC \ - NETBSD_CC1_AND_CC1PLUS_SPEC \ - "%{!m32: %{!mrelocatable: %{!fno-pie: %{!fno-pic: \ - %{!fpie: %{!fpic: \ - %{!fPIE: %{!fPIC:-fPIC}}}}}}}}" -/* %{!m32: %{!mcmodel*: -mcmodel=medium}}" */ - -#undef CC1PLUS_SPEC -#define CC1PLUS_SPEC CC1_OS_NETBSD_SPEC - #undef SUBSUBTARGET_OVERRIDE_OPTIONS #define SUBSUBTARGET_OVERRIDE_OPTIONS \ do \ @@ -181,17 +170,6 @@ extern int dot_symbols; } \ while (0) -#ifdef RS6000_BI_ARCH - -#if 0 -#undef OVERRIDE_OPTIONS -#define OVERRIDE_OPTIONS \ - rs6000_override_options (((TARGET_DEFAULT ^ target_flags) & MASK_64BIT) \ - ? (char *) 0 : TARGET_CPU_DEFAULT) -#endif - -#endif - #undef ASM_DEFAULT_SPEC #undef ASM_SPEC #undef LINK_OS_NETBSD_SPEC @@ -263,6 +241,22 @@ extern int dot_symbols; #endif +/* We use NetBSD libc _mcount for profiling. */ +#define NO_PROFILE_COUNTERS 1 +#define PROFILE_HOOK(LABEL) \ + do { if (TARGET_64BIT) output_profile_hook (LABEL); } while (0) + +/* PowerPC64 NetBSD word-aligns FP doubles when -malign-power is given. */ +#undef ADJUST_FIELD_ALIGN +#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \ + (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED)) \ + ? 128 \ + : (TARGET_64BIT \ + && TARGET_ALIGN_NATURAL == 0 \ + && TYPE_MODE (strip_array_types (TYPE)) == DFmode) \ + ? MIN ((COMPUTED), 32) \ + : (COMPUTED)) + /* PowerPC64 NetBSD increases natural record alignment to doubleword if the first field is an FP double, only if in power alignment mode. */ #undef ROUND_TYPE_ALIGN @@ -305,8 +299,8 @@ extern int dot_symbols; (!(FIRST) ? upward : FUNCTION_ARG_PADDING (MODE, TYPE)) /* NetBSD doesn't support saving and restoring 64-bit regs in a 32-bit - process. XXXMRG? */ -#define OS_MISSING_POWERPC64 !TARGET_64BIT + process. */ +#define OS_MISSING_POWERPC64 (!TARGET_64BIT) #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() \ @@ -350,6 +344,17 @@ extern int dot_symbols; } \ while (0) +#undef CC1_OS_NETBSD_SPEC +#define CC1_OS_NETBSD_SPEC \ + NETBSD_CC1_AND_CC1PLUS_SPEC \ + "%{!m32: %{!mrelocatable: %{!fno-pie: %{!fno-pic: \ + %{!fpie: %{!fpic: \ + %{!fPIE: %{!fPIC:-fPIC}}}}}}}}" +/* %{!m32: %{!mcmodel*: -mcmodel=medium}}" */ + +#undef CC1PLUS_SPEC +#define CC1PLUS_SPEC CC1_OS_NETBSD_SPEC + #undef CPP_OS_DEFAULT_SPEC #define CPP_OS_DEFAULT_SPEC "%(cpp_os_netbsd)" @@ -382,17 +387,6 @@ extern int dot_symbols; /* Use standard DWARF numbering for DWARF debugging information. */ #define RS6000_USE_DWARF_NUMBERING -/* PowerPC64 NetBSD word-aligns FP doubles when -malign-power is given. */ -#undef ADJUST_FIELD_ALIGN -#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \ - (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED)) \ - ? 128 \ - : (TARGET_64BIT \ - && TARGET_ALIGN_NATURAL == 0 \ - && TYPE_MODE (strip_array_types (TYPE)) == DFmode) \ - ? MIN ((COMPUTED), 32) \ - : (COMPUTED)) - #undef TOC_SECTION_ASM_OP #define TOC_SECTION_ASM_OP \ (TARGET_64BIT \ @@ -601,4 +595,11 @@ extern int dot_symbols; /* NetBSD ppc64 has 128-bit long double support. */ #undef RS6000_DEFAULT_LONG_DOUBLE_SIZE #define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128 + #define POWERPC_NETBSD + +/* The IEEE 128-bit emulator is only built on Linux systems. Flag that we + should enable the type handling for KFmode on VSX systems even if we are not + enabling the __float128 keyword. */ +#undef TARGET_FLOAT128_ENABLE_TYPE +#define TARGET_FLOAT128_ENABLE_TYPE 1 Index: src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h diff -u src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h:1.10 src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h:1.11 --- src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h:1.10 Sat Jan 19 12:10:06 2019 +++ src/external/gpl3/gcc/dist/gcc/config/rs6000/sysv4.h Tue Apr 16 07:36:55 2019 @@ -87,6 +87,7 @@ do { \ else if (!strcmp (rs6000_abi_name, "aixdesc")) \ rs6000_current_abi = ABI_AIX; \ else if (!strcmp (rs6000_abi_name, "freebsd") \ + || !strcmp (rs6000_abi_name, "netbsd") \ || !strcmp (rs6000_abi_name, "linux")) \ { \ if (TARGET_64BIT) \ @@ -94,13 +95,6 @@ do { \ else \ rs6000_current_abi = ABI_V4; \ } \ - else if (!strcmp (rs6000_abi_name, "netbsd")) \ - { \ - if (TARGET_64BIT) \ - rs6000_current_abi = ABI_AIX; \ - else \ - rs6000_current_abi = ABI_V4; \ - } \ else if (!strcmp (rs6000_abi_name, "openbsd")) \ rs6000_current_abi = ABI_V4; \ else if (!strcmp (rs6000_abi_name, "i960-old")) \