2012-03-17 317 views
5

你好,我有一个链接脚本,其中我发现代码“__exidx_start = .;”,它将标签值设置为位置计数器“.”的值。这个标签不会在同一个链接描述文件中的任何地方使用。'__exidx_start'和'__exidx_end'他们做什么?

在第一个下面有一个类似的标签定义了几行,它的定义方式与“__exidx_end = .;”相同。

这两个标签是.text.rodata部分boundries,但我不知道为什么会有人定义这两个,如果他们没有在链接脚本中使用?

回答

2

它们不在链接器脚本中使用,但它们被声明为extern变量并在gcc库中使用。把它们拿出来,这就是发生了什么事:

 
.../gcc/config/arm/unwind-arm.c:614: undefined reference to `__exidx_start' 
.../gcc/config/arm/unwind-arm.c:614: undefined reference to `__exidx_end' 
相关问题