Remove arm/arm as a valid target.

TARGET=arm now defaults to TARGET_ARCH=armv7
TARGET_ARCH=arm is no longer valid.

Bump __FreeBSD_version to 1300073

Tested with make universe. Any stale LINT-V5 config files remaining in the tree
will fail the universe build. However, LINT-V5 was removed in r355119.

This retirement has been planned since last summer. The armv5 port is fragile:
it works OK for some peeople, and fails badly for others. There's a number of
subtle bugs in busdma, pmap and other MD parts of thee system that present
themselves under load or in unusual circumstances (like fsck after a
crash). stable/8, branched 10 years ago, was the last reliable release.  Since
the support burden is larger then the benefit, the consensus view is armv5
should be removed from the tree.

Discussed with: arm@ mailing list and arm developer community.
This commit is contained in:
Warner Losh 2020-01-02 03:25:26 +00:00
parent e8cdbb4815
commit eb4977bd0f
4 changed files with 8 additions and 4 deletions

View File

@ -276,7 +276,7 @@ MK_META_MODE= no
# exceptions. # exceptions.
.if !defined(TARGET_ARCH) && defined(TARGET) .if !defined(TARGET_ARCH) && defined(TARGET)
# T->TA mapping is usually TARGET with arm64 the odd man out # T->TA mapping is usually TARGET with arm64 the odd man out
_TARGET_ARCH= ${TARGET:S/arm64/aarch64/:S/riscv/riscv64/} _TARGET_ARCH= ${TARGET:S/arm64/aarch64/:S/riscv/riscv64/:S/arm/armv7}
.elif !defined(TARGET) && defined(TARGET_ARCH) && \ .elif !defined(TARGET) && defined(TARGET_ARCH) && \
${TARGET_ARCH} != ${MACHINE_ARCH} ${TARGET_ARCH} != ${MACHINE_ARCH}
# TA->T mapping is accidentally CPUARCH with aarch64 the odd man out # TA->T mapping is accidentally CPUARCH with aarch64 the odd man out
@ -496,7 +496,6 @@ _OBSOLETE_GCC_TARGETS+=powerpc
.endif .endif
TARGETS?=amd64 arm arm64 i386 riscv ${_OBSOLETE_GCC_TARGETS} TARGETS?=amd64 arm arm64 i386 riscv ${_OBSOLETE_GCC_TARGETS}
_UNIVERSE_TARGETS= ${TARGETS} _UNIVERSE_TARGETS= ${TARGETS}
# arm (armv5) excluded due to broken buildworld
TARGET_ARCHES_arm?= armv6 armv7 TARGET_ARCHES_arm?= armv6 armv7
TARGET_ARCHES_arm64?= aarch64 TARGET_ARCHES_arm64?= aarch64
TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32 mipselhf mipshf mips64elhf mips64hf TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32 mipselhf mipshf mips64elhf mips64hf

View File

@ -134,7 +134,6 @@ TARGET_ABI?= unknown
TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${TARGET_ABI}-freebsd13.0 TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/[hs]f$//:S/mipsn32/mips64/}-${TARGET_ABI}-freebsd13.0
KNOWN_ARCHES?= aarch64/arm64 \ KNOWN_ARCHES?= aarch64/arm64 \
amd64 \ amd64 \
arm \
armv6/arm \ armv6/arm \
armv7/arm \ armv7/arm \
i386 \ i386 \

View File

@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
disable the most expensive debugging functionality run disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".) "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
20200102:
Support for armv5 has been disconnected and is being removed. The
machine combination MACHINE=arm MACHINE_ARCH=arm is no longer valid.
You must now use a MACHINE_ARCH of armv6 or armv7. The default
MACHINE_ARCH for MACHINE=arm is now armv7.
20191226: 20191226:
Clang/LLVM is now the default compiler for all powerpc architectures. Clang/LLVM is now the default compiler for all powerpc architectures.
LLD is now the default linker for powerpc64. The change for powerpc64 LLD is now the default linker for powerpc64. The change for powerpc64

View File

@ -60,7 +60,7 @@
* in the range 5 to 9. * in the range 5 to 9.
*/ */
#undef __FreeBSD_version #undef __FreeBSD_version
#define __FreeBSD_version 1300072 /* Master, propagated to newvers */ #define __FreeBSD_version 1300073 /* Master, propagated to newvers */
/* /*
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,