【问题标题】:gcc/diab: keep unused function / sectionsgcc/diab:保留未使用的功能/部分
【发布时间】:2017-06-05 06:41:42
【问题描述】:

我有一个项目,我想在链接阶段保留某些功能/部分。

我试过了:

static void stub_enforcer(void) __attribute__ ((used))

但这是针对编译器的,而不是针对链接器的。

现在链接器负责并使用了-gc-sections,我想保留的功能“消失了”:(

Removing unused section '.text.func2' in file './src/func2.o'

如何指示链接器不要删除我需要的函数。

我想这样做的原因是通过更改二进制文件上的内容来构建函数的后期使用。

【问题讨论】:

  • 一种可能性是在 you 知道永远不会为真但编译器/链接器不能做到的条件中“使用”函数:@987654323 @

标签: c++ gcc


【解决方案1】:

我通过控制LD脚本找到了解决办法,

我已将stub_enforcer 放在一个部分中,并使用KEEP() 命令确保链接器不会抛出它。

有效。

【讨论】:

  • 如果要保留符号,可以使用“-u”标志保留特定符号。
猜你喜欢
  • 2017-04-12
  • 2019-04-06
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
  • 2014-01-10
  • 2016-12-11
相关资源
最近更新 更多