主题中讨论的其他器件:SysConfig、
无法构建 Amazon Sidewalk 演示。 除了 make 文件显示错误外、没有很多信息可以继续进行调试(请参阅屏幕截图):
我的环境:CCS 12.6在 Apple 芯片上使用 macOS Sonoma (最大 M3)。 我是否在链接器/编译器中遗漏了一些配置?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Arthur -我可以在运行 Sonoma 的 M1宏手册上重现相同的 GCC 9.2.1链接器错误。
构建同一项目时、我在 Windows 上没有收到此错误(不过我确实收到一个编译后处理步骤错误)
完整的链接器错误为:
Makefile:233:目标的食谱"id_demo_lp_CC1352P7_1_freertos_gcc.out"失败
/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld:/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so:加载插件时出错:dlopen (/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so、0x0002):已尝试:'/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so (不是 mach-o 文件)、'/System/Volumes/Preboot/Cryptexes/OS/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so (不是这样的文件)、'/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/bin/../lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so (不是 mach-o 文件)、'/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so (不是 mach-o 文件)、'/System/Volumes/Preboot/Cryptexes/OS/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so (不是这样的文件)、'/Users/sdoapps/ti/gcc_arm_none_eabi_9_2_1/lib/gcc/arm-none-eabi/9.2.1/liblto_plugin.so (不是 mach-o 文件)
看起来像是一些缺失的可靠性。 请注意、SDTO 不支持 GCC、但产品线支持 GCC。
我能够解决问题、但不确定是否是最佳解决方案。 注意我正在使用 M3处理器在 MacBook Pro 上进行开发、并 在 Apple 芯片上使用适用于 Darwin 的 Arm GNU 工具链版本13.2.rel1、以 ARM Aarch32裸机(arm-none-eabi)为目标。
问题: 在链接阶段,我遇到了链接器无法找到-lssp_nonshared
和-lssp
的错误,与堆栈损坏保护器(SSP)库有关。 这个问题使我的项目无法成功链接,尽管编译阶段没有错误地完成。
解决方案?: 进行了一些故障排除后、我发现问题是由于默认情况下启用了堆栈保护功能。 为了解决这个问题,我修改了我的编译器标记-fstack-protector
-fstack-protector-strong
通过删除和显式禁用它们通过添加-fno-stack-protector
. 此更改有效地省去了对 SSP 支持的需要、使我的项目能够成功链接和编译。
社区问题:
-fno-stack-protector
()是否可行?