[PATCH] ARM: Implement ARCH_HAS_CC_CAN_LINK

From: Thomas Weißschuh
Date: Fri Jan 09 2026 - 05:10:07 EST


The generic CC_CAN_LINK detection does not handle different byte orders.
This may lead to userprogs which are not actually runnable on the target
kernel.

Use architecture-specific logic supporting byte orders instead.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
---
arch/arm/Kconfig | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index fa83c040ee2d..5ca48361e1a0 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -6,6 +6,7 @@ config ARM
select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE if HAVE_KRETPROBES && FRAME_POINTER && !ARM_UNWIND
select ARCH_HAS_BINFMT_FLAT
select ARCH_HAS_CACHE_LINE_SIZE if OF
+ select ARCH_HAS_CC_CAN_LINK
select ARCH_HAS_CPU_CACHE_ALIASING
select ARCH_HAS_CPU_FINALIZE_INIT if MMU
select ARCH_HAS_CURRENT_STACK_POINTER
@@ -1715,6 +1716,16 @@ config KERNEL_MODE_NEON

endmenu

+config ARCH_CC_CAN_LINK
+ bool
+ default $(cc_can_link_user,-mlittle-endian) if CPU_LITTLE_ENDIAN
+ default $(cc_can_link_user,-mbig-endian) if CPU_BIG_ENDIAN
+
+config ARCH_USERFLAGS
+ string
+ default "-mlittle-endian" if CPU_LITTLE_ENDIAN
+ default "-mbig-endian" if CPU_BIG_ENDIAN
+
menu "Power management options"

source "kernel/power/Kconfig"

---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20260102-cc-can-link-arm-4eecfad2a0e4

Best regards,
--
Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>