1

我已经通过 MCJIT 生成了一个带有调试信息的 ELF 对象,但是当我在 LLVM 中读回它时,它会发现一个空debug_ranges部分,即使那里应该有数据。我已将目标文件转储到磁盘,实际上:

$ readelf -wR objfile
Contents of the .debug_ranges section:

    Offset   Begin    End
    00000000 0000000000000089 00000000000000b6 
    00000000 0000000000000120 0000000000000150 
    00000000 <End of list>

$ llvm-dwarfdump --debug-dump=ranges objfile

objfile:        file format ELF64-x86-64


.debug_ranges contents:

用plain 倾倒llvm-dwarfdump objfile给出了稍微更详细的信息:

.debug_ranges contents:
00000000 <End of list>
00000010 <End of list>
00000020 <End of list>

所以看起来数据写入成功但没有正确读取。有什么想法会导致这种情况,我该如何解决?

我使用 LLVM 3.2 生成了目标文件,并尝试llvm-dwarfdump了 3.2 和 top-of-trunk。

4

0 回答 0