summaryrefslogtreecommitdiff
path: root/lang/g95/patches/patch-gcc_config_mips_netbsd.h
diff options
context:
space:
mode:
Diffstat (limited to 'lang/g95/patches/patch-gcc_config_mips_netbsd.h')
-rw-r--r--lang/g95/patches/patch-gcc_config_mips_netbsd.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/lang/g95/patches/patch-gcc_config_mips_netbsd.h b/lang/g95/patches/patch-gcc_config_mips_netbsd.h
new file mode 100644
index 00000000000..f3b99eb961c
--- /dev/null
+++ b/lang/g95/patches/patch-gcc_config_mips_netbsd.h
@@ -0,0 +1,71 @@
+$NetBSD: patch-gcc_config_mips_netbsd.h,v 1.1 2017/06/21 11:36:20 maya Exp $
+
+n32 support for netbsd/mips64
+
+--- ../gcc-4.1.2/gcc/config/mips/netbsd.h.orig 2005-06-25 01:22:41.000000000 +0000
++++ ../gcc-4.1.2/gcc/config/mips/netbsd.h
+@@ -39,18 +39,56 @@ Boston, MA 02110-1301, USA. */
+ builtin_define ("__LONG64"); \
+ \
+ if (TARGET_ABICALLS) \
+- builtin_define ("__ABICALLS__"); \
++ builtin_define ("__mips_abicalls"); \
+ \
+- if (mips_abi == ABI_EABI) \
+- builtin_define ("__mips_eabi"); \
+- else if (mips_abi == ABI_N32) \
+- builtin_define ("__mips_n32"); \
++ if (mips_abi == ABI_N32) \
++ { \
++ builtin_define ("_ABIN32=2"); \
++ builtin_define ("_MIPS_SIM=_ABIN32"); \
++ builtin_define ("_MIPS_SZLONG=32"); \
++ builtin_define ("_MIPS_SZPTR=32"); \
++ } \
+ else if (mips_abi == ABI_64) \
+- builtin_define ("__mips_n64"); \
++ { \
++ builtin_define ("_ABI64=3"); \
++ builtin_define ("_MIPS_SIM=_ABI64"); \
++ builtin_define ("_MIPS_SZLONG=64"); \
++ builtin_define ("_MIPS_SZPTR=64"); \
++ } \
+ else if (mips_abi == ABI_O64) \
+- builtin_define ("__mips_o64"); \
++ { \
++ builtin_define ("_ABIO64=4"); \
++ builtin_define ("_MIPS_SIM=_ABIO64"); \
++ builtin_define ("_MIPS_SZLONG=64"); \
++ builtin_define ("_MIPS_SZPTR=64"); \
+ } \
+- while (0)
++ else if (mips_abi == ABI_EABI) \
++ { \
++ builtin_define ("_ABIEMB=5"); \
++ builtin_define ("_MIPS_SIM=_ABIEMB"); \
++ if (TARGET_LONG64) \
++ builtin_define ("_MIPS_SZLONG=64"); \
++ else \
++ builtin_define ("_MIPS_SZLONG=32"); \
++ if (TARGET_64BIT) \
++ builtin_define ("_MIPS_SZPTR=64"); \
++ else \
++ builtin_define ("_MIPS_SZPTR=32"); \
++ } \
++ else \
++ { \
++ builtin_define ("_ABIO32=1"); \
++ builtin_define ("_MIPS_SIM=_ABIO32"); \
++ builtin_define ("_MIPS_SZLONG=32"); \
++ builtin_define ("_MIPS_SZPTR=32"); \
++ } \
++ if (TARGET_FLOAT64) \
++ builtin_define ("_MIPS_FPSET=32"); \
++ else \
++ builtin_define ("_MIPS_FPSET=16"); \
++ \
++ builtin_define ("_MIPS_SZINT=32"); \
++ } while (0)
+
+ /* The generic MIPS TARGET_CPU_CPP_BUILTINS are incorrect for NetBSD.
+ Specifically, they define too many namespace-invasive macros. Override