gcc编译C++程序后,会生成很多的类似.data._ZNSt17_xxxxxxx的段,为什么?
gcc4.8.1交叉编译C++程序,生成的PowerPC的文件中,会有特别多的类似.data._ZNSt17_timepunct_cacheIcE12_S_timezonesE段,还有类似.bss._ZZN9_gnu_cxx27_verbose_terminate_handlerEvE11terminating段,
而使用gcc3.4.4编译出来的程序,则只有一个.data段或.bss段,而不是很多以.data开头或.bss开头的段。
现在发现的问题是连接脚本中只使用*.bss,会丢失其它bss段,必须用*.bss.*才行。
请问各位专家:
1)gcc4.8.1和gcc3.4.4在生成段方面有什么区别?
2)连接脚本如果只使用*.text,会不会丢失一些text信息? 连接脚本是否必须用*.text.* ?