[rust][tools] Fix Cortex-M33 hard-float target selection - #11811
KingingWang wants to merge 1 commit into
Conversation
detect_rust_target() 的 Cortex-M33 分支固定返回 thumbv8m.main-none-eabi, 没有使用同函数已计算的 hard_float,而 M4/M7 分支是判断的。 硬浮点 M33 板卡因此拿到软浮点 ABI 的 Rust 库,链接时报 "uses VFP register arguments" 并终止构建。 按 hard_float 选择 eabihf/eabi,与 M4/M7 分支保持一致。
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
📌 Code Review Assignment🏷️ Tag: componentsReviewers: @Maihuanyi Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2026-09-18 20:31 CST)
📝 Review Instructions
|
拉取/合并请求描述:(PR description)
为什么提交这份PR (why to submit this PR)
detect_rust_target()的 Cortex-M33 分支固定返回thumbv8m.main-none-eabi,没有使用同函数已计算的hard_float(M4/M7 分支是判断的)。硬浮点的 M33 板卡因此拿到软浮点 ABI 的 Rust 库,链接报uses VFP register arguments后终止。详见 #11810。你的解决方案是什么 (what is your solution)
按
hard_float选择thumbv8m.main-none-eabihf,与 M4/M7 分支保持一致。软浮点的 M33 仍走原分支,行为不变。请提供验证的bsp和config (provide the config and bsp)
BSP: bsp/stm32/stm32u575-st-nucleo
.config:
修复前:
修复后:
环境:rustup nightly、arm-none-eabi-gcc 14.2.1
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up