From eb4977bd0fb2765fd3a03f1f498eac1892e8f401 Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Thu, 2 Jan 2020 03:25:26 +0000 Subject: [PATCH] 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. --- Makefile | 3 +-- Makefile.inc1 | 1 - UPDATING | 6 ++++++ sys/sys/param.h | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 117ad2d785f0..840e3c5ce45a 100644 --- a/Makefile +++ b/Makefile @@ -276,7 +276,7 @@ MK_META_MODE= no # exceptions. .if !defined(TARGET_ARCH) && defined(TARGET) # 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) && \ ${TARGET_ARCH} != ${MACHINE_ARCH} # TA->T mapping is accidentally CPUARCH with aarch64 the odd man out @@ -496,7 +496,6 @@ _OBSOLETE_GCC_TARGETS+=powerpc .endif TARGETS?=amd64 arm arm64 i386 riscv ${_OBSOLETE_GCC_TARGETS} _UNIVERSE_TARGETS= ${TARGETS} -# arm (armv5) excluded due to broken buildworld TARGET_ARCHES_arm?= armv6 armv7 TARGET_ARCHES_arm64?= aarch64 TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32 mipselhf mipshf mips64elhf mips64hf diff --git a/Makefile.inc1 b/Makefile.inc1 index dfed06a2691e..2d2a5295ac22 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -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 KNOWN_ARCHES?= aarch64/arm64 \ amd64 \ - arm \ armv6/arm \ armv7/arm \ i386 \ diff --git a/UPDATING b/UPDATING index 04c4418495b2..a5c3f4f4696a 100644 --- a/UPDATING +++ b/UPDATING @@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "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: Clang/LLVM is now the default compiler for all powerpc architectures. LLD is now the default linker for powerpc64. The change for powerpc64 diff --git a/sys/sys/param.h b/sys/sys/param.h index 03b8ccd25840..bd22b0da0c42 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #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,