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.
This commit is contained in:
andrew 2013-07-16 19:15:19 +00:00
parent 67c418ca84
commit 073bcf595a
6 changed files with 16 additions and 6 deletions

View File

@ -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).

View File

@ -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 \

View File

@ -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

View File

@ -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,

View File

@ -0,0 +1,2 @@
.\" $FreeBSD$
Set the ARM ABI to OABI.

View File

@ -1,2 +0,0 @@
.\" $FreeBSD$
Set the ARM ABI to EABI.