summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPochita <[email protected]>2025-04-05 23:02:41 +0800
committerPochita <[email protected]>2025-04-05 23:02:41 +0800
commit436c7c4ec9df6f89b023c38bb5274862582fc3fc (patch)
tree97da8cd764bc02258de7e57864d0677eed86c9a0
parenta201afae4ca719b3a13743eb42c2f348a858c697 (diff)
[toolchains(armclang)] fix target and cpu flags for MDK
- Always set `--target=arm-arm-none-eabi` for compiler and assembler to match MDK's armclang requirements - Add `-masm=auto` to asflags when using armclang assembler for better compatibility - Unify ldflags cpu format to use `--cpu=<arch>` instead of space separator - Fix incorrect architecture target handling reported in #6283
-rw-r--r--xmake/toolchains/armclang/xmake.lua17
1 files changed, 4 insertions, 13 deletions
diff --git a/xmake/toolchains/armclang/xmake.lua b/xmake/toolchains/armclang/xmake.lua
index 0f3f410cf..dfcd01522 100644
--- a/xmake/toolchains/armclang/xmake.lua
+++ b/xmake/toolchains/armclang/xmake.lua
@@ -53,27 +53,18 @@ toolchain("armclang")
local arch = toolchain:arch()
if arch then
local arch_cpu = arch:lower()
- local arch_cpu_ld = ""
- local arch_target = ""
- if arch_cpu:startswith("cortex-m") then
- arch_cpu_ld = arch_cpu:replace("cortex-m", "Cortex-M", {plain = true})
- arch_target = "arm-arm-none-eabi"
- end
- if arch_cpu:startswith("cortex-a") then
- arch_cpu_ld = arch_cpu:replace("cortex-a", "Cortex-A", {plain = true})
- arch_target = "aarch64-arm-none-eabi"
- end
local as = toolchain:config("toolset_as")
toolchain:set("toolset", "as", as)
- toolchain:add("cxflags", "--target=" .. arch_target)
+ toolchain:add("cxflags", "--target=arm-arm-none-eabi")
toolchain:add("cxflags", "-mcpu=" .. arch_cpu)
if as == "armclang" then
- toolchain:add("asflags", "--target=" .. arch_target)
+ toolchain:add("asflags", "--target=arm-arm-none-eabi")
toolchain:add("asflags", "-mcpu=" .. arch_cpu)
+ toolchain:add("asflags", "-masm=auto")
else
toolchain:add("asflags", "--cpu=" .. arch_cpu)
end
- toolchain:add("ldflags", "--cpu " .. arch_cpu_ld)
+ toolchain:add("ldflags", "--cpu=" .. arch_cpu)
end
end)