| // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sd | FileCheck %s |
| |
| // Test that .debug_line is populated. TODO: This test should really be using |
| // llvm-dwarfdump, but it cannot parse this particular object file. The content |
| // of .debug_line was checked using GNU binutils: |
| |
| // $ objdump --dwarf=decodedline debug-line.o |
| // [...] |
| // File name Line number Starting address |
| // foo.c 4 0 |
| // foo.c 5 0x4 |
| // foo.c 6 0x5 |
| |
| // CHECK: Section { |
| // CHECK: Name: .debug_line |
| // CHECK-NEXT: Type: SHT_PROGBITS |
| // CHECK-NEXT: Flags [ |
| // CHECK-NEXT: ] |
| // CHECK-NEXT: Address: 0x0 |
| // CHECK-NEXT: Offset: |
| // CHECK-NEXT: Size: 57 |
| // CHECK-NEXT: Link: 0 |
| // CHECK-NEXT: Info: 0 |
| // CHECK-NEXT: AddressAlignment: 1 |
| // CHECK-NEXT: EntrySize: 0 |
| // CHECK-NEXT: SectionData ( |
| |
| // CHECK-NEXT: 0000: 35000000 02001C00 00000101 FB0E0D00 |
| // CHECK-NEXT: 0010: 01010101 00000001 00000100 666F6F2E |
| // CHECK-NEXT: 0020: 63000000 00000009 02000000 00000000 |
| // CHECK-NEXT: 0030: 00154B21 02080001 01 |
| // CHECK-NEXT: ) |
| // CHECK-NEXT: } |
| |
| .section .debug_line,"",@progbits |
| .text |
| |
| .file 1 "foo.c" |
| .loc 1 4 0 |
| subq $8, %rsp |
| |
| // Test that .loc works with values, not just instructions. |
| |
| .loc 1 5 0 |
| .byte 0xc3 |
| |
| .loc 1 6 0 |
| l: |
| .quad l |