svn commit: r217123 - in head: . gnu/lib/libgcc gnu/lib/libgomp
gnu/usr.bin/binutils gnu/usr.bin/binutils/ld
gnu/usr.bin/binutils/libbfd gnu/usr.bin/cc gnu/usr.bin/gdb
gnu/usr.bin/gdb/libgdb lib/li...
Warner Losh
imp at FreeBSD.org
Fri Jan 7 20:26:33 UTC 2011
Author: imp
Date: Fri Jan 7 20:26:33 2011
New Revision: 217123
URL: http://svn.freebsd.org/changeset/base/217123
Log:
Retire TARGET_ABI.
Implement MACHINE_ARCH=mips64e[lb] to build N64 images. This replaces
MACHINE_ARCH=mipse[lb] TARGET_ABI=n64.
MACHINE_ARCH=mipsn32e[lb] has been added, but currently requires
WITHOUT_CDDL due to atomic issues in libzfs. I've not investigated
this much, but implemented this to preserve as much of the TARGET_ABI
functionality that I could. Since its presence doesn't affect the
working cases, I've kept it in for now.
Added mips64e[lb] to make universe, so more kernels build.
And I think this (finally) closes the curtain on the tbemd tree.
Modified:
head/Makefile
head/Makefile.inc1
head/Makefile.mips
head/gnu/lib/libgcc/Makefile
head/gnu/lib/libgomp/Makefile
head/gnu/usr.bin/binutils/Makefile.inc0
head/gnu/usr.bin/binutils/ld/Makefile.mips
head/gnu/usr.bin/binutils/libbfd/Makefile.mips
head/gnu/usr.bin/cc/Makefile.inc
head/gnu/usr.bin/cc/Makefile.tgt
head/gnu/usr.bin/gdb/Makefile.inc
head/gnu/usr.bin/gdb/libgdb/Makefile
head/lib/libc/Makefile
head/share/mk/bsd.endian.mk
head/share/mk/sys.mk
head/usr.bin/xlint/Makefile.inc
head/usr.sbin/Makefile.mips
Modified: head/Makefile
==============================================================================
--- head/Makefile Fri Jan 7 20:07:30 2011 (r217122)
+++ head/Makefile Fri Jan 7 20:26:33 2011 (r217123)
@@ -283,7 +283,7 @@ tinderbox:
.if make(universe) || make(universe_kernels) || make(tinderbox)
TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v
TARGET_ARCHES_arm?= arm armeb
-TARGET_ARCHES_mips?= mipsel mipseb
+TARGET_ARCHES_mips?= mipsel mipseb mips64el mips64eb
TARGET_ARCHES_powerpc?= powerpc powerpc64
TARGET_ARCHES_pc98?= i386
TARGET_ARCHES_sun4v?= sparc64
Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1 Fri Jan 7 20:07:30 2011 (r217122)
+++ head/Makefile.inc1 Fri Jan 7 20:26:33 2011 (r217123)
@@ -121,7 +121,7 @@ VERSION+= ${OSRELDATE}
TARGET_ARCH= ${TARGET:S/pc98/i386/:S/sun4v/sparc64/:S/mips/mipsel/}
.elif !defined(TARGET) && defined(TARGET_ARCH) && \
${TARGET_ARCH} != ${MACHINE_ARCH}
-TARGET= ${TARGET_ARCH:C/mipse[lb]/mips/:C/armeb/arm/}
+TARGET= ${TARGET_ARCH:C/mips.*e[lb]/mips/:C/armeb/arm/}
.endif
# Legacy names, for a transition period mips:mips -> mipsel:mips
.if defined(TARGET) && defined(TARGET_ARCH) && \
@@ -142,7 +142,7 @@ TARGET_ARCH=armeb
TARGET?= ${MACHINE}
TARGET_ARCH?= ${MACHINE_ARCH}
-KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 mipsel/mips mipseb/mips powerpc powerpc64/powerpc sparc64 sparc64/sun4v
+KNOWN_ARCHES?= amd64 arm armeb/arm i386 i386/pc98 ia64 mipsel/mips mipseb/mips mips64el/mips mips64eb/mips mipsn32el/mips mipsn32eb/mips powerpc powerpc64/powerpc sparc64 sparc64/sun4v
.if ${TARGET} == ${TARGET_ARCH}
_t= ${TARGET}
.else
Modified: head/Makefile.mips
==============================================================================
--- head/Makefile.mips Fri Jan 7 20:07:30 2011 (r217122)
+++ head/Makefile.mips Fri Jan 7 20:26:33 2011 (r217123)
@@ -1,5 +1,5 @@
# $FreeBSD$
-.if defined(TARGET_ABI) && ${TARGET_ABI} == "n64"
+.if ${MACHINE_ARCH} != "mipsel" && ${MACHINE_ARCH} != "mipseb"
MK_RESCUE=no
.endif
Modified: head/gnu/lib/libgcc/Makefile
==============================================================================
--- head/gnu/lib/libgcc/Makefile Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/lib/libgcc/Makefile Fri Jan 7 20:26:33 2011 (r217123)
@@ -119,9 +119,10 @@ LIB2FUNCS_EXTRA = floatunsidf.c floatuns
# _fixsfsi _fixunssfsi _floatdidf _floatdisf
.endif
-.if ${TARGET_CPUARCH} == "mips"
+.if ${TARGET_CPUARCH} == mips
LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c
-.if defined(TARGET_ABI) && ${TARGET_ABI} != "o32"
+# XXX do we need n32 here?
+.if ${TARGET_ARCH:Mmips64*} != ""
LIB2FUNCS_EXTRA+= floatdidf.c fixunsdfsi.c
LIB2FUNCS_EXTRA+= floatdisf.c floatundidf.c
LIB2FUNCS_EXTRA+= fixsfdi.c floatundisf.c
Modified: head/gnu/lib/libgomp/Makefile
==============================================================================
--- head/gnu/lib/libgomp/Makefile Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/lib/libgomp/Makefile Fri Jan 7 20:26:33 2011 (r217123)
@@ -25,8 +25,7 @@ VERSION_MAP= ${SRCDIR}/libgomp.map
# Target-specific OpenMP configuration
.if ${MACHINE_CPUARCH} == arm || ${MACHINE_CPUARCH} == i386 || \
${MACHINE_ARCH} == powerpc || \
- (${MACHINE_CPUARCH} == mips && \
- (!defined(TARGET_ABI) || ${TARGET_ABI} != "n64"))
+ ${MACHINE_ARCH} == mipsel || ${MACHINE_ARCH} == mipseb
OMP_LOCK_ALIGN = 4
OMP_LOCK_KIND= 4
OMP_LOCK_SIZE= 4
Modified: head/gnu/usr.bin/binutils/Makefile.inc0
==============================================================================
--- head/gnu/usr.bin/binutils/Makefile.inc0 Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/usr.bin/binutils/Makefile.inc0 Fri Jan 7 20:26:33 2011 (r217123)
@@ -7,14 +7,14 @@
VERSION= "2.15 [FreeBSD] 2004-05-23"
.if defined(TARGET_ARCH)
-TARGET_CPUARCH=${TARGET_ARCH:C/mipse[bl]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
+TARGET_CPUARCH=${TARGET_ARCH:C/mips.*e[bl]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
.else
TARGET_CPUARCH=${MACHINE_CPUARCH}
.endif
TARGET_ARCH?= ${MACHINE_ARCH}
BINUTILS_ARCH=${TARGET_ARCH:C/amd64/x86_64/}
TARGET_TUPLE?= ${BINUTILS_ARCH}-obrien-freebsd
-.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH} == "mipseb"
+.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH:Mmips*eb} != ""
TARGET_BIG_ENDIAN=t
.endif
@@ -28,8 +28,7 @@ SRCDIR= ${.CURDIR}/${RELSRC}
.if ${TARGET_CPUARCH} == "arm" || ${TARGET_CPUARCH} == "i386" || \
${TARGET_ARCH} == "powerpc" || \
- (${TARGET_CPUARCH} == "mips" && \
- (!defined(TARGET_ABI) || ${TARGET_ABI} != "n64"))
+ ${TARGET_ARCH} == "mipsel" || ${TARGET_ARCH} == "mipseb"
CFLAGS+= -DBFD_DEFAULT_TARGET_SIZE=32
.else
CFLAGS+= -DBFD_DEFAULT_TARGET_SIZE=64
Modified: head/gnu/usr.bin/binutils/ld/Makefile.mips
==============================================================================
--- head/gnu/usr.bin/binutils/ld/Makefile.mips Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/usr.bin/binutils/ld/Makefile.mips Fri Jan 7 20:26:33 2011 (r217123)
@@ -1,19 +1,18 @@
# $FreeBSD$
-.if ${TARGET_ARCH} == "mipsel"
+.if ${TARGET_ARCH:Mmips*el} != ""
_EMULATION_ENDIAN=l
.else
_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"
+.if ${TARGET_ARCH:Mmips64*} != ""
NATIVE_EMULATION=elf64${_EMULATION_ENDIAN}tsmip_fbsd
-.endif
-.endif
+.elif ${TARGET_ARCH:Mmipsn32*} != ""
+NATIVE_EMULATION=elf32${_EMULATION_ENDIAN}tsmipn32_fbsd
+.else
NATIVE_EMULATION?=elf32${_EMULATION_ENDIAN}tsmip_fbsd
+.endif
MIPS_ABIS=elf32btsmip_fbsd elf32ltsmip_fbsd elf64btsmip_fbsd elf64ltsmip_fbsd \
elf32btsmipn32_fbsd elf32ltsmipn32_fbsd
Modified: head/gnu/usr.bin/binutils/libbfd/Makefile.mips
==============================================================================
--- head/gnu/usr.bin/binutils/libbfd/Makefile.mips Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/usr.bin/binutils/libbfd/Makefile.mips Fri Jan 7 20:26:33 2011 (r217123)
@@ -1,19 +1,18 @@
# $FreeBSD$
-.if ${TARGET_ARCH} == "mipsel"
+.if ${TARGET_ARCH:Mmips*el} != ""
_EMULATION_ENDIAN=little
.else
_EMULATION_ENDIAN=big
.endif
-.if defined(TARGET_ABI) && ${TARGET_ABI} != "o32"
-.if ${TARGET_ABI} == "n32"
-DEFAULT_VECTOR= bfd_elf32_ntrad${_EMULATION_ENDIAN}mips_vec
-.elif ${TARGET_ABI} == "n64"
+.if ${TARGET_ARCH:Mmips64*} != ""
DEFAULT_VECTOR= bfd_elf64_trad${_EMULATION_ENDIAN}mips_vec
+.elif ${TARGET_ARCH:Mmipsn32*} != ""
+DEFAULT_VECTOR= bfd_elf32_ntrad${_EMULATION_ENDIAN}mips_vec
+.else
+DEFAULT_VECTOR=bfd_elf32_trad${_EMULATION_ENDIAN}mips_vec
.endif
-.endif
-DEFAULT_VECTOR?=bfd_elf32_trad${_EMULATION_ENDIAN}mips_vec
SRCS+= coff-mips.c \
cpu-mips.c \
Modified: head/gnu/usr.bin/cc/Makefile.inc
==============================================================================
--- head/gnu/usr.bin/cc/Makefile.inc Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/usr.bin/cc/Makefile.inc Fri Jan 7 20:26:33 2011 (r217123)
@@ -36,21 +36,18 @@ CFLAGS+= -DCROSS_COMPILE
CFLAGS += -DTARGET_ENDIAN_DEFAULT=MASK_BIG_END
.endif
-
.if ${TARGET_CPUARCH} == "mips"
-.if ${TARGET_ARCH} == "mipsel"
+.if ${TARGET_ARCH:Mmips*el} != ""
CFLAGS += -DTARGET_ENDIAN_DEFAULT=0
.endif
-.if defined(TARGET_ABI) && ${TARGET_ABI} != "o32"
-.if ${TARGET_ABI} == "n32"
-MIPS_ABI_DEFAULT=ABI_N32
-.elif ${TARGET_ABI} == "n64"
+.if ${TARGET_ARCH:Mmips64*} != ""
MIPS_ABI_DEFAULT=ABI_64
+.elif ${TARGET_ARCH:Mmipsn32*} != ""
+MIPS_ABI_DEFAULT=ABI_N32
+.else
+MIPS_ABI_DEFAULT=ABI_32
.endif
-.endif
-
-MIPS_ABI_DEFAULT?=ABI_32
CFLAGS += -DMIPS_ABI_DEFAULT=${MIPS_ABI_DEFAULT}
# If we are compiling for the O32 ABI, we need to default to MIPS-III rather
Modified: head/gnu/usr.bin/cc/Makefile.tgt
==============================================================================
--- head/gnu/usr.bin/cc/Makefile.tgt Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/usr.bin/cc/Makefile.tgt Fri Jan 7 20:26:33 2011 (r217123)
@@ -4,7 +4,7 @@
# MACHINE_CPUARCH, but there's no easy way to export make functions...
.if defined(TARGET_ARCH)
-TARGET_CPUARCH=${TARGET_ARCH:C/mipse[bl]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
+TARGET_CPUARCH=${TARGET_ARCH:C/mips.*e[bl]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
.else
TARGET_CPUARCH=${MACHINE_CPUARCH}
.endif
@@ -17,7 +17,7 @@ TARGET_CPU_DEFAULT= MASK_GNU_AS|MASK_GNU
.if ${TARGET_ARCH} == "sparc64"
TARGET_CPU_DEFAULT= TARGET_CPU_ultrasparc
.endif
-.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH} == "mipseb" || ${TARGET_ARCH} == "mips64eb"
+.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH:Mmips*eb} != ""
TARGET_BIG_ENDIAN=t
.endif
.if ${TARGET_ARCH} == "powerpc64"
Modified: head/gnu/usr.bin/gdb/Makefile.inc
==============================================================================
--- head/gnu/usr.bin/gdb/Makefile.inc Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/usr.bin/gdb/Makefile.inc Fri Jan 7 20:26:33 2011 (r217123)
@@ -20,7 +20,7 @@ OBJ_GDB= ${OBJ_ROOT}/gdb
# MACHINE_CPUARCH, but there's no easy way to export make functions...
.if defined(TARGET_ARCH)
-TARGET_CPUARCH=${TARGET_ARCH:C/mipse[bl]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
+TARGET_CPUARCH=${TARGET_ARCH:C/mips.*e[bl]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
.else
TARGET_CPUARCH=${MACHINE_CPUARCH}
.endif
Modified: head/gnu/usr.bin/gdb/libgdb/Makefile
==============================================================================
--- head/gnu/usr.bin/gdb/libgdb/Makefile Fri Jan 7 20:07:30 2011 (r217122)
+++ head/gnu/usr.bin/gdb/libgdb/Makefile Fri Jan 7 20:26:33 2011 (r217123)
@@ -4,7 +4,7 @@
# MACHINE_CPUARCH, but there's no easy way to export make functions...
.if defined(TARGET_ARCH)
-TARGET_CPUARCH=${TARGET_ARCH:C/mipse[bl]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
+TARGET_CPUARCH=${TARGET_ARCH:C/mips.*e[bl]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
.else
TARGET_CPUARCH=${MACHINE_CPUARCH}
.endif
Modified: head/lib/libc/Makefile
==============================================================================
--- head/lib/libc/Makefile Fri Jan 7 20:07:30 2011 (r217122)
+++ head/lib/libc/Makefile Fri Jan 7 20:26:33 2011 (r217123)
@@ -68,11 +68,7 @@ NOASM=
${LIBC_ARCH} != "ia64" && \
${LIBC_ARCH} != "powerpc64" && \
${LIBC_ARCH} != "sparc64" && \
- ${LIBC_ARCH} != "mips"
-.include "${.CURDIR}/quad/Makefile.inc"
-.endif
-.if ${LIBC_ARCH} == "mips" && \
- (!defined(TARGET_ABI) || ${TARGET_ABI} == "o32")
+ ${MACHINE_ARCH:Mmips64*} == ""
.include "${.CURDIR}/quad/Makefile.inc"
.endif
.include "${.CURDIR}/regex/Makefile.inc"
Modified: head/share/mk/bsd.endian.mk
==============================================================================
--- head/share/mk/bsd.endian.mk Fri Jan 7 20:07:30 2011 (r217122)
+++ head/share/mk/bsd.endian.mk Fri Jan 7 20:26:33 2011 (r217123)
@@ -4,12 +4,12 @@
${MACHINE_ARCH} == "i386" || \
${MACHINE_ARCH} == "ia64" || \
${MACHINE_ARCH} == "arm" || \
- ${MACHINE_ARCH} == "mipsel"
+ ${MACHINE_ARCH:Mmips*el} != ""
TARGET_ENDIANNESS= 1234
.elif ${MACHINE_ARCH} == "powerpc" || \
${MACHINE_ARCH} == "powerpc64" || \
${MACHINE_ARCH} == "sparc64" || \
${MACHINE_ARCH} == "armeb" || \
- ${MACHINE_ARCH} == "mipseb"
+ ${MACHINE_ARCH:Mmips*eb} != ""
TARGET_ENDIANNESS= 4321
.endif
Modified: head/share/mk/sys.mk
==============================================================================
--- head/share/mk/sys.mk Fri Jan 7 20:07:30 2011 (r217122)
+++ head/share/mk/sys.mk Fri Jan 7 20:26:33 2011 (r217123)
@@ -13,7 +13,7 @@ unix ?= We run FreeBSD, not UNIX.
# and/or endian. This is called MACHINE_CPU in NetBSD, but that's used
# for something different in FreeBSD.
#
-MACHINE_CPUARCH=${MACHINE_ARCH:C/mipse[lb]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
+MACHINE_CPUARCH=${MACHINE_ARCH:C/mips.*e[lb]/mips/:C/armeb/arm/:C/powerpc64/powerpc/}
.endif
# If the special target .POSIX appears (without prerequisites or
Modified: head/usr.bin/xlint/Makefile.inc
==============================================================================
--- head/usr.bin/xlint/Makefile.inc Fri Jan 7 20:07:30 2011 (r217122)
+++ head/usr.bin/xlint/Makefile.inc Fri Jan 7 20:26:33 2011 (r217123)
@@ -8,7 +8,7 @@ WARNS?= 0
# These assignments duplicate much of the functionality of
# MACHINE_CPUARCH, but there's no easy way to export make functions...
.if defined(TARGET_ARCH)
-TARGET_CPUARCH= ${TARGET_ARCH:C/mipse[bl]/mips/:C/armeb/arm/}
+TARGET_CPUARCH= ${TARGET_ARCH:C/mips.*e[bl]/mips/:C/armeb/arm/}
.else
TARGET_CPUARCH= ${MACHINE_CPUARCH}
TARGET_ARCH= ${MACHINE_ARCH}
Modified: head/usr.sbin/Makefile.mips
==============================================================================
--- head/usr.sbin/Makefile.mips Fri Jan 7 20:07:30 2011 (r217122)
+++ head/usr.sbin/Makefile.mips Fri Jan 7 20:26:33 2011 (r217123)
@@ -1,6 +1,6 @@
# $FreeBSD$
SUBDIR:= ${SUBDIR:Nsysinstall}
-.if defined(TARGET_ABI) && ${TARGET_ABI} == "n64"
+.if ${MACHINE_ARCH:Mmips64*} != ""
SUBDIR:= ${SUBDIR:Nuathload}
.endif
More information about the svn-src-all
mailing list