diff options
author | Piotr Kubaj <pkubaj@FreeBSD.org> | 2020-12-30 03:11:14 +0000 |
---|---|---|
committer | Piotr Kubaj <pkubaj@FreeBSD.org> | 2020-12-30 03:11:14 +0000 |
commit | 15627c31820d7141388ecf25e0a7e6e572461312 (patch) | |
tree | f257a5ace10f6366fc742ac7ab2ca88b6af843f2 /lang/gcc10 | |
parent | e3b2885dea4919d953cdd0859f11e8abb9ee406f (diff) | |
download | ports-15627c31820d7141388ecf25e0a7e6e572461312.tar.gz ports-15627c31820d7141388ecf25e0a7e6e572461312.zip |
lang/gcc10: add support for powerpc64le
PR: 251670
Approved by: gerald@ (maintainer)
Notes
Notes:
svn path=/head/; revision=559636
Diffstat (limited to 'lang/gcc10')
-rw-r--r-- | lang/gcc10/Makefile | 2 | ||||
-rw-r--r-- | lang/gcc10/files/patch-powerpc64le | 77 |
2 files changed, 78 insertions, 1 deletions
diff --git a/lang/gcc10/Makefile b/lang/gcc10/Makefile index bd3d6889234f..aed41398f0a0 100644 --- a/lang/gcc10/Makefile +++ b/lang/gcc10/Makefile @@ -13,7 +13,7 @@ COMMENT= GNU Compiler Collection 10 LICENSE= GPLv3 GPLv3RLE LICENSE_COMB= multi -ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 +ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 powerpc powerpc64 powerpc64le LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr \ diff --git a/lang/gcc10/files/patch-powerpc64le b/lang/gcc10/files/patch-powerpc64le new file mode 100644 index 000000000000..6973c9396e09 --- /dev/null +++ b/lang/gcc10/files/patch-powerpc64le @@ -0,0 +1,77 @@ +--- gcc/config.gcc.orig 2020-07-23 06:35:17 UTC ++++ gcc/config.gcc +@@ -2868,6 +2868,10 @@ powerpc*-*-freebsd*) + extra_options="${extra_options} rs6000/sysv4.opt" + tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" + case ${target} in ++ powerpc*le-*-*) ++ tm_file="${tm_file} rs6000/sysv4le.h" ;; ++ esac ++ case ${target} in + powerpc64*) + tm_file="${tm_file} rs6000/default64.h rs6000/freebsd64.h" + tmake_file="${tmake_file} rs6000/t-freebsd64" +--- gcc/config/rs6000/freebsd64.h.orig 2020-07-23 06:35:17 UTC ++++ gcc/config/rs6000/freebsd64.h +@@ -51,11 +51,10 @@ extern int dot_symbols; + #define SET_CMODEL(opt) do {} while (0) + #endif + +-/* Until now the 970 is the only Processor where FreeBSD 64-bit runs on. */ + #undef PROCESSOR_DEFAULT +-#define PROCESSOR_DEFAULT PROCESSOR_POWER4 ++#define PROCESSOR_DEFAULT PROCESSOR_PPC7450 + #undef PROCESSOR_DEFAULT64 +-#define PROCESSOR_DEFAULT64 PROCESSOR_POWER4 ++#define PROCESSOR_DEFAULT64 PROCESSOR_POWER8 + + /* We don't need to generate entries in .fixup, except when + -mrelocatable or -mrelocatable-lib is given. */ +@@ -158,8 +157,8 @@ extern int dot_symbols; + #define ASM_SPEC64 "-a64" + + #define ASM_SPEC_COMMON "%(asm_cpu) \ +-%{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \ +-%{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian}" ++%{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}}" \ ++ ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) + + #undef SUBSUBTARGET_EXTRA_SPECS + #define SUBSUBTARGET_EXTRA_SPECS \ +@@ -181,9 +180,15 @@ extern int dot_symbols; + %{static:-Bstatic}} \ + %{symbolic:-Bsymbolic}" + ++#undef DEFAULT_ASM_ENDIAN + #define LINK_OS_FREEBSD_SPEC32 "-melf32ppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF +- ++#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) ++#define DEFAULT_ASM_ENDIAN " -mlittle" ++#define LINK_OS_FREEBSD_SPEC64 "-melf64lppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF ++#else ++#define DEFAULT_ASM_ENDIAN " -mbig" + #define LINK_OS_FREEBSD_SPEC64 "-melf64ppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF ++#endif + + #undef MULTILIB_DEFAULTS + #define MULTILIB_DEFAULTS { "m64" } +--- gcc/configure.orig 2020-07-23 06:35:17 UTC ++++ gcc/configure +@@ -29398,13 +29398,16 @@ $as_echo "#define HAVE_LD_PPC_GNU_ATTR_LONG_DOUBLE 1" + esac + + case "$target:$tm_file" in +- powerpc64-*-freebsd* | powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*) ++ powerpc64*-*-freebsd* | powerpc64*-*-linux* | powerpc*-*-linux*rs6000/biarch64.h*) + case "$target" in + *le-*-linux*) + emul_name="-melf64lppc" + ;; + *-*-linux*) + emul_name="-melf64ppc" ++ ;; ++ *le-*-freebsd*) ++ emul_name="-melf64lppc_fbsd" + ;; + *-*-freebsd*) + emul_name="-melf64ppc_fbsd" |