我有一个链接器脚本,可以将大量目标文件组合在一起。相关部分如下所示:
.usr {
Build/usr/*.o
} > sdram
所有目标文件(Build / usr / * o)都包含调试信息(可以使用objdump -S
进行验证,显示C行号和反汇编之间的对应关系。)
但是,生成的elf文件中没有.usr
部分中代码的调试信息。
作为一项实验,我将相关部分更改为:
.usr : {
Build/usr/*(.text);
Build/usr/*(.data);
Build/usr/*(.bss COMMON);
} > sdram
问题消失了。
有谁能说明为什么这样才能解决问题?