svn commit: r215082 - in head: . gnu/lib/libgcc gnu/usr.bin/binutils gnu/usr.bin/binutils/as gnu/usr.bin/binutils/ld gnu/usr.bin/binutils/libbfd gnu/usr.bin/cc gnu/usr.bin/cc/cc_int gnu/usr.bin/cc/...

Warner Losh imp at FreeBSD.org
Wed Nov 10 06:39:50 UTC 2010


Author: imp
Date: Wed Nov 10 06:39:49 2010
New Revision: 215082
URL: http://svn.freebsd.org/changeset/base/215082

Log:
  Complete the integration of tbemd branch into head.
  
  TARGET_BIG_ENDIAN is now completely dead, except where it was
  originally supposed to be used (internally in the toolchain building).
  
  TARGET_ARCH has changed in three cases:
  (1) Little endian mips has changed to mipsel.
  (2) Big endian mips has changed to mipseb.
  (3) Big endian arm has changed to armeb.
  
  Some additional changes are needed to make 'make universe' work on arm
  and mips after this change, so those are commented out for now.
  
  UPDATING information will be forthcoming.  Any remaining rough edges
  will be hammered out in -current.

Modified:
  head/Makefile
  head/gnu/lib/libgcc/Makefile
  head/gnu/usr.bin/binutils/Makefile.inc0
  head/gnu/usr.bin/binutils/as/Makefile
  head/gnu/usr.bin/binutils/ld/Makefile.arm
  head/gnu/usr.bin/binutils/ld/Makefile.mips
  head/gnu/usr.bin/binutils/libbfd/Makefile.arm
  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/cc/cc_int/Makefile
  head/gnu/usr.bin/cc/cc_tools/Makefile
  head/gnu/usr.bin/gdb/Makefile.inc
  head/gnu/usr.bin/gdb/kgdb/Makefile
  head/gnu/usr.bin/gdb/libgdb/Makefile
  head/share/mk/bsd.cpu.mk
  head/share/mk/bsd.endian.mk
  head/sys/conf/Makefile.mips

Modified: head/Makefile
==============================================================================
--- head/Makefile	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/Makefile	Wed Nov 10 06:39:49 2010	(r215082)
@@ -281,7 +281,7 @@ tinderbox:
 # existing system is.
 #
 .if make(universe) || make(universe_kernels) || make(tinderbox)
-TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v
+TARGETS?=amd64 i386 ia64 pc98 powerpc sparc64 sun4v
 
 .if defined(DOING_TINDERBOX)
 FAILFILE=tinderbox.failed

Modified: head/gnu/lib/libgcc/Makefile
==============================================================================
--- head/gnu/lib/libgcc/Makefile	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/lib/libgcc/Makefile	Wed Nov 10 06:39:49 2010	(r215082)
@@ -27,7 +27,7 @@ CFLAGS+=	-DIN_GCC -DIN_LIBGCC2 -D__GCC_F
 LDFLAGS+=	-nodefaultlibs
 LDADD+=		-lc
 
-OBJS=		# added to below in various ways depending on TARGET_ARCH
+OBJS=		# added to below in various ways depending on TARGET_CPUARCH
 
 #---------------------------------------------------------------------------
 #
@@ -100,7 +100,7 @@ LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udi
 #	Platform specific bits.
 #	When upgrading GCC, get the following definitions from config/<cpu>/t-*
 #
-.if ${TARGET_ARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm"
 #	from config/arm/t-strongarm-elf
 CFLAGS+=	-Dinhibit_libc -fno-inline
 LIB1ASMSRC =	lib1funcs.asm
@@ -116,7 +116,7 @@ LIB2FUNCS_EXTRA = floatunsidf.c floatuns
 #	_fixsfsi _fixunssfsi _floatdidf _floatdisf
 .endif
 
-.if ${TARGET_ARCH} == "mips"
+.if ${TARGET_CPUARCH} == "mips"
 LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c
 .if defined(TARGET_ABI) && ${TARGET_ABI} != "o32"
 LIB2FUNCS_EXTRA+= floatdidf.c fixunsdfsi.c
@@ -126,7 +126,7 @@ LIB2FUNCS_EXTRA+= fixdfdi.c fixunssfsi.c
 .endif
 .endif
 
-.if ${TARGET_ARCH} == "ia64"
+.if ${TARGET_CPUARCH} == "ia64"
 #	from config/ia64/t-ia64
 LIB1ASMSRC   = lib1funcs.asm
 LIB1ASMFUNCS = __divxf3 __divdf3 __divsf3 \
@@ -137,18 +137,18 @@ LIB1ASMFUNCS = __divxf3 __divdf3 __divsf
 LIB2ADDEH = unwind-ia64.c unwind-sjlj.c unwind-c.c
 .endif
 
-.if ${TARGET_ARCH} == "powerpc"
+.if ${TARGET_CPUARCH} == "powerpc"
 #	from config/rs6000/t-ppccomm
 LIB2FUNCS_EXTRA = tramp.asm
 LIB2FUNCS_STATIC_EXTRA = eabi.asm
 .endif
 
-.if ${TARGET_ARCH} == "powerpc64"
+.if ${TARGET_CPUARCH} == "powerpc64"
 #	from config/rs6000/t-ppccomm
 LIB2FUNCS_EXTRA = tramp.asm
 .endif
 
-.if ${TARGET_ARCH} == "sparc64"
+.if ${TARGET_CPUARCH} == "sparc64"
 #	from config/sparc/t-elf
 LIB1ASMSRC =   lb1spc.asm
 LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
@@ -195,8 +195,8 @@ OBJ_GRPS =	STD DIV
 #
 # Floating point emulation functions
 #
-.if ${TARGET_ARCH} == "armNOT_YET" || \
-    ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "sparc64"
+.if ${TARGET_CPUARCH} == "armNOT_YET" || \
+    ${TARGET_CPUARCH} == "powerpc" || ${TARGET_CPUARCH} == "sparc64"
 
 FPBIT_CFLAGS =	-DFINE_GRAINED_LIBRARIES -DFLOAT
 DPBIT_CFLAGS =	-DFINE_GRAINED_LIBRARIES

Modified: head/gnu/usr.bin/binutils/Makefile.inc0
==============================================================================
--- head/gnu/usr.bin/binutils/Makefile.inc0	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/binutils/Makefile.inc0	Wed Nov 10 06:39:49 2010	(r215082)
@@ -6,13 +6,17 @@
 
 VERSION=	"2.15 [FreeBSD] 2004-05-23"
 
-TARGET_ARCH?=	${MACHINE_ARCH}
-.if ${TARGET_ARCH} == "amd64"
-BINUTILS_ARCH=x86_64
+.if defined(TARGET_ARCH)
+TARGET_CPUARCH=${TARGET_ARCH:C/mipse[bl]/mips/:C/armeb/arm/}
 .else
-BINUTILS_ARCH=${TARGET_ARCH}
+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"
+TARGET_BIG_ENDIAN=t
+.endif
 
 # RELTOP is the relative path to this point in the source or object
 # tree, from any subdirectory of same.  It gets extra "../" prefixes
@@ -22,28 +26,29 @@ RELTOP:= ..
 RELSRC=	${RELTOP}/../../../contrib/binutils
 SRCDIR=	${.CURDIR}/${RELSRC}
 
-.if ${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "i386" || \
-	${TARGET_ARCH} == "powerpc" || \
-	(${TARGET_ARCH} == "mips" && (!defined(TARGET_ABI) || ${TARGET_ABI} != "n64"))
+.if ${TARGET_CPUARCH} == "arm" || ${TARGET_CPUARCH} == "i386" || \
+	${TARGET_CPUARCH} == "powerpc" || \
+	(${TARGET_CPUARCH} == "mips" && \
+		(!defined(TARGET_ABI) || ${TARGET_ABI} != "n64"))
 CFLAGS+= -DBFD_DEFAULT_TARGET_SIZE=32
 .else
 CFLAGS+= -DBFD_DEFAULT_TARGET_SIZE=64
 .endif
 
 CFLAGS+= -I.
-.if exists(${.CURDIR}/${TARGET_ARCH})
-CFLAGS+= -I${.CURDIR}/${TARGET_ARCH}
+.if exists(${.CURDIR}/${TARGET_CPUARCH})
+CFLAGS+= -I${.CURDIR}/${TARGET_CPUARCH}
 .endif
 CFLAGS+= -I${.CURDIR}
 CFLAGS+= -I${.CURDIR}/${RELTOP}/libbfd
 CFLAGS+= -I${.OBJDIR}/${RELTOP}/libbfd
 CFLAGS+= -I${SRCDIR}/include
 
-.if exists(${.CURDIR}/${TARGET_ARCH})
-.PATH: ${.CURDIR}/${TARGET_ARCH}
+.if exists(${.CURDIR}/${TARGET_CPUARCH})
+.PATH: ${.CURDIR}/${TARGET_CPUARCH}
 .endif
 
-ARCHS=	${TARGET_ARCH}
+ARCHS=	${TARGET_CPUARCH}
 
 .for _arch in ${CROSS_ARCH}
 .if (${ARCHS:R:M${_arch:R}} == "")

Modified: head/gnu/usr.bin/binutils/as/Makefile
==============================================================================
--- head/gnu/usr.bin/binutils/as/Makefile	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/binutils/as/Makefile	Wed Nov 10 06:39:49 2010	(r215082)
@@ -20,7 +20,7 @@ SRCS+=	app.c as.c atof-generic.c atof-ie
 # DEO: why not used?
 #SRCS+=	itbl-ops.c
 
-.if ${TARGET_ARCH} == "mips"
+.if ${TARGET_CPUARCH} == "mips"
 SRCS+=	itbl-ops.c itbl-parse.y itbl-lex.l
 .endif
 
@@ -32,7 +32,7 @@ SRCS+=	tc-ppc.c
 # change back to tc-sparc.c when new binutils is imported
 SRCS+=	tc-sparc-fixed.c
 .else
-SRCS+=	tc-${TARGET_ARCH}.c
+SRCS+=	tc-${TARGET_CPUARCH}.c
 .endif
 
 .if ${TARGET_ARCH} == "sparc64"
@@ -49,7 +49,7 @@ CFLAGS+= -DTARGET_ALIAS=\"${TARGET_TUPLE
 CFLAGS+= -DVERSION=\"${VERSION}\"
 CFLAGS+= -D_GNU_SOURCE
 CFLAGS+= -I${SRCDIR}/gas -I${SRCDIR}/gas/config -I${SRCDIR}
-CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${TARGET_ARCH}-freebsd
+CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${TARGET_CPUARCH}-freebsd
 
 NO_SHARED?=	yes
 

Modified: head/gnu/usr.bin/binutils/ld/Makefile.arm
==============================================================================
--- head/gnu/usr.bin/binutils/ld/Makefile.arm	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/binutils/ld/Makefile.arm	Wed Nov 10 06:39:49 2010	(r215082)
@@ -1,6 +1,6 @@
 # $FreeBSD$
 
-.if defined(TARGET_BIG_ENDIAN)
+.if ${TARGET_ARCH} == "armeb"
 NATIVE_EMULATION= armelfb_fbsd
 .else
 NATIVE_EMULATION= armelf_fbsd

Modified: head/gnu/usr.bin/binutils/ld/Makefile.mips
==============================================================================
--- head/gnu/usr.bin/binutils/ld/Makefile.mips	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/binutils/ld/Makefile.mips	Wed Nov 10 06:39:49 2010	(r215082)
@@ -1,8 +1,6 @@
 # $FreeBSD$
 
-#xxxIMPxxx: TARGET_BIG_ENDIAN is lame.  We should use the netbsd convention
-# of mipsel and mips.
-.if !defined(TARGET_BIG_ENDIAN)
+.if ${TARGET_ARCH} == "mipsel"
 _EMULATION_ENDIAN=l
 .else
 _EMULATION_ENDIAN=b

Modified: head/gnu/usr.bin/binutils/libbfd/Makefile.arm
==============================================================================
--- head/gnu/usr.bin/binutils/libbfd/Makefile.arm	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/binutils/libbfd/Makefile.arm	Wed Nov 10 06:39:49 2010	(r215082)
@@ -1,6 +1,6 @@
 # $FreeBSD$
 
-.if defined(TARGET_BIG_ENDIAN)
+.if ${TARGET_ARCH} == "armeb"
 DEFAULT_VECTOR=	bfd_elf32_bigarm_vec
 .else
 DEFAULT_VECTOR=	bfd_elf32_littlearm_vec
@@ -14,7 +14,7 @@ SRCS+=	cpu-arm.c \
 	elflink.c
 
 VECS+=	${DEFAULT_VECTOR}
-.if defined(TARGET_BIG_ENDIAN)
+.if ${TARGET_ARCH} == "armeb"
 VECS+=	bfd_elf32_littlearm_vec
 .else
 VECS+=	bfd_elf32_bigarm_vec

Modified: head/gnu/usr.bin/binutils/libbfd/Makefile.mips
==============================================================================
--- head/gnu/usr.bin/binutils/libbfd/Makefile.mips	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/binutils/libbfd/Makefile.mips	Wed Nov 10 06:39:49 2010	(r215082)
@@ -1,15 +1,11 @@
 # $FreeBSD$
 
-#xxxIMPxxx: TARGET_BIG_ENDIAN is lame.  We should use the netbsd convention
-# of mipsel and mips.
-.if !defined(TARGET_BIG_ENDIAN)
+.if ${TARGET_ARCH} == "mipsel"
 _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

Modified: head/gnu/usr.bin/cc/Makefile.inc
==============================================================================
--- head/gnu/usr.bin/cc/Makefile.inc	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/cc/Makefile.inc	Wed Nov 10 06:39:49 2010	(r215082)
@@ -32,9 +32,13 @@ CFLAGS+=	-DLONG_TYPE_SIZE=${LONG_TYPE_SI
 CFLAGS+=	-DCROSS_COMPILE
 .endif
 
-.if ${TARGET_ARCH} == "mips"
-# XXX This is backwards, MIPS should default to BE.
-.if !defined(TARGET_BIG_ENDIAN)
+.if ${TARGET_ARCH} == "armeb"
+CFLAGS += -DTARGET_ENDIAN_DEFAULT=MASK_BIG_END
+.endif
+
+
+.if ${TARGET_CPUARCH} == "mips"
+.if ${TARGET_ARCH} == "mipsel"
 CFLAGS += -DTARGET_ENDIAN_DEFAULT=0
 .endif
 

Modified: head/gnu/usr.bin/cc/Makefile.tgt
==============================================================================
--- head/gnu/usr.bin/cc/Makefile.tgt	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/cc/Makefile.tgt	Wed Nov 10 06:39:49 2010	(r215082)
@@ -1,16 +1,15 @@
 # $FreeBSD$
 
-TARGET_ARCH?=	${MACHINE_ARCH}
+# These assignments duplicate much of the functionality of
+# MACHINE_CPUARCH, but there's no easy way to export make functions...
 
-.if ${TARGET_ARCH} == "amd64"
-GCC_CPU=	i386
-.elif ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpc64"
-GCC_CPU=	rs6000
-.elif ${TARGET_ARCH} == "sparc64"
-GCC_CPU=	sparc
+.if defined(TARGET_ARCH)
+TARGET_CPUARCH=${TARGET_ARCH:C/mipse[bl]/mips/:C/armeb/arm/}
 .else
-GCC_CPU=	${TARGET_ARCH}
+TARGET_CPUARCH=${MACHINE_CPUARCH}
 .endif
+TARGET_ARCH?=	${MACHINE_ARCH}
+GCC_CPU=${TARGET_CPUARCH:C/amd64/i386/:C/powerpc/rs6000/:C/sparc64/sparc/}
 
 .if ${TARGET_ARCH} == "ia64"
 TARGET_CPU_DEFAULT= MASK_GNU_AS|MASK_GNU_LD
@@ -18,7 +17,9 @@ 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"
+TARGET_BIG_ENDIAN=t
+.endif
 .if ${TARGET_ARCH} == "powerpc64"
 TARGET_CPU_DEFAULT= \"powerpc64\"
 .endif
-

Modified: head/gnu/usr.bin/cc/cc_int/Makefile
==============================================================================
--- head/gnu/usr.bin/cc/cc_int/Makefile	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/cc/cc_int/Makefile	Wed Nov 10 06:39:49 2010	(r215082)
@@ -75,10 +75,6 @@ OBJS-md+= ${GCC_CPU}-c.o
 # Target specific, C specific object file
 C_TARGET_OBJS=
 
-.if ${TARGET_ARCH} == "arm" && defined(TARGET_BIG_ENDIAN)
-CFLAGS += -DTARGET_ENDIAN_DEFAULT=MASK_BIG_END
-.endif
-
 # Language-specific object files for C and Objective C.
 C_AND_OBJC_OBJS = attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
   c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o \

Modified: head/gnu/usr.bin/cc/cc_tools/Makefile
==============================================================================
--- head/gnu/usr.bin/cc/cc_tools/Makefile	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/cc/cc_tools/Makefile	Wed Nov 10 06:39:49 2010	(r215082)
@@ -22,13 +22,13 @@ LIBIBERTY=	libiberty.a
 # The list of headers to go into tm.h
 #
 TARGET_INC+=	options.h
-.if ${TARGET_ARCH} == "amd64"
+.if ${TARGET_CPUARCH} == "amd64"
 TARGET_INC+=	i386/biarch64.h
 .endif
-.if ${TARGET_ARCH} != "arm"
+.if ${TARGET_CPUARCH} != "arm"
 TARGET_INC+=	${GCC_CPU}/${GCC_CPU}.h
 .endif
-.if ${TARGET_ARCH} == "i386" || ${TARGET_ARCH} == "amd64"
+.if ${TARGET_CPUARCH} == "i386" || ${TARGET_CPUARCH} == "amd64"
 TARGET_INC+=	${GCC_CPU}/unix.h
 TARGET_INC+=	${GCC_CPU}/att.h
 .endif
@@ -38,18 +38,18 @@ TARGET_INC+=	elfos.h
 TARGET_INC+=	freebsd-native.h
 TARGET_INC+=	freebsd-spec.h
 TARGET_INC+=	freebsd.h
-.if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64"
+.if ${TARGET_CPUARCH} != "i386" && ${TARGET_CPUARCH} != "amd64"
 . if exists(${GCCDIR}/config/${GCC_CPU}/sysv4.h)
 TARGET_INC+=	${GCC_CPU}/sysv4.h
 . endif
 .endif
-.if ${TARGET_ARCH} == "amd64"
+.if ${TARGET_CPUARCH} == "amd64"
 TARGET_INC+=	${GCC_CPU}/x86-64.h
 .endif
-.if ${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "mips"
+.if ${TARGET_CPUARCH} == "arm" || ${TARGET_CPUARCH} == "mips"
 TARGET_INC+=	${GCC_CPU}/elf.h
 .endif
-.if ${TARGET_ARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm"
 TARGET_INC+=	${GCC_CPU}/aout.h
 .endif
 .if ${TARGET_ARCH} == "powerpc64"
@@ -57,10 +57,10 @@ TARGET_INC+=	${GCC_CPU}/biarch64.h
 TARGET_INC+=    ${GCC_CPU}/default64.h
 .endif
 TARGET_INC+=	${GCC_CPU}/freebsd.h
-.if ${TARGET_ARCH} == "amd64"
+.if ${TARGET_CPUARCH} == "amd64"
 TARGET_INC+=	${GCC_CPU}/freebsd64.h
 .endif
-.if ${TARGET_ARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm"
 TARGET_INC+=	${GCC_CPU}/arm.h
 .endif
 TARGET_INC+=	defaults.h
@@ -175,11 +175,11 @@ OPT_FILES+=	${GCCDIR}/config/${GCC_CPU}/
 OPT_FILES+=	${.CURDIR}/${GCC_CPU}-freebsd.opt
 .endif
 
-.if ${TARGET_ARCH} == "powerpc" || ${TARGET_ARCH} == "powerpc64"
+.if ${TARGET_CPUARCH} == "powerpc"
 OPT_FILES+=	${GCCDIR}/config/${GCC_CPU}/sysv4.opt
 .endif
 
-.if ${TARGET_ARCH} == "sparc64"
+.if ${TARGET_CPUARCH} == "sparc64"
 OPT_FILES+=	${GCCDIR}/config/${GCC_CPU}/long-double-switch.opt
 .endif
 

Modified: head/gnu/usr.bin/gdb/Makefile.inc
==============================================================================
--- head/gnu/usr.bin/gdb/Makefile.inc	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/gdb/Makefile.inc	Wed Nov 10 06:39:49 2010	(r215082)
@@ -16,8 +16,16 @@ OBJ_ROOT= ${.OBJDIR}/../..
 OBJ_BU= ${OBJ_ROOT}/binutils
 OBJ_GDB= ${OBJ_ROOT}/gdb
 
-TARGET_ARCH?= ${MACHINE_ARCH}
-TARGET_SUBDIR= ${BMAKE_GDB}/arch/${TARGET_ARCH}
+# 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/}
+.else
+TARGET_CPUARCH=${MACHINE_CPUARCH}
+.endif
+TARGET_ARCH?=	${MACHINE_ARCH}
+TARGET_SUBDIR= ${BMAKE_GDB}/arch/${TARGET_CPUARCH}
 
 .if ${TARGET_ARCH} != ${MACHINE_ARCH}
 GDB_CROSS_DEBUGGER=
@@ -31,7 +39,7 @@ GDB_CROSS_DEBUGGER=
 CFLAGS+= -DHAVE_CONFIG_H -DRL_NO_COMPAT -DMI_OUT=1 -DTUI=1
 CFLAGS+= -I.
 CFLAGS+= -I${TARGET_SUBDIR}
-CFLAGS+= -I${BMAKE_BU}/libbfd -I${BMAKE_BU}/libbfd/${TARGET_ARCH}
+CFLAGS+= -I${BMAKE_BU}/libbfd -I${BMAKE_BU}/libbfd/${TARGET_CPUARCH}
 CFLAGS+= -I${CNTRB_GDB}/gdb
 CFLAGS+= -I${CNTRB_GDB}/gdb/config
 CFLAGS+= -I${CNTRB_GDB}/include

Modified: head/gnu/usr.bin/gdb/kgdb/Makefile
==============================================================================
--- head/gnu/usr.bin/gdb/kgdb/Makefile	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/gdb/kgdb/Makefile	Wed Nov 10 06:39:49 2010	(r215082)
@@ -1,7 +1,7 @@
 # $FreeBSD$
 
 PROG=	kgdb${GDB_SUFFIX}
-SRCS=	main.c kld.c kthr.c trgt.c trgt_${TARGET_ARCH}.c
+SRCS=	main.c kld.c kthr.c trgt.c trgt_${TARGET_CPUARCH}.c
 WARNS?=	2
 
 BULIBS= ${OBJ_BU}/libbfd/libbfd.a ${OBJ_BU}/libopcodes/libopcodes.a \

Modified: head/gnu/usr.bin/gdb/libgdb/Makefile
==============================================================================
--- head/gnu/usr.bin/gdb/libgdb/Makefile	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/gnu/usr.bin/gdb/libgdb/Makefile	Wed Nov 10 06:39:49 2010	(r215082)
@@ -1,6 +1,14 @@
 # $FreeBSD$
 
-TARGET_ARCH?= ${MACHINE_ARCH}
+# 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/}
+.else
+TARGET_CPUARCH=${MACHINE_CPUARCH}
+.endif
+TARGET_ARCH?=	${MACHINE_ARCH}
 
 LIB=	gdb
 INTERNALLIB=

Modified: head/share/mk/bsd.cpu.mk
==============================================================================
--- head/share/mk/bsd.cpu.mk	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/share/mk/bsd.cpu.mk	Wed Nov 10 06:39:49 2010	(r215082)
@@ -114,7 +114,7 @@ _CPUCFLAGS = -march=armv5te -D__XSCALE__
 .  else
 _CPUCFLAGS = -mcpu=${CPUTYPE}
 .  endif
-. elif ${MACHINE_ARCH} == "powerpc"
+. elif ${MACHINE_CPUARCH} == "powerpc"
 .  if ${CPUTYPE} == "e500"
 MACHINE_CPU = booke
 _CPUCFLAGS = -Wa,-me500 -msoft-float
@@ -196,12 +196,6 @@ MACHINE_CPU = itanium
 . endif
 .endif
 
-.if ${MACHINE_CPUARCH} == "arm" && defined(TARGET_BIG_ENDIAN)
-CFLAGS += -mbig-endian
-LDFLAGS += -mbig-endian
-LD += -EB
-.endif
-
 .if ${MACHINE_CPUARCH} == "mips" 
 CFLAGS += -G0
 .endif

Modified: head/share/mk/bsd.endian.mk
==============================================================================
--- head/share/mk/bsd.endian.mk	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/share/mk/bsd.endian.mk	Wed Nov 10 06:39:49 2010	(r215082)
@@ -3,13 +3,13 @@
 .if ${MACHINE_ARCH} == "amd64" || \
     ${MACHINE_ARCH} == "i386" || \
     ${MACHINE_ARCH} == "ia64" || \
-    (${MACHINE_ARCH} == "arm" && !defined(TARGET_BIG_ENDIAN)) || \
-    (${MACHINE_ARCH} == "mips" && !defined(TARGET_BIG_ENDIAN))
+    ${MACHINE_ARCH} == "arm"  || \
+    ${MACHINE_ARCH} == "mipsel"
 TARGET_ENDIANNESS= 1234
 .elif ${MACHINE_ARCH} == "powerpc" || \
     ${MACHINE_ARCH} == "powerpc64" || \
     ${MACHINE_ARCH} == "sparc64" || \
-    ${MACHINE_ARCH} == "arm" || \
-    ${MACHINE_ARCH} == "mips"
+    ${MACHINE_ARCH} == "armeb" || \
+    ${MACHINE_ARCH} == "mipseb"
 TARGET_ENDIANNESS= 4321
 .endif

Modified: head/sys/conf/Makefile.mips
==============================================================================
--- head/sys/conf/Makefile.mips	Wed Nov 10 06:24:16 2010	(r215081)
+++ head/sys/conf/Makefile.mips	Wed Nov 10 06:39:49 2010	(r215082)
@@ -32,9 +32,6 @@ LDSCRIPT_NAME?=ldscript.$M
 SYSTEM_LD:= ${SYSTEM_LD:$S/conf/${LDSCRIPT_NAME}=${LDSCRIPT_NAME}}
 SYSTEM_DEP:= ${SYSTEM_DEP:$S/conf/${LDSCRIPT_NAME}=${LDSCRIPT_NAME}}
 
-# XXX: Such sweeping assumptions...
-MACHINE=mips
-MACHINE_ARCH=mips
 KERNLOADADDR?=0x80001000
 # This obscure value is defined by CFE for WR160N
 # To be changed later
@@ -48,20 +45,6 @@ ARCH_FLAGS?=-march=mips32
 EXTRA_FLAGS=-fno-pic -mno-abicalls -G0
 
 HACK_EXTRA_FLAGS=-shared
-.if defined(TARGET_BIG_ENDIAN)
-CFLAGS+=-EB
-SYSTEM_LD+=-EB
-EXTRA_FLAGS+=-EB 
-TRAMP_LDFLAGS+=-Wl,-EB 
-HACK_EXTRA_FLAGS+=-EB -Wl,-EB
-.else
-CFLAGS+=-EL
-SYSTEM_LD+=-EL
-EXTRA_FLAGS+=-EL
-TRAMP_LDFLAGS+=-Wl,-EL
-HACK_EXTRA_FLAGS+=-EL -Wl,-EL
-.endif
-
 
 # We add the -fno-pic flag to kernels because otherwise performance
 # is extremely poor, as well as -mno-abicalls to force no ABI usage.


More information about the svn-src-head mailing list