From: Arnd Bergmann <arnd@kernel.org>
To: linux-arm-kernel@lists.infradead.org, soc@lists.linux.dev
Cc: linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
Aaro Koskinen <aaro.koskinen@iki.fi>,
Alexander Sverdlin <alexander.sverdlin@siemens.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Andrew Lunn <andrew@lunn.ch>, Ard Biesheuvel <ardb@kernel.org>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
Daniel Mack <daniel@zonque.org>,
Ethan Nelson-Moore <enelsonmoore@gmail.com>,
Frank Li <Frank.Li@nxp.com>,
Gregory Clement <gregory.clement@bootlin.com>,
Haojian Zhuang <haojian.zhuang@gmail.com>,
"Jeremy J. Peper" <jeremy@jeremypeper.com>,
Kristoffer Ericson <kristoffer.ericson@gmail.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
Linus Walleij <linusw@kernel.org>,
Mark Brown <broonie@kernel.org>, Marc Zyngier <maz@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Patrice Chotard <patrice.chotard@foss.st.com>,
Ralph Siemsen <ralph.siemsen@linaro.org>,
Robert Jarzmik <robert.jarzmik@free.fr>,
Russell King <linux@armlinux.org.uk>,
Sascha Hauer <s.hauer@pengutronix.de>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
Stefan Agner <stefan@agner.ch>,
Stefan Wiehler <stefan.wiehler@nokia.com>,
Tony Lindgren <tony@atomide.com>,
Vladimir Zapolskiy <vz@mleia.com>, Will Deacon <will@kernel.org>,
Linus Walleij <linus.walleij@linaro.org>
Subject: [PATCH v2 02/19] ARM: limit OABI support to StrongARM CPUs
Date: Wed, 1 Jul 2026 23:23:36 +0200 [thread overview]
Message-ID: <20260701212353.2196041-3-arnd@kernel.org> (raw)
In-Reply-To: <20260701212353.2196041-1-arnd@kernel.org>
From: Arnd Bergmann <arnd@arndb.de>
As discussed on the mailing lists, there is no way to build OABI userspace
binaries any more since gcc-4.8, and now support is also getting dropped in
binutils, which will make it impossible to build pure OABI kernels at some
point in the future.
I found no evidence of anyone still sing OABI userspace on embedded systems
that keep getting kernel updates, but there are a few desktop-class machines
that date back to the 1990s using Intel StrongARM processors that were
supported by old versions of Debian, Red Hat or the official Corel
Netwinder distribution.
Add a much stricter Kconfig dependency for both native OABI and OABI_COMPAT
enabled kernels, only allowing either of them to be selected when building
a kernel that targets a StrongARM based machine.
Link: https://lore.kernel.org/lkml/2831c5a6-cfbf-4fe0-b51c-0396e5b0aeb7@app.fastmail.com/
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm/Kconfig | 14 +++++++-------
arch/arm/configs/am200epdkit_defconfig | 1 -
arch/arm/configs/axm55xx_defconfig | 1 -
| 2 +-
arch/arm/configs/neponset_defconfig | 2 +-
arch/arm/configs/versatile_defconfig | 1 -
6 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ccc0114d30de..3b2316dc9d13 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1151,8 +1151,7 @@ config ARM_PATCH_IDIV
code to do integer division.
config AEABI
- bool "Use the ARM EABI to compile the kernel" if !CPU_V7 && \
- !CPU_V7M && !CPU_V6 && !CPU_V6K && !CC_IS_CLANG
+ bool "Use the ARM EABI to compile the kernel" if CPU_SA110 || CPU_SA1100
default y
help
The Arm EABI is the default ABI on all modern Linux
@@ -1162,9 +1161,13 @@ config AEABI
Everyone should enable this, as support for OABI user space
was dropped in gcc-4.8 and most distributions after ca. 2013.
+ Support for OABI mode will be removed from the kernel
+ once Intel StrongARM CPUs are phased out.
+
config OABI_COMPAT
bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
depends on AEABI && !THUMB2_KERNEL
+ depends on CPU_SA110 || CPU_SA1100
help
This option preserves the old syscall interface along with the
new (ARM EABI) one. It also provides a compatibility layer to
@@ -1177,11 +1180,8 @@ config OABI_COMPAT
selected, since there is no way yet to sensibly distinguish
between calling conventions during filtering.
- If you know you'll be using only pure EABI user space then you
- can say N here. If this option is not selected and you attempt
- to execute a legacy ABI binary then the result will be
- UNPREDICTABLE (in fact it can be predicted that it won't work
- at all). If in doubt say N.
+ Support for OABI_COMPAT will be removed from the kernel
+ once Intel StrongARM CPUs are phased out.
config ARCH_SELECT_MEMORY_MODEL
def_bool y
diff --git a/arch/arm/configs/am200epdkit_defconfig b/arch/arm/configs/am200epdkit_defconfig
index b3f81237c6e1..d4745b0f3dcb 100644
--- a/arch/arm/configs/am200epdkit_defconfig
+++ b/arch/arm/configs/am200epdkit_defconfig
@@ -7,7 +7,6 @@ CONFIG_EXPERT=y
# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_PXA=y
CONFIG_ARCH_GUMSTIX=y
-# CONFIG_OABI_COMPAT is not set
CONFIG_CMDLINE="console=ttyS0,115200n8 root=1f01 rootfstype=jffs2"
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
diff --git a/arch/arm/configs/axm55xx_defconfig b/arch/arm/configs/axm55xx_defconfig
index 12c59a4ee504..541e38e2205b 100644
--- a/arch/arm/configs/axm55xx_defconfig
+++ b/arch/arm/configs/axm55xx_defconfig
@@ -38,7 +38,6 @@ CONFIG_PCIE_AXXIA=y
CONFIG_SMP=y
CONFIG_NR_CPUS=16
CONFIG_HOTPLUG_CPU=y
-CONFIG_OABI_COMPAT=y
CONFIG_HIGHMEM=y
CONFIG_ARM_APPENDED_DTB=y
CONFIG_ARM_ATAG_DTB_COMPAT=y
--git a/arch/arm/configs/footbridge_defconfig b/arch/arm/configs/footbridge_defconfig
index 589b7b1df8c6..e8bf9847d35d 100644
--- a/arch/arm/configs/footbridge_defconfig
+++ b/arch/arm/configs/footbridge_defconfig
@@ -9,9 +9,9 @@ CONFIG_ARCH_MULTI_V4=y
CONFIG_ARCH_FOOTBRIDGE=y
CONFIG_ARCH_EBSA285_HOST=y
CONFIG_ARCH_NETWINDER=y
+# CONFIG_AEABI is not set
CONFIG_FPE_NWFPE=y
CONFIG_FPE_NWFPE_XP=y
-# CONFIG_AEABI is not set
CONFIG_MODULES=y
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
diff --git a/arch/arm/configs/neponset_defconfig b/arch/arm/configs/neponset_defconfig
index c3010a4d93a8..16f0afd770c1 100644
--- a/arch/arm/configs/neponset_defconfig
+++ b/arch/arm/configs/neponset_defconfig
@@ -6,12 +6,12 @@ CONFIG_ARCH_MULTI_V4=y
CONFIG_ARCH_SA1100=y
CONFIG_SA1100_ASSABET=y
CONFIG_ASSABET_NEPONSET=y
+# CONFIG_AEABI is not set
CONFIG_ZBOOT_ROM_TEXT=0x80000
CONFIG_ZBOOT_ROM_BSS=0xc1000000
CONFIG_ZBOOT_ROM=y
CONFIG_CMDLINE="console=ttySA0,38400n8 cpufreq=221200 rw root=/dev/mtdblock2 mtdparts=sa1100:512K(boot),1M(kernel),2560K(initrd),4M(root) mem=32M noinitrd initrd=0xc0800000,3M"
CONFIG_FPE_NWFPE=y
-# CONFIG_AEABI is not set
CONFIG_PM=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
diff --git a/arch/arm/configs/versatile_defconfig b/arch/arm/configs/versatile_defconfig
index 8e89debb5a5b..bb9eb9ccbbde 100644
--- a/arch/arm/configs/versatile_defconfig
+++ b/arch/arm/configs/versatile_defconfig
@@ -6,7 +6,6 @@ CONFIG_LOG_BUF_SHIFT=14
CONFIG_BLK_DEV_INITRD=y
# CONFIG_ARCH_MULTI_V7 is not set
CONFIG_ARCH_VERSATILE=y
-CONFIG_OABI_COMPAT=y
CONFIG_CMDLINE="root=1f03 mem=32M"
CONFIG_FPE_NWFPE=y
CONFIG_VFP=y
--
2.39.5
next prev parent reply other threads:[~2026-07-01 21:24 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 21:23 [PATCH v2 00/19] ARM: platform and feature deprecation Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 01/19] ARM: use CONFIG_AEABI by default everywhere Arnd Bergmann
2026-07-01 21:23 ` Arnd Bergmann [this message]
2026-07-01 21:23 ` [PATCH v2 03/19] ARM: rework ARM11 CPU selection logic Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 04/19] ARM: deprecate support for ARM1136r0 Arnd Bergmann
2026-07-01 22:11 ` Vladimir Zapolskiy
2026-07-01 21:23 ` [PATCH v2 05/19] ARM: turn CONFIG_ATAGS off by default Arnd Bergmann
2026-07-01 22:22 ` Ethan Nelson-Moore
2026-07-01 21:23 ` [PATCH v2 06/19] ARM: mark CPU_ENDIAN_BE8 as deprecated Arnd Bergmann
2026-07-01 21:57 ` Ethan Nelson-Moore
2026-07-01 21:23 ` [PATCH v2 07/19] ARM: update DEPRECATED_PARAM_STRUCT removal timeline Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 08/19] ARM: s3c64xx: extend deprecation schedule Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 09/19] ARM: update FPE_NWFPE help text Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 10/19] ARM: mark IWMMXT as deprecated Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 11/19] ARM: mark ARCH_DOVE " Arnd Bergmann
2026-07-01 22:48 ` Ethan Nelson-Moore
2026-07-01 21:23 ` [PATCH v2 12/19] ARM: PXA: mark remaining board files " Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 13/19] ARM: orion5x: mark all " Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 14/19] ARM: mark mach-sa1100 " Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 15/19] ARM: mark RiscPC " Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 16/19] ARM: mark footbridge " Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 17/19] ARM: mark Cortex-M3/M4/M7 based boards " Arnd Bergmann
2026-07-01 22:12 ` Vladimir Zapolskiy
2026-07-01 21:23 ` [PATCH v2 18/19] ARM: mark axxia platform " Arnd Bergmann
2026-07-01 22:41 ` Ethan Nelson-Moore
2026-07-01 21:23 ` [PATCH v2 19/19] ARM: mark mv78xx0 support " Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260701212353.2196041-3-arnd@kernel.org \
--to=arnd@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=aaro.koskinen@iki.fi \
--cc=alexander.sverdlin@siemens.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew@lunn.ch \
--cc=ardb@kernel.org \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=claudiu.beznea@tuxon.dev \
--cc=daniel@zonque.org \
--cc=enelsonmoore@gmail.com \
--cc=gregory.clement@bootlin.com \
--cc=haojian.zhuang@gmail.com \
--cc=jeremy@jeremypeper.com \
--cc=kristoffer.ericson@gmail.com \
--cc=krzk@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linusw@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maz@kernel.org \
--cc=nicolas.ferre@microchip.com \
--cc=patrice.chotard@foss.st.com \
--cc=ralph.siemsen@linaro.org \
--cc=robert.jarzmik@free.fr \
--cc=rppt@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=sebastian.hesselbarth@gmail.com \
--cc=soc@lists.linux.dev \
--cc=stefan.wiehler@nokia.com \
--cc=stefan@agner.ch \
--cc=tony@atomide.com \
--cc=vz@mleia.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.