llvm-project/llvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
Igor Kudrin fe84764724
[DWARF] Dump an updated location for DW_CFA_advance_loc* (#84274)
When dumping FDEs, `readelf` prints new location values after
`DW_CFA_advance_loc(*)` instructions, which looks quite convenient:

```
> readelf -wf test.o
...
... FDE ... pc=0000000000000030..0000000000000064
  DW_CFA_advance_loc: 4 to 0000000000000034
  ...
  DW_CFA_advance_loc: 4 to 0000000000000038
...
```

This patch makes `llvm-dwarfdump` and `llvm-readobj` do the same.
2024-03-08 07:34:36 +07:00

29 lines
1009 B
Plaintext

; RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test-32bit.elf.o --debug-frame | FileCheck %s -check-prefix FRAMES
; Note: the input file was generated from Inputs/dwarfdump-test-32bit.elf.c
; REQUIRES: x86-registered-target
; FRAMES: .debug_frame
; FRAMES: 00000000 00000010 ffffffff CIE
; FRAMES: Version: 1
; FRAMES: DW_CFA_def_cfa: {{reg4|ESP}} +4
; FRAMES-NEXT: DW_CFA_offset: {{reg8|EIP}} -4
; FRAMES-NEXT: DW_CFA_nop:
; FRAMES-NEXT: DW_CFA_nop:
; FRAMES: 00000014 00000010 00000000 FDE cie=00000000 pc=00000000...00000022
; FRAMES: DW_CFA_advance_loc: 3 to 0x3
; FRAMES-NEXT: DW_CFA_def_cfa_offset: +12
; FRAMES-NEXT: DW_CFA_nop:
; FRAMES: 00000028 00000014 00000000 FDE cie=00000000 pc=00000030...00000080
; FRAMES: DW_CFA_advance_loc: 1 to 0x31
; FRAMES-NEXT: DW_CFA_def_cfa_offset: +8
; FRAMES-NEXT: DW_CFA_offset: {{reg5|EBP}} -8
; FRAMES-NEXT: DW_CFA_advance_loc: 2 to 0x33
; FRAMES-NEXT: DW_CFA_def_cfa_register: {{reg5|EBP}}
; FRAMES-NOT: CIE
; FRAMES-NOT: FDE
; FRAMES: .eh_frame