Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Dec 2012 05:07:49 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r243744 - in projects/arm_eabi: gnu/lib/csu gnu/lib/libgcc gnu/lib/libgcov gnu/lib/libstdc++ gnu/usr.bin/cc gnu/usr.bin/cc/c++filt gnu/usr.bin/cc/cc1 gnu/usr.bin/cc/cc1plus gnu/usr.bin/...
Message-ID:  <201212010507.qB157sGE029180@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Sat Dec  1 05:07:49 2012
New Revision: 243744
URL: http://svnweb.freebsd.org/changeset/base/243744

Log:
  Allow the ABI to be toggled between the current ARM ABI and the EABI with
  the ARM EABI the default on this branch.

Added:
  projects/arm_eabi/tools/build/options/WITHOUT_ARM_EABI
Modified:
  projects/arm_eabi/gnu/lib/csu/Makefile
  projects/arm_eabi/gnu/lib/libgcc/Makefile
  projects/arm_eabi/gnu/lib/libgcov/Makefile
  projects/arm_eabi/gnu/lib/libstdc++/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/Makefile.inc
  projects/arm_eabi/gnu/usr.bin/cc/c++filt/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/cc1/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/cc1plus/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/cc_int/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/cc_tools/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/doc/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/gcov/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/include/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/libcpp/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/libdecnumber/Makefile
  projects/arm_eabi/gnu/usr.bin/cc/libiberty/Makefile
  projects/arm_eabi/lib/libc/arm/Makefile.inc
  projects/arm_eabi/lib/libc/arm/gen/Makefile.inc
  projects/arm_eabi/lib/libc/quad/Makefile.inc
  projects/arm_eabi/lib/libcompiler_rt/Makefile
  projects/arm_eabi/share/mk/bsd.own.mk

Modified: projects/arm_eabi/gnu/lib/csu/Makefile
==============================================================================
--- projects/arm_eabi/gnu/lib/csu/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/lib/csu/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -24,7 +24,7 @@ CFLAGS+=	-I${GCCLIB}/include -I${GCCDIR}
 CRTS_CFLAGS=	-DCRTSTUFFS_O -DSHARED ${PICFLAG}
 MKDEP=		-DCRT_BEGIN
 
-.if ${TARGET_CPUARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
 CFLAGS+=	-DTARGET_ARM_EABI
 .endif
 

Modified: projects/arm_eabi/gnu/lib/libgcc/Makefile
==============================================================================
--- projects/arm_eabi/gnu/lib/libgcc/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/lib/libgcc/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -15,7 +15,7 @@ MK_SSP=	no
 
 .include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt"
 
-.if ${TARGET_CPUARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
 CFLAGS+=	-DTARGET_ARM_EABI
 .endif
 
@@ -56,7 +56,7 @@ LIB2FUNCS+= _fixuns${mode}si
 .endfor
 
 # Likewise double-word routines.
-.if ${TARGET_CPUARCH} != "arm"
+.if ${TARGET_CPUARCH} != "arm" && ${MK_ARM_EABI} != "no"
 # These are implemented in an ARM specific file but will not be filtered out
 .for mode in sf df xf tf
 LIB2FUNCS+= _fix${mode}di _fixuns${mode}di
@@ -115,10 +115,14 @@ LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udi
 CFLAGS+=	-Dinhibit_libc -fno-inline
 LIB1ASMSRC =	lib1funcs.asm
 LIB1ASMFUNCS =  _dvmd_tls _bb_init_func
+.if ${MK_ARM_EABI} != "no"
 LIB1ASMFUNCS+=	_addsubdf3 _addsubsf3 _cmpdf2 _cmpsf2 _fixdfsi _fixsfsi \
 		_fixunsdfsi _fixunsdfsi _muldivdf3 _muldivsf3 _udivsi3
 
 LIB2ADDEH =	unwind-arm.c libunwind.S pr-support.c unwind-c.c
+.else
+LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c
+.endif
 .endif
 
 .if ${TARGET_CPUARCH} == mips
@@ -324,7 +328,7 @@ CLEANFILES += cs-*.h option*
 SHLIB_MKMAP      = ${GCCDIR}/mkmap-symver.awk
 SHLIB_MKMAP_OPTS =
 SHLIB_MAPFILES   = ${GCCDIR}/libgcc-std.ver
-.if ${TARGET_CPUARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
 SHLIB_MAPFILES  += ${GCCDIR}/config/arm/libgcc-bpabi.ver
 .endif
 VERSION_MAP      = libgcc.map

Modified: projects/arm_eabi/gnu/lib/libgcov/Makefile
==============================================================================
--- projects/arm_eabi/gnu/lib/libgcov/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/lib/libgcov/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -16,7 +16,7 @@ CFLAGS+=	-D_PTHREADS -DGTHREAD_USE_WEAK
 CFLAGS+=	-I${.CURDIR}/../../usr.bin/cc/cc_tools \
 		-I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I.
 
-.if ${TARGET_CPUARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
 CFLAGS+=	-DTARGET_ARM_EABI
 .endif
 

Modified: projects/arm_eabi/gnu/lib/libstdc++/Makefile
==============================================================================
--- projects/arm_eabi/gnu/lib/libstdc++/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/lib/libstdc++/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 GCCVER=	4.2
 GCCDIR=	${.CURDIR}/../../../contrib/gcc
 GCCLIB=	${.CURDIR}/../../../contrib/gcclibs
@@ -14,8 +16,8 @@ LIB=		stdc++
 SHLIB_MAJOR=	6
 
 CFLAGS+=	-DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
-.if ${MACHINE_CPUARCH} == "arm"
-#CFLAGS+=	-D_GLIBCXX_SJLJ_EXCEPTIONS=1
+.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} == "no"
+CFLAGS+=	-D_GLIBCXX_SJLJ_EXCEPTIONS=1
 .endif
 CFLAGS+=	-I${.CURDIR} -I${SUPDIR} -I${GCCDIR} -I${SRCDIR}/include
 CFLAGS+=	-I${GCCLIB}/include -I${SRCDIR}/include -I.
@@ -594,7 +596,7 @@ gthr-default.h: ${GCCDIR}/gthr-posix.h
 
 CLEANFILES+=	${THRHDRS}
 
-.if ${MACHINE_CPUARCH} == "arm"
+.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
 unwind.h: ${GCCDIR}/config/arm/unwind-arm.h
 .else
 unwind.h: ${GCCDIR}/unwind-generic.h

Modified: projects/arm_eabi/gnu/usr.bin/cc/Makefile.inc
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/Makefile.inc	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/Makefile.inc	Sat Dec  1 05:07:49 2012	(r243744)
@@ -26,7 +26,7 @@ CSTD?=	gnu89
 CFLAGS+=	-DCROSS_COMPILE
 .endif
 
-.if ${TARGET_CPUARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
 CFLAGS+=	-DTARGET_ARM_EABI
 .endif
 

Modified: projects/arm_eabi/gnu/usr.bin/cc/c++filt/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/c++filt/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/c++filt/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,8 @@
 # $FreeBSD$
 
+NO_MAN=
+.include <bsd.own.mk>
+
 .include "../Makefile.inc"
 .include "../Makefile.fe"
 
@@ -7,7 +10,6 @@
 
 PROG=	c++filt
 SRCS=	cp-demangle.c
-NO_MAN=
 
 CFLAGS+= -DSTANDALONE_DEMANGLER -DVERSION=\"$(GCC_VERSION)\"
 

Modified: projects/arm_eabi/gnu/usr.bin/cc/cc1/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/cc1/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/cc1/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,9 +1,10 @@
 # $FreeBSD$
 
-.include "../Makefile.inc"
 NO_MAN=
 .include <bsd.own.mk>
 
+.include "../Makefile.inc"
+
 .PATH: ${GCCDIR}
 
 PROG=	cc1

Modified: projects/arm_eabi/gnu/usr.bin/cc/cc1plus/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/cc1plus/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/cc1plus/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,9 +1,10 @@
 # $FreeBSD$
 
-.include "../Makefile.inc"
 NO_MAN=
 .include <bsd.own.mk>
 
+.include "../Makefile.inc"
+
 .PATH: ${GCCDIR}/cp ${GCCDIR}
 
 PROG=	cc1plus

Modified: projects/arm_eabi/gnu/usr.bin/cc/cc_int/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/cc_int/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/cc_int/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 .include "../Makefile.inc"
 .include "../Makefile.ver"
 

Modified: projects/arm_eabi/gnu/usr.bin/cc/cc_tools/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/cc_tools/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/cc_tools/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -51,8 +51,10 @@ TARGET_INC+=	${GCC_CPU}/elf.h
 .endif
 .if ${TARGET_CPUARCH} == "arm"
 TARGET_INC+=	${GCC_CPU}/aout.h
+.if ${MK_ARM_EABI} != "no"
 TARGET_INC+=	${GCC_CPU}/bpabi.h
 .endif
+.endif
 .if ${TARGET_ARCH} == "powerpc64"
 TARGET_INC+=	${GCC_CPU}/biarch64.h
 TARGET_INC+=    ${GCC_CPU}/default64.h
@@ -350,7 +352,7 @@ gthr-default.h: ${GCCDIR}/gthr-posix.h
 
 GENSRCS+=	gthr-default.h
 
-.if ${TARGET_CPUARCH} == "arm"
+.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
 unwind.h: ${GCCDIR}/config/arm/unwind-arm.h
 .else
 unwind.h: ${GCCDIR}/unwind-generic.h

Modified: projects/arm_eabi/gnu/usr.bin/cc/doc/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/doc/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/doc/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 .include "../Makefile.inc"
 .include "../Makefile.ver"
 

Modified: projects/arm_eabi/gnu/usr.bin/cc/gcov/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/gcov/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/gcov/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 .include "../Makefile.inc"
 .include "../Makefile.ver"
 

Modified: projects/arm_eabi/gnu/usr.bin/cc/include/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/include/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/include/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 .include "../Makefile.inc"
 
 INCSDIR=${INCLUDEDIR}/gcc/${GCCVER}

Modified: projects/arm_eabi/gnu/usr.bin/cc/libcpp/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/libcpp/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/libcpp/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 # Use our headers in preference to ones from ../cc_tools.
 CFLAGS+=	-I${.CURDIR} -I.
 

Modified: projects/arm_eabi/gnu/usr.bin/cc/libdecnumber/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/libdecnumber/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/libdecnumber/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 # Use our headers in preference to ones from ../cc_tools.
 CFLAGS+=	-I${.CURDIR} -I.
 

Modified: projects/arm_eabi/gnu/usr.bin/cc/libiberty/Makefile
==============================================================================
--- projects/arm_eabi/gnu/usr.bin/cc/libiberty/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/gnu/usr.bin/cc/libiberty/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -1,5 +1,7 @@
 # $FreeBSD$
 
+.include <bsd.own.mk>
+
 #
 # Make sure we will pick up our config.h file first, not the one from
 # cc_tools.

Modified: projects/arm_eabi/lib/libc/arm/Makefile.inc
==============================================================================
--- projects/arm_eabi/lib/libc/arm/Makefile.inc	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/lib/libc/arm/Makefile.inc	Sat Dec  1 05:07:49 2012	(r243744)
@@ -9,8 +9,10 @@ SOFTFLOAT_BITS=32
 MDSRCS+=machdep_ldisd.c
 SYM_MAPS+=${.CURDIR}/arm/Symbol.map
 
+.if ${MK_ARM_EABI} == "no"
 # This contains the symbols that were removed when moving to the ARM EABI
-#SYM_MAPS+=${.CURDIR}/arm/Symbol_oabi.map
-
+SYM_MAPS+=${.CURDIR}/arm/Symbol_oabi.map
+.else
 .include "${.CURDIR}/arm/aeabi/Makefile.inc"
+.endif
 

Modified: projects/arm_eabi/lib/libc/arm/gen/Makefile.inc
==============================================================================
--- projects/arm_eabi/lib/libc/arm/gen/Makefile.inc	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/lib/libc/arm/gen/Makefile.inc	Sat Dec  1 05:07:49 2012	(r243744)
@@ -5,4 +5,6 @@ SRCS+=	_ctx_start.S _setjmp.S _set_tp.c 
 	getcontextx.c infinity.c ldexp.c makecontext.c \
 	__aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S flt_rounds.c
 
-#SRCS+=	divsi3.S
+.if ${MK_ARM_EABI} == "no"
+SRCS+=	divsi3.S
+.endif

Modified: projects/arm_eabi/lib/libc/quad/Makefile.inc
==============================================================================
--- projects/arm_eabi/lib/libc/quad/Makefile.inc	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/lib/libc/quad/Makefile.inc	Sat Dec  1 05:07:49 2012	(r243744)
@@ -8,7 +8,7 @@
 
 SRCS+=	cmpdi2.c divdi3.c moddi3.c qdivrem.c ucmpdi2.c udivdi3.c umoddi3.c
 
-.elif ${LIBC_ARCH} == "arm"
+.elif ${LIBC_ARCH} == "arm" && ${MK_ARM_EABI} != "no"
 
 SRCS+=	adddi3.c anddi3.c floatunsdidf.c iordi3.c lshldi3.c notdi2.c \
 	qdivrem.c subdi3.c xordi3.c

Modified: projects/arm_eabi/lib/libcompiler_rt/Makefile
==============================================================================
--- projects/arm_eabi/lib/libcompiler_rt/Makefile	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/lib/libcompiler_rt/Makefile	Sat Dec  1 05:07:49 2012	(r243744)
@@ -144,7 +144,9 @@ SRCF+=	adddf3 \
 	truncdfsf2
 .endif
 
-.if ${MACHINE_CPUARCH} != "mips"
+# TODO: Fix this logic for !mips, !arm oabi
+.if ${MACHINE_CPUARCH} != "mips" && \
+    (${MACHINE_CPUARCH} != "arm" || ${MK_ARM_EABI} != "no")
 SRCF+=	divsi3 \
 	modsi3 \
 	udivsi3 \
@@ -179,7 +181,7 @@ SRCS+=	${file}.c
 . endif
 .endfor
 
-.if ${MACHINE_CPUARCH} == "arm"
+.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
 SRCS+=	aeabi_idivmod.S \
 	aeabi_ldivmod.S \
 	aeabi_uidivmod.S \

Modified: projects/arm_eabi/share/mk/bsd.own.mk
==============================================================================
--- projects/arm_eabi/share/mk/bsd.own.mk	Sat Dec  1 03:48:11 2012	(r243743)
+++ projects/arm_eabi/share/mk/bsd.own.mk	Sat Dec  1 05:07:49 2012	(r243744)
@@ -304,6 +304,7 @@ __DEFAULT_YES_OPTIONS = \
     ACPI \
     AMD \
     APM \
+    ARM_EABI \
     ASSERT_DEBUG \
     AT \
     ATF \

Added: projects/arm_eabi/tools/build/options/WITHOUT_ARM_EABI
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/arm_eabi/tools/build/options/WITHOUT_ARM_EABI	Sat Dec  1 05:07:49 2012	(r243744)
@@ -0,0 +1,2 @@
+.\" $FreeBSD$
+Set the ARM ABI to EABI.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212010507.qB157sGE029180>