diff options
| author | Oleksandr Tymoshenko <gonzo@FreeBSD.org> | 2011-12-08 00:47:22 +0000 |
|---|---|---|
| committer | Oleksandr Tymoshenko <gonzo@FreeBSD.org> | 2011-12-08 00:47:22 +0000 |
| commit | 22e560db36c30d6af980d76403e561572d0024bd (patch) | |
| tree | 9a47e577d51bf9952691a9fa54ee41d64e440e64 /gnu | |
| parent | caad475892aa81c8f349a500149677a57bdb6a0d (diff) | |
Notes
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/lib/libgcc/Makefile | 6 | ||||
| -rw-r--r-- | gnu/lib/libgomp/Makefile | 3 | ||||
| -rw-r--r-- | gnu/usr.bin/binutils/Makefile.inc0 | 3 | ||||
| -rw-r--r-- | gnu/usr.bin/binutils/ld/Makefile.mips | 17 | ||||
| -rw-r--r-- | gnu/usr.bin/binutils/libbfd/Makefile.mips | 18 | ||||
| -rw-r--r-- | gnu/usr.bin/binutils/libbfd/bfd.h | 2 |
6 files changed, 41 insertions, 8 deletions
diff --git a/gnu/lib/libgcc/Makefile b/gnu/lib/libgcc/Makefile index 89e0edd21c13..800cd768780a 100644 --- a/gnu/lib/libgcc/Makefile +++ b/gnu/lib/libgcc/Makefile @@ -117,6 +117,12 @@ LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c .if ${TARGET_ARCH} == "mips" LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c +.if defined(TARGET_ABI) && ${TARGET_ABI} != "o32" +LIB2FUNCS_EXTRA+= floatdidf.c fixunsdfsi.c +LIB2FUNCS_EXTRA+= floatdisf.c floatundidf.c +LIB2FUNCS_EXTRA+= fixsfdi.c floatundisf.c +LIB2FUNCS_EXTRA+= fixdfdi.c fixunssfsi.c +.endif .endif .if ${TARGET_ARCH} == "ia64" diff --git a/gnu/lib/libgomp/Makefile b/gnu/lib/libgomp/Makefile index c8052d5b4da9..097451673b12 100644 --- a/gnu/lib/libgomp/Makefile +++ b/gnu/lib/libgomp/Makefile @@ -24,7 +24,8 @@ VERSION_MAP= ${SRCDIR}/libgomp.map # Target-specific OpenMP configuration .if ${MACHINE_ARCH} == arm || ${MACHINE_ARCH} == i386 || \ - ${MACHINE_ARCH} == mips || ${MACHINE_ARCH} == powerpc + ${MACHINE_ARCH} == powerpc || \ + (${MACHINE_ARCH} == mips && (!defined(TARGET_ABI) || ${TARGET_ABI} != "n64")) OMP_LOCK_ALIGN = 4 OMP_LOCK_KIND= 4 OMP_LOCK_SIZE= 4 diff --git a/gnu/usr.bin/binutils/Makefile.inc0 b/gnu/usr.bin/binutils/Makefile.inc0 index 945c9339b4e4..5999a2e77661 100644 --- a/gnu/usr.bin/binutils/Makefile.inc0 +++ b/gnu/usr.bin/binutils/Makefile.inc0 @@ -23,7 +23,8 @@ RELSRC= ${RELTOP}/../../../contrib/binutils SRCDIR= ${.CURDIR}/${RELSRC} .if ${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "i386" || \ - ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "mips" + ${TARGET_ARCH} == "powerpc" || \ + (${TARGET_ARCH} == "mips" && (!defined(TARGET_ABI) || ${TARGET_ABI} != "n64")) CFLAGS+= -DBFD_DEFAULT_TARGET_SIZE=32 .else CFLAGS+= -DBFD_DEFAULT_TARGET_SIZE=64 diff --git a/gnu/usr.bin/binutils/ld/Makefile.mips b/gnu/usr.bin/binutils/ld/Makefile.mips index d1e25ef89ca9..e0d0582df617 100644 --- a/gnu/usr.bin/binutils/ld/Makefile.mips +++ b/gnu/usr.bin/binutils/ld/Makefile.mips @@ -1,15 +1,22 @@ # $FreeBSD$ -#xxxIMPxxx: size? #xxxIMPxxx: TARGET_BIG_ENDIAN is lame. We should use the netbsd convention # of mipsel and mips. -_sz?=32 -.if defined(TARGET_BIG_ENDIAN) -NATIVE_EMULATION=elf${_sz}btsmip_fbsd +.if !defined(TARGET_BIG_ENDIAN) +_EMULATION_ENDIAN=l .else -NATIVE_EMULATION=elf${_sz}ltsmip_fbsd +_EMULATION_ENDIAN=b .endif +.if defined(TARGET_ABI) && ${TARGET_ABI} != "o32" +.if ${TARGET_ABI} == "n32" +NATIVE_EMULATION=elf32${_EMULATION_ENDIAN}tsmipn32_fbsd +.elif ${TARGET_ABI} == "n64" +NATIVE_EMULATION=elf64${_EMULATION_ENDIAN}tsmip_fbsd +.endif +.endif +NATIVE_EMULATION?=elf32${_EMULATION_ENDIAN}tsmip_fbsd + MIPS_ABIS=elf32btsmip_fbsd elf32ltsmip_fbsd elf64btsmip_fbsd elf64ltsmip_fbsd \ elf32btsmipn32_fbsd elf32ltsmipn32_fbsd .for abi in ${MIPS_ABIS} diff --git a/gnu/usr.bin/binutils/libbfd/Makefile.mips b/gnu/usr.bin/binutils/libbfd/Makefile.mips index 6f03eb7e796f..cb1e370e34d2 100644 --- a/gnu/usr.bin/binutils/libbfd/Makefile.mips +++ b/gnu/usr.bin/binutils/libbfd/Makefile.mips @@ -1,8 +1,24 @@ # $FreeBSD$ -#xxxIMPxxx: endian and size +#xxxIMPxxx: TARGET_BIG_ENDIAN is lame. We should use the netbsd convention +# of mipsel and mips. +.if !defined(TARGET_BIG_ENDIAN) +_EMULATION_ENDIAN=little +.else +_EMULATION_ENDIAN=big +.endif + DEFAULT_VECTOR= bfd_elf32_tradbigmips_vec +.if defined(TARGET_ABI) && ${TARGET_ABI} != "o32" +.if ${TARGET_ABI} == "n32" +DEFAULT_VECTOR= bfd_elf32_ntrad${_EMULATION_ENDIAN}mips_vec +.elif ${TARGET_ABI} == "n64" +DEFAULT_VECTOR= bfd_elf64_trad${_EMULATION_ENDIAN}mips_vec +.endif +.endif +DEFAULT_VECTOR?=bfd_elf32_trad${_EMULATION_ENDIAN}mips_vec + SRCS+= coff-mips.c \ cpu-mips.c \ ecoff.c \ diff --git a/gnu/usr.bin/binutils/libbfd/bfd.h b/gnu/usr.bin/binutils/libbfd/bfd.h index 6b152d53e882..5812cebbea38 100644 --- a/gnu/usr.bin/binutils/libbfd/bfd.h +++ b/gnu/usr.bin/binutils/libbfd/bfd.h @@ -1546,10 +1546,12 @@ enum bfd_architecture #define bfd_mach_mips6000 6000 #define bfd_mach_mips7000 7000 #define bfd_mach_mips8000 8000 +#define bfd_mach_mips9000 9000 #define bfd_mach_mips10000 10000 #define bfd_mach_mips12000 12000 #define bfd_mach_mips16 16 #define bfd_mach_mips5 5 +#define bfd_mach_mips_octeon 6502 #define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */ #define bfd_mach_mipsisa32 32 #define bfd_mach_mipsisa32r2 33 |
