Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/gpl3/gcc/dist/gcc/config/arm Add MULTILIB support a...
details: https://anonhg.NetBSD.org/src/rev/ac12d2cf0de3
branches: trunk
changeset: 786351:ac12d2cf0de3
user: matt <matt%NetBSD.org@localhost>
date: Sat Apr 27 08:03:02 2013 +0000
description:
Add MULTILIB support and fix specs for MKCOMPAT
diffstat:
external/gpl3/gcc/dist/gcc/config/arm/netbsd-eabi.h | 25 +++++++++++++-------
external/gpl3/gcc/dist/gcc/config/arm/t-netbsd-eabi | 4 +++
2 files changed, 20 insertions(+), 9 deletions(-)
diffs (67 lines):
diff -r 3353dec8fd69 -r ac12d2cf0de3 external/gpl3/gcc/dist/gcc/config/arm/netbsd-eabi.h
--- a/external/gpl3/gcc/dist/gcc/config/arm/netbsd-eabi.h Sat Apr 27 08:00:40 2013 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/arm/netbsd-eabi.h Sat Apr 27 08:03:02 2013 +0000
@@ -22,21 +22,23 @@
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (NetBSD/earm ELF)", stderr);
-/* This defaults us to little-endian. */
-#ifndef TARGET_ENDIAN_DEFAULT
-#define TARGET_ENDIAN_DEFAULT 0
-#endif
+#undef MULTILIB_DEFAULTS
+#define MULTILIB_DEFAULTS { "mabi=aapcs-linux" }
#undef MUST_USE_SJLJ_EXCEPTIONS
#define MUST_USE_SJLJ_EXCEPTIONS (!TARGET_AAPCS_BASED)
+#define TARGET_LINKER_EABI_SUFFIX "%{!mabi=apcs-gnu:%{!mabi=atpcs:_nbsd_eabi}}"
+#define TARGET_LINKER_BIG_EMULATION "armelfb%(linker_eabi_suffix)"
+#define TARGET_LINKER_LITTLE_EMULATION "armelf%(linker_eabi_suffix)"
+
/* TARGET_BIG_ENDIAN_DEFAULT is set in
config.gcc for big endian configurations. */
#undef TARGET_LINKER_EMULATION
-#if TARGET_ENDIAN_DEFAULT == MASK_BIG
-#define TARGET_LINKER_EMULATION "-m armelfb_nbsd_eabi"
+#if TARGET_BIG_ENDIAN_DEFAULT
+#define TARGET_LINKER_EMULATION TARGET_LINKER_BIG_EMULATION
#else
-#define TARGET_LINKER_EMULATION "-m armelf_nbsd_eabi"
+#define TARGET_LINKER_EMULATION TARGET_LINKER_LITTLE_EMULATION
#endif
#undef MULTILIB_DEFAULTS
@@ -84,6 +86,10 @@
{ "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, \
{ "subtarget_asm_float_spec", SUBTARGET_ASM_FLOAT_SPEC }, \
{ "netbsd_link_spec", NETBSD_LINK_SPEC_ELF }, \
+ { "linker_eabi_suffix", TARGET_LINKER_EABI_SUFFIX }, \
+ { "linker_emulation", TARGET_LINKER_EMULATION }, \
+ { "linker_big_emulation", TARGET_LINKER_BIG_EMULATION }, \
+ { "linker_little_emulation", TARGET_LINKER_LITTLE_EMULATION }, \
{ "be8_link_spec", BE8_LINK_SPEC }, \
{ "target_fix_v4bx_spec", TARGET_FIX_V4BX_SPEC }, \
{ "netbsd_entry_point", NETBSD_ENTRY_POINT },
@@ -92,7 +98,8 @@
#undef LINK_SPEC
#define LINK_SPEC \
- "-X %{mbig-endian:-EB -m armelfb_nbsd_eabi} \
- %{mlittle-endian:-EL -m armelf_nbsd_eabi} \
+ "-X %{mbig-endian:-EB -m %(linker_big_emulation)} \
+ %{mlittle-endian:-EL -m %(linker_liitle_emulation)} \
+ %{!mbig-endian:%{!mlittle-endian:-m %(linker_emulation)}} \
%(be8_link_spec) %(target_fix_v4bx_spec) \
%(netbsd_link_spec)"
diff -r 3353dec8fd69 -r ac12d2cf0de3 external/gpl3/gcc/dist/gcc/config/arm/t-netbsd-eabi
--- a/external/gpl3/gcc/dist/gcc/config/arm/t-netbsd-eabi Sat Apr 27 08:00:40 2013 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/arm/t-netbsd-eabi Sat Apr 27 08:03:02 2013 +0000
@@ -34,3 +34,7 @@
LIB2ADDEHDEP = $(UNWIND_H) $(srcdir)/config/$(LIB1ASMSRC)
SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver
+
+MULTILIB_OPTIONS = mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt
+MULTILIB_DIRNAMES = aapcs-linux aapcs atpcs oabi iwmmxt
+MULTILIB_OSDIRNAMES = . ../lib/aapcs ../lib/atpcs ../lib/oabi ../lib/iwmmxt
Home |
Main Index |
Thread Index |
Old Index