我正在构建一个cpp项目,但是链接失败了,因为.debug_info
段太大,超过了2^32-1
。是否有工具可以定位代码的哪一部分有更大的.debug_info
段,或者是否有方法可以消除这个限制?
编译器版本:
g++ (GCC) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
错误:
ld.lld: error: thread.cc:(.debug_info+0x90A0): relocation R_X86_64_32 out of range: 4306390516 is not in [0, 4294967295]; consider recompiling with -fdebug-types-section to reduce size of debug sections
1条答案
按热度按时间wgx48brx1#
将
-mcmodel=medium
添加到编译器标志中,这样就不会假设符号可以用32位偏移量寻址,它们可以使用整个64位地址空间。