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/...
Andrew Turner
andrew at FreeBSD.org
Sat Dec 1 05:07:55 UTC 2012
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.
More information about the svn-src-projects
mailing list