All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Arnd Bergmann <arnd@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org, soc@lists.linux.dev,
	linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Aaro Koskinen <aaro.koskinen@iki.fi>,
	Alexander Sverdlin <alexander.sverdlin@siemens.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: Re: [PATCH v2 02/19] ARM: limit OABI support to StrongARM CPUs
Date: Thu, 2 Jul 2026 15:36:26 +0200	[thread overview]
Message-ID: <20260702133626d12c29ad@mail.local> (raw)
In-Reply-To: <20260701212353.2196041-3-arnd@kernel.org>

On 01/07/2026 23:23:36+0200, Arnd Bergmann wrote:
> 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 -
>  arch/arm/configs/footbridge_defconfig  |  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
> diff --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

I'm not objecting to the change this reordering is not directly related
to the current patch, maybe this should be squashed in 1/19

>  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

Ditto

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

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2026-07-02 13:36 UTC|newest]

Thread overview: 57+ 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-02  7:42   ` Nicolas Ferre
2026-07-02  8:34     ` Arnd Bergmann
2026-07-02 12:57   ` Alexandre Belloni
2026-07-02 16:10   ` Aaro Koskinen
2026-07-03 17:29   ` Sverdlin, Alexander
2026-07-01 21:23 ` [PATCH v2 02/19] ARM: limit OABI support to StrongARM CPUs Arnd Bergmann
2026-07-02 13:36   ` Alexandre Belloni [this message]
2026-07-02 13:40     ` Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 03/19] ARM: rework ARM11 CPU selection logic Arnd Bergmann
2026-07-02 13:46   ` Alexandre Belloni
2026-07-02 13:49     ` Arnd Bergmann
2026-07-02 16:14   ` Aaro Koskinen
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-02 16:59   ` Aaro Koskinen
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-02  6:31     ` Arnd Bergmann
2026-07-02 17:00   ` Aaro Koskinen
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-02  6:02     ` Arnd Bergmann
2026-07-03 20:29   ` Linus Walleij
2026-07-04 10:33     ` Arnd Bergmann
2026-07-04 11:05       ` Julian Braha
2026-07-01 21:23 ` [PATCH v2 07/19] ARM: update DEPRECATED_PARAM_STRUCT removal timeline Arnd Bergmann
2026-07-02  0:54   ` Ethan Nelson-Moore
2026-07-02  5:36     ` Arnd Bergmann
2026-07-02 12:04       ` Ralph Siemsen
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-02 11:59   ` Ralph Siemsen
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-02 13:50   ` Arnd Bergmann
2026-07-01 21:23 ` [PATCH v2 14/19] ARM: mark mach-sa1100 " Arnd Bergmann
2026-07-03 12:30   ` Linus Walleij
2026-07-03 13:13     ` 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-02 13:08   ` Ralph Siemsen
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-02  7:39   ` Nicolas Ferre
2026-07-02  8:43   ` Vladimir Murzin
2026-07-02 14:25   ` Frank Li
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-02  5:57     ` Arnd Bergmann
2026-07-03 17:13   ` Sverdlin, Alexander
2026-07-01 21:23 ` [PATCH v2 19/19] ARM: mark mv78xx0 support " Arnd Bergmann
2026-07-03 16:18   ` Gregory CLEMENT

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=20260702133626d12c29ad@mail.local \
    --to=alexandre.belloni@bootlin.com \
    --cc=Frank.Li@nxp.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=alexander.sverdlin@siemens.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=andrew@lunn.ch \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=arnd@kernel.org \
    --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.