Linker 没有足够的get空间用于本地get条目

Linker 没有足够的get空间用于本地get条目,linker,mips,Linker,Mips,有人能给出一些可能导致链接器出错的场景吗 没有足够的get空间用于本地get条目get表示全局偏移表。GOT是一个128KB的外部符号指针表。每个链路单元都有自己的GOT,用于使链路单元能够访问其他链路单元中的符号。本手册第16章对此进行了更详细的解释 您试图链接的代码似乎引用了太多(>~32k)外部符号。我是一名构建工程师,对编码知之甚少。如果您能告诉我一种“通过简单的测试用例强制链接器生成此错误”的方法,我将不胜感激。事实上,binutils的贡献者正在寻找一个简单的测试用例——为这个问题提

有人能给出一些可能导致链接器出错的场景吗


没有足够的get空间用于本地get条目

get表示全局偏移表。GOT是一个128KB的外部符号指针表。每个链路单元都有自己的GOT,用于使链路单元能够访问其他链路单元中的符号。本手册第16章对此进行了更详细的解释


您试图链接的代码似乎引用了太多(>~32k)外部符号。

我是一名构建工程师,对编码知之甚少。如果您能告诉我一种“通过简单的测试用例强制链接器生成此错误”的方法,我将不胜感激。事实上,binutils的贡献者正在寻找一个简单的测试用例——为这个问题提供补丁/修复。GOT是一个指向特定对象文件中声明的
extern
的指针表。您可以编写一个脚本来生成声明大约32000个外部符号的
C
代码,并编译和链接导致错误。“查看MIPS跑步”这本书在这里会很有帮助。谢谢。我试过了,但也许,我做错了什么,我无法复制。sourceware的员工似乎取得了一些进展。我把这个链接留在这里。希望如果有人发现同样的问题,他们会知道更多的细节。