diff options
author | andrew <andrew@FreeBSD.org> | 2013-07-16 19:15:19 +0000 |
---|---|---|
committer | andrew <andrew@FreeBSD.org> | 2013-07-16 19:15:19 +0000 |
commit | 073bcf595a97011616c4d5e2c808d394821926b6 (patch) | |
tree | 969f88c000d30039ed58a1acd1f9c38e0c377ced | |
parent | 67c418ca84443f20c6221715f55d28d2b7c5d043 (diff) | |
download | FreeBSD-src-073bcf595a97011616c4d5e2c808d394821926b6.zip FreeBSD-src-073bcf595a97011616c4d5e2c808d394821926b6.tar.gz |
2 years, 10 months, 22 days after the projects/arm_eabi branch was created
make the ARM EABI the default ABI on arm, armeb, armv6 and armv6eb.
This is intended to be the default ABI from now on with the old ABI to be
retired. Because of this all users are strongly suggested to upgrade to the
ARM EABI.
As the two ABIs are incompatible it is unlikely upgrading in place will
work. Users should perform a full backup and either use an external machine
to upgrade, or install to an alternative location on their media. They
should also reinstall all ports or packages when these are available.
The only known issues are:
- pkg incorrectly detects the ABI. This is fixed upstream, and will a
patch will be made to the port.
- GDB can have issues with executables built with clang.
__FreeBSD_version has been bumped.
-rw-r--r-- | UPDATING | 10 | ||||
-rw-r--r-- | share/mk/bsd.own.mk | 2 | ||||
-rw-r--r-- | sys/conf/Makefile.arm | 4 | ||||
-rw-r--r-- | sys/sys/param.h | 2 | ||||
-rw-r--r-- | tools/build/options/WITHOUT_ARM_EABI | 2 | ||||
-rw-r--r-- | tools/build/options/WITH_ARM_EABI | 2 |
6 files changed, 16 insertions, 6 deletions
@@ -31,6 +31,16 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20130716: + The default ARM ABI has changed to the ARM EABI. The old ABI is + incompatible with the ARM EABI and all programs and modules will + need to be rebuilt to work with a new kernel. + + To keep using the old ABI ensure the WITHOUT_ARM_EABI knob is set. + + NOTE: Support for the old ABI will be removed in the future and + users are advised to upgrade. + 20130709: pkg_install has been disconnected from the build if you really need it you should add WITH_PKGTOOLS in your src.conf(5). diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index e96b6a2..f2dc4c2 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -245,6 +245,7 @@ __DEFAULT_YES_OPTIONS = \ ACPI \ AMD \ APM \ + ARM_EABI \ ASSERT_DEBUG \ AT \ ATF \ @@ -363,7 +364,6 @@ __DEFAULT_YES_OPTIONS = \ ZONEINFO __DEFAULT_NO_OPTIONS = \ - ARM_EABI \ BSD_PATCH \ BIND_IDN \ BIND_LARGE_FILE \ diff --git a/sys/conf/Makefile.arm b/sys/conf/Makefile.arm index 8348e2a..c13272b 100644 --- a/sys/conf/Makefile.arm +++ b/sys/conf/Makefile.arm @@ -44,10 +44,10 @@ CFLAGS += -mno-thumb-interwork .endif .if empty(DDB_ENABLED) -.if !defined(WITH_ARM_EABI) && ${COMPILER_TYPE} != "clang" +.if defined(WITHOUT_ARM_EABI) && ${COMPILER_TYPE} != "clang" CFLAGS += -mno-apcs-frame .endif -.elif defined(WITH_ARM_EABI) +.elif !defined(WITHOUT_ARM_EABI) CFLAGS += -funwind-tables .if ${COMPILER_TYPE} == "clang" # clang requires us to tell it to emit assembly with unwind information diff --git a/sys/sys/param.h b/sys/sys/param.h index 47e0686..8957516 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1000037 /* Master, propagated to newvers */ +#define __FreeBSD_version 1000038 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, diff --git a/tools/build/options/WITHOUT_ARM_EABI b/tools/build/options/WITHOUT_ARM_EABI new file mode 100644 index 0000000..58e8348 --- /dev/null +++ b/tools/build/options/WITHOUT_ARM_EABI @@ -0,0 +1,2 @@ +.\" $FreeBSD$ +Set the ARM ABI to OABI. diff --git a/tools/build/options/WITH_ARM_EABI b/tools/build/options/WITH_ARM_EABI deleted file mode 100644 index dba6e5f..0000000 --- a/tools/build/options/WITH_ARM_EABI +++ /dev/null @@ -1,2 +0,0 @@ -.\" $FreeBSD$ -Set the ARM ABI to EABI. |