[Lldb-commits] [lldb] Add support for inline DWARF source files. (PR #75880)

Alexander M. via lldb-commits lldb-commits at lists.llvm.org
Thu Feb 29 02:59:25 PST 2024


amordo wrote:

@adrian-prantl, I'll be glad to help:)
dwarf on Win has warnings like `objdump: Warning: DW_FORM_line_strp offset too big: 0x4008a16c` and no inlined source
here is a part of `$ objdump --dwarf a.out` ([full](https://github.com/amordo/TestInlineSourceFiles.test_dwarf/blob/main/objdump_win_out.md))
```
 The File Name Table (offset 0xaf, lines 2, columns 3):
  Entry Dir     (Unknown format content type 8193)      Name
  0     0objdump: Warning: DW_FORM_line_strp offset too big: 0x4008a161
        (indirect line string, offset: 0x4008a161): <offset is too big>objdump: Warning: DW_FORM_line_strp offset too big: 0x4008a14f
        (indirect line string, offset: 0x4008a14f): <offset is too big>
  1     1objdump: Warning: DW_FORM_line_strp offset too big: 0x4008a16c
        (indirect line string, offset: 0x4008a16c): <offset is too big>objdump: Warning: DW_FORM_line_strp offset too big: 0x4008a162
        (indirect line string, offset: 0x4008a162): <offset is too big>
```
while linux has one
```
 The File Name Table (offset 0xad, lines 2, columns 3):
  Entry	Dir	(Unknown format content type 8193)	Name
  0	0	(indirect line string, offset: 0x159): 	(indirect line string, offset: 0xf4): /INLINE/inlined.c
  1	1	(indirect line string, offset: 0x106): void stop();
void f() {
  // This is inline source code.
  stop(); // break here
}
```
you can look at Win test result there (+ added 2 .md with the objdump outputs)
https://github.com/amordo/TestInlineSourceFiles.test_dwarf/tree/main

ps. played replacing '/' on '\\' in paths in `inline.ll`, no effect

https://github.com/llvm/llvm-project/pull/75880


More information about the lldb-commits mailing list