diff options
| author | Thomas Weißschuh <thomas.weissschuh@linutronix.de> | 2026-06-06 20:17:52 -0600 |
|---|---|---|
| committer | Paul Walmsley <pjw@kernel.org> | 2026-06-06 20:17:52 -0600 |
| commit | 84894ceb3c2ef5c5404359efd4edc6c438aa6d0c (patch) | |
| tree | 721b5dce1f63c8802fee78a03a9584f18737ff2d | |
| parent | c0db0690f7fae7bd8cf1493e2f6b2a672e0c0de8 (diff) | |
| download | linux-84894ceb3c2ef5c5404359efd4edc6c438aa6d0c.tar.gz linux-84894ceb3c2ef5c5404359efd4edc6c438aa6d0c.zip | |
riscv: Implement ARCH_HAS_CC_CAN_LINK
The generic CC_CAN_LINK detection relies on -m32/-m64 compiler flags.
These are not supported by riscv compilers.
Use architecture-specific logic using -mabi instead.
Prefer the 'd' ABI variant when possible as todays toolchains are most
likely to provide a libc for that one.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Link: https://patch.msgid.link/20260316-cc-can-link-riscv-v4-1-64c072b456dd@linutronix.de
Signed-off-by: Paul Walmsley <pjw@kernel.org>
| -rw-r--r-- | arch/riscv/Kconfig | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index c5754942cf85..a5e4f438e381 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -24,6 +24,7 @@ config RISCV select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2 select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE select ARCH_HAS_BINFMT_FLAT + select ARCH_HAS_CC_CAN_LINK select ARCH_HAS_CURRENT_STACK_POINTER select ARCH_HAS_DEBUG_VIRTUAL if MMU select ARCH_HAS_DEBUG_VM_PGTABLE @@ -1353,6 +1354,20 @@ config PORTABLE config ARCH_PROC_KCORE_TEXT def_bool y +config ARCH_CC_CAN_LINK + bool + default $(cc_can_link_user,-march=rv64g -mabi=lp64d) if 64BIT && FPU + default $(cc_can_link_user,-march=rv64g -mabi=lp64) if 64BIT + default $(cc_can_link_user,-march=rv32g -mabi=ilp32d) if FPU + default $(cc_can_link_user,-march=rv32g -mabi=ilp32) + +config ARCH_USERFLAGS + string + default "-march=rv64g -mabi=lp64d" if 64BIT && FPU + default "-march=rv64g -mabi=lp64" if 64BIT + default "-march=rv32g -mabi=ilp32d" if FPU + default "-march=rv32g -mabi=ilp32" + menu "Power management options" source "kernel/power/Kconfig" |
