All architectures supporting multiple ABIs have been migrated to ARCH_CC_CAN_LINK. The remaining ones do not require any special flag, so simplify the logic.
Signed-off-by: Thomas Weißschuh <[email protected]> --- Makefile | 11 +++-------- init/Kconfig | 3 +-- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 26e5bca534e27034c355939bca4c90db435ecdbd..1b7da9f10b88f1a374ae34477e5621b4dd27c017 100644 --- a/Makefile +++ b/Makefile @@ -1137,17 +1137,12 @@ endif # Align the architecture of userspace programs with the kernel USERFLAGS_FROM_KERNEL := --target=% -ifdef CONFIG_ARCH_USERPROGS_CFLAGS -KBUILD_USERCFLAGS += $(CONFIG_ARCH_USERFLAGS) -KBUILD_USERLDFLAGS += $(CONFIG_ARCH_USERFLAGS) -else -# If not overridden also inherit the bit size -USERFLAGS_FROM_KERNEL += -m32 -m64 -endif - KBUILD_USERCFLAGS += $(filter $(USERFLAGS_FROM_KERNEL), $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS)) KBUILD_USERLDFLAGS += $(filter $(USERFLAGS_FROM_KERNEL), $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS)) +KBUILD_USERCFLAGS += $(CONFIG_ARCH_USERFLAGS) +KBUILD_USERLDFLAGS += $(CONFIG_ARCH_USERFLAGS) + # userspace programs are linked via the compiler, use the correct linker ifdef CONFIG_CC_IS_CLANG KBUILD_USERLDFLAGS += --ld-path=$(LD) diff --git a/init/Kconfig b/init/Kconfig index 4a2ae3cfbf26525a60936d9b29a74ef4319ba3a5..a0127598f2f25ffb55dbb8a0691b0aa68138fc69 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -88,8 +88,7 @@ config ARCH_HAS_CC_CAN_LINK config CC_CAN_LINK bool default ARCH_CC_CAN_LINK if ARCH_HAS_CC_CAN_LINK - default $(cc_can_link_user,$(m64-flag)) if 64BIT - default $(cc_can_link_user,$(m32-flag)) + default $(cc_can_link_user) # Fixed in GCC 14, 13.3, 12.4 and 11.5 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113921 -- 2.51.0
