Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support
the oabi is still in the tree, but it is expected this will be removed as developers work on surrounding code. With this commit the ARM EABI is the only supported supported ABI by FreeBSD on ARMa 32-bit processors. X-MFC after: never Relnotes: yes Differential Revision: https://reviews.freebsd.org/D876
This commit is contained in:
parent
a4a51f054d
commit
6d4766c1b8
@ -336,7 +336,7 @@ XFLAGS+= -B${CROSS_BINUTILS_PREFIX}
|
||||
.else
|
||||
XFLAGS+= -B${WORLDTMP}/usr/bin
|
||||
.endif
|
||||
.if ${TARGET} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET} == "arm"
|
||||
.if ${TARGET_ARCH:M*eb*} == ""
|
||||
TARGET_ABI= gnueabi
|
||||
.elif ${TARGET_ARCH} == "armv6hf"
|
||||
|
@ -24,7 +24,7 @@ CFLAGS+= -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. \
|
||||
CRTS_CFLAGS= -DCRTSTUFFS_O -DSHARED ${PICFLAG}
|
||||
MKDEP= -DCRT_BEGIN
|
||||
|
||||
.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET_CPUARCH} == "arm"
|
||||
CFLAGS+= -DTARGET_ARM_EABI
|
||||
.endif
|
||||
|
||||
|
@ -15,7 +15,7 @@ MK_SSP= no
|
||||
|
||||
.include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt"
|
||||
|
||||
.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET_CPUARCH} == "arm"
|
||||
CFLAGS+= -DTARGET_ARM_EABI
|
||||
.endif
|
||||
|
||||
@ -56,7 +56,7 @@ LIB2FUNCS+= _fixuns${mode}si
|
||||
.endfor
|
||||
|
||||
# Likewise double-word routines.
|
||||
.if ${TARGET_CPUARCH} != "arm" || ${MK_ARM_EABI} == "no"
|
||||
.if ${TARGET_CPUARCH} != "arm"
|
||||
# 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
|
||||
@ -117,14 +117,10 @@ CFLAGS.clang+= -fheinous-gnu-extensions
|
||||
|
||||
LIB1ASMSRC = lib1funcs.asm
|
||||
LIB1ASMFUNCS = _dvmd_tls _bb_init_func
|
||||
.if ${MK_ARM_EABI} != "no"
|
||||
LIB2ADDEH = unwind-arm.c libunwind.S pr-support.c unwind-c.c
|
||||
# Some compilers generate __aeabi_ functions libgcc_s is missing
|
||||
DPADD+= ${LIBCOMPILER_RT}
|
||||
LDADD+= -lcompiler_rt
|
||||
.else
|
||||
LIB2FUNCS_EXTRA = floatunsidf.c floatunsisf.c
|
||||
.endif
|
||||
.endif
|
||||
|
||||
.if ${TARGET_CPUARCH} == mips
|
||||
@ -319,7 +315,7 @@ CLEANFILES += cs-*.h option*
|
||||
SHLIB_MKMAP = ${GCCDIR}/mkmap-symver.awk
|
||||
SHLIB_MKMAP_OPTS =
|
||||
SHLIB_MAPFILES = ${GCCDIR}/libgcc-std.ver
|
||||
.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET_CPUARCH} == "arm"
|
||||
SHLIB_MAPFILES += ${GCCDIR}/config/arm/libgcc-bpabi.ver
|
||||
.endif
|
||||
VERSION_MAP = libgcc.map
|
||||
|
@ -17,7 +17,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" && ${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET_CPUARCH} == "arm"
|
||||
CFLAGS+= -DTARGET_ARM_EABI
|
||||
.endif
|
||||
|
||||
|
@ -16,9 +16,6 @@ LIB= stdc++
|
||||
SHLIB_MAJOR= 6
|
||||
|
||||
CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
|
||||
.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.
|
||||
CFLAGS+= -frandom-seed=RepeatabilityConsideredGood
|
||||
@ -596,7 +593,7 @@ gthr-default.h: ${GCCDIR}/gthr-posix.h
|
||||
|
||||
CLEANFILES+= ${THRHDRS}
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${MACHINE_CPUARCH} == "arm"
|
||||
unwind.h: ${GCCDIR}/config/arm/unwind-arm.h
|
||||
.else
|
||||
unwind.h: ${GCCDIR}/unwind-generic.h
|
||||
|
@ -22,9 +22,6 @@ SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_arm.cc \
|
||||
SRCS+= cp-demangle.c
|
||||
|
||||
CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H
|
||||
.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} == "no"
|
||||
CFLAGS+= -D_GLIBCXX_SJLJ_EXCEPTIONS=1
|
||||
.endif
|
||||
CFLAGS+= -I${GCCLIB}/include -I${SRCDIR} -I${GCCDIR}
|
||||
CFLAGS+= -I${.CURDIR}/../libstdc++ -I.
|
||||
CFLAGS+= -frandom-seed=RepeatabilityConsideredGood
|
||||
@ -35,7 +32,7 @@ HDRS= exception new typeinfo cxxabi.h exception_defines.h
|
||||
INCS= ${HDRS:S;^;${SRCDIR}/;}
|
||||
INCSDIR=${INCLUDEDIR}/c++/${GCCVER}
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${MACHINE_CPUARCH} == "arm"
|
||||
unwind.h: ${GCCDIR}/config/arm/unwind-arm.h
|
||||
.else
|
||||
unwind.h: ${GCCDIR}/unwind-generic.h
|
||||
|
@ -27,7 +27,7 @@ CSTD?= gnu89
|
||||
CFLAGS+= -DCROSS_DIRECTORY_STRUCTURE
|
||||
.endif
|
||||
|
||||
.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET_CPUARCH} == "arm"
|
||||
CFLAGS+= -DTARGET_ARM_EABI
|
||||
.endif
|
||||
|
||||
|
@ -51,10 +51,8 @@ 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
|
||||
@ -352,7 +350,7 @@ gthr-default.h: ${GCCDIR}/gthr-posix.h
|
||||
|
||||
GENSRCS+= gthr-default.h
|
||||
|
||||
.if ${TARGET_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${TARGET_CPUARCH} == "arm"
|
||||
unwind.h: ${GCCDIR}/config/arm/unwind-arm.h
|
||||
.else
|
||||
unwind.h: ${GCCDIR}/unwind-generic.h
|
||||
|
@ -22,8 +22,7 @@ CFLAGS+= -fno-strict-aliasing
|
||||
TARGET_ARCH?= ${MACHINE_ARCH}
|
||||
BUILD_ARCH?= ${MACHINE_ARCH}
|
||||
|
||||
.if (${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "armv6") && \
|
||||
${MK_ARM_EABI} != "no"
|
||||
.if (${TARGET_ARCH} == "arm" || ${TARGET_ARCH} == "armv6")
|
||||
TARGET_ABI= gnueabi
|
||||
.elif ${TARGET_ARCH} == "armv6hf"
|
||||
TARGET_ABI= gnueabihf
|
||||
|
@ -9,12 +9,7 @@ SOFTFLOAT_BITS=32
|
||||
MDSRCS+=machdep_ldisd.c
|
||||
SYM_MAPS+=${LIBC_SRCTOP}/arm/Symbol.map
|
||||
|
||||
.if ${MK_ARM_EABI} == "no"
|
||||
# This contains the symbols that were removed when moving to the ARM EABI
|
||||
SYM_MAPS+=${LIBC_SRCTOP}/arm/Symbol_oabi.map
|
||||
.else
|
||||
.include "${LIBC_SRCTOP}/arm/aeabi/Makefile.inc"
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_ARCH} == "armv6hf"
|
||||
SYM_MAPS+=${LIBC_SRCTOP}/arm/Symbol_vfp.map
|
||||
|
@ -1,16 +0,0 @@
|
||||
/*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
|
||||
/*
|
||||
* This only needs to contain symbols that are not listed in
|
||||
* symbol maps from other parts of libc (i.e., not found in
|
||||
* stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...)
|
||||
* and are not used in the ARM EABI.
|
||||
*/
|
||||
FBSDprivate_1.0 {
|
||||
__umodsi3;
|
||||
__modsi3;
|
||||
__udivsi3;
|
||||
__divsi3;
|
||||
};
|
@ -6,10 +6,6 @@ SRCS+= _ctx_start.S _setjmp.S _set_tp.c alloca.S fabs.c \
|
||||
__aeabi_read_tp.S setjmp.S signalcontext.c sigsetjmp.S flt_rounds.c \
|
||||
arm_initfini.c
|
||||
|
||||
.if ${MK_ARM_EABI} == "no"
|
||||
SRCS+= divsi3.S
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_ARCH} == "armv6hf"
|
||||
SRCS+= fpgetmask_vfp.c fpgetround_vfp.c fpgetsticky_vfp.c fpsetmask_vfp.c \
|
||||
fpsetround_vfp.c fpsetsticky_vfp.c
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
SRCS+= cmpdi2.c divdi3.c moddi3.c qdivrem.c ucmpdi2.c udivdi3.c umoddi3.c
|
||||
|
||||
.elif ${LIBC_ARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.elif ${LIBC_ARCH} == "arm"
|
||||
|
||||
SRCS+= adddi3.c anddi3.c floatunsdidf.c iordi3.c lshldi3.c notdi2.c \
|
||||
qdivrem.c subdi3.c xordi3.c
|
||||
|
@ -144,8 +144,7 @@ SRCF+= adddf3 \
|
||||
truncdfsf2
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_CPUARCH} != "mips" && \
|
||||
(${MACHINE_CPUARCH} != "arm" || ${MK_ARM_EABI} != "no")
|
||||
.if ${MACHINE_CPUARCH} != "mips"
|
||||
SRCF+= divsi3 \
|
||||
modsi3 \
|
||||
udivsi3 \
|
||||
@ -174,7 +173,7 @@ SRCS+= ${file}.c
|
||||
. endif
|
||||
.endfor
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${MACHINE_CPUARCH} == "arm"
|
||||
SRCS+= aeabi_idivmod.S \
|
||||
aeabi_ldivmod.S \
|
||||
aeabi_memcmp.S \
|
||||
|
@ -64,9 +64,6 @@ SRCS+= bcmp.c bcopy.c bzero.c ffs.c memccpy.c memchr.c memcmp.c memcpy.c \
|
||||
.if ${MACHINE_CPUARCH} == "arm"
|
||||
.PATH: ${.CURDIR}/../libc/arm/gen
|
||||
|
||||
.if ${MK_ARM_EABI} == "no"
|
||||
SRCS+= divsi3.S
|
||||
.else
|
||||
# Compiler support functions
|
||||
.PATH: ${.CURDIR}/../../contrib/compiler-rt/lib/
|
||||
# __clzsi2 and ctzsi2 for various builtin functions
|
||||
@ -78,7 +75,6 @@ SRCS+= udivmoddi4.c udivmodsi4.c udivdi3.c udivsi3.c umoddi3.c umodsi3.c
|
||||
.PATH: ${.CURDIR}/../../contrib/compiler-rt/lib/arm/
|
||||
SRCS+= aeabi_idivmod.S aeabi_ldivmod.S aeabi_uidivmod.S aeabi_uldivmod.S
|
||||
SRCS+= aeabi_memcmp.S aeabi_memcpy.S aeabi_memmove.S aeabi_memset.S
|
||||
.endif
|
||||
|
||||
.endif
|
||||
.if ${MACHINE_CPUARCH} == "powerpc"
|
||||
|
@ -46,7 +46,7 @@ LDFLAGS+= -shared -Wl,-Bsymbolic
|
||||
DPADD= ${LIBC_PIC}
|
||||
LDADD= -lc_pic
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "arm" && ${MK_ARM_EABI} != "no"
|
||||
.if ${MACHINE_CPUARCH} == "arm"
|
||||
# Some of the required math functions (div & mod) are implemented in
|
||||
# libcompiler_rt on ARM. The library also needs to be placed first to be
|
||||
# correctly linked. As some of the functions are used before we have
|
||||
|
@ -48,7 +48,6 @@ __DEFAULT_YES_OPTIONS = \
|
||||
ACPI \
|
||||
AMD \
|
||||
APM \
|
||||
ARM_EABI \
|
||||
AT \
|
||||
ATM \
|
||||
AUDIT \
|
||||
|
@ -17,9 +17,7 @@ FILES=${P}
|
||||
SRCS=arm_init.S boot2.c ${BOOT_FLAVOR:tl}_board.c
|
||||
SRCS+=memchr.c memcmp.c memcpy.c memmem.c memset.c printf.c strcmp.c strcpy.c
|
||||
SRCS+=strlen.c ashldi3.c divsi3.S muldi3.c
|
||||
.if ${MK_ARM_EABI} != "no"
|
||||
SRCS+=aeabi_unwind.c
|
||||
.endif
|
||||
MAN=
|
||||
|
||||
KERNPHYSADDR=0x180000
|
||||
|
@ -67,9 +67,6 @@ SRCS+= bcmp.c bcopy.c bzero.c ffs.c memccpy.c memchr.c memcmp.c memcpy.c \
|
||||
.if ${MACHINE_CPUARCH} == "arm"
|
||||
.PATH: ${LIBC}/arm/gen
|
||||
|
||||
.if ${MK_ARM_EABI} == "no"
|
||||
SRCS+= divsi3.S
|
||||
.else
|
||||
# Compiler support functions
|
||||
.PATH: ${.CURDIR}/../../../contrib/compiler-rt/lib/
|
||||
# __clzsi2 and ctzsi2 for various builtin functions
|
||||
@ -81,7 +78,6 @@ SRCS+= udivmoddi4.c udivmodsi4.c udivdi3.c udivsi3.c umoddi3.c umodsi3.c
|
||||
.PATH: ${.CURDIR}/../../../contrib/compiler-rt/lib/arm/
|
||||
SRCS+= aeabi_idivmod.S aeabi_ldivmod.S aeabi_uidivmod.S aeabi_uldivmod.S
|
||||
SRCS+= aeabi_memcmp.S aeabi_memcpy.S aeabi_memmove.S aeabi_memset.S
|
||||
.endif
|
||||
|
||||
.endif
|
||||
.if ${MACHINE_CPUARCH} == "powerpc"
|
||||
|
@ -42,11 +42,7 @@ STRIP_FLAGS = -S
|
||||
# We don't support gcc's thump interwork stuff, so disable it
|
||||
CFLAGS.gcc += -mno-thumb-interwork
|
||||
|
||||
.if empty(DDB_ENABLED)
|
||||
.if ${MK_ARM_EABI} == "no"
|
||||
CFLAGS.gcc += -mno-apcs-frame
|
||||
.endif
|
||||
.elif ${MK_ARM_EABI} != "no"
|
||||
.if !empty(DDB_ENABLED)
|
||||
CFLAGS += -funwind-tables
|
||||
# clang requires us to tell it to emit assembly with unwind information
|
||||
CFLAGS.clang += -mllvm -arm-enable-ehabi
|
||||
|
@ -23,7 +23,6 @@
|
||||
# src tree.
|
||||
|
||||
__DEFAULT_YES_OPTIONS = \
|
||||
ARM_EABI \
|
||||
BLUETOOTH \
|
||||
CDDL \
|
||||
CRYPT \
|
||||
|
Loading…
Reference in New Issue
Block a user