phy1335 发表于 2024-4-19 12:02:56

解决cubeide更新1.15.0构建警告 RWX permissions

本帖最后由 phy1335 于 2024-4-19 12:25 编辑

问题
STM32CubeIDE更新到1.15.0后在链接时会 warning: xxx.elf has a LOAD segment with RWX permissions。

解决
在项目设置->C/C++bulid->Settings->MCU GCC Linker->Miscellaneous下的Othger flags添加:
-Wl,--no-warn-execstack
-Wl,--no-warn-rwx-segments

第一条禁用有关创建可执行堆栈的警告
第二条禁用有关可执行段的警告
其实只加第二条就可以了。只加第一条时,如果在ld文件里自定义添加了xrw段也会报错。

注意:此问题在新版本ide打开旧版本的项目时出现,新版本ide创建的项目应该是不会警告的。新版IDE使用了GCC12。
还是用回1.14.1之前的版本吧,新版还有一些bug{:13:}

相关资料
https://community.st.com/t5/stm32cubeide-mcus/stm32cubeide-1-15-0-elf-has-a-load-segment-with-rwx-permissions/td-p/652335
https://www.redhat.com/en/blog/linkers-warnings-about-executable-stacks-and-segments
https://blog.csdn.net/michaelchain/article/details/127177464




eric2013 发表于 2024-4-19 14:32:33

谢谢楼主分享。

tomasgod 发表于 2024-4-19 19:55:07

{:8:}我之前找不到原因,重新新建了个工程。。。
页: [1]
查看完整版本: 解决cubeide更新1.15.0构建警告 RWX permissions