我有一个项目,我想在链接阶段保留某些功能/部分。
我试过:
static void stub_enforcer(void) __attribute__ ((used))
但这是针对编译器的,而不是针对链接器的。
现在链接器负责并使用了 -gc-sections,我想保留的功能“消失了”:(
Removing unused section '.text.func2' in file './src/func2.o'
如何指示链接器不要删除我需要的函数。
我想这样做的原因是通过更改二进制文件中的内容来对该函数进行后期构建使用。
最佳答案
通过控制LD脚本找到了解决办法,
我已将 stub_enforcer
放在一个部分中,并使用 KEEP()
命令来确保链接器不会抛出它。
有效。
关于c++ - gcc/diab : keep unused function/sections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44363099/