1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -dwarf-version 2 %s -o - | llvm-readobj -S --sd - | FileCheck -check-prefix=ELF_64 -check-prefix=ELF_64_DWARF_2 %s
2// RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu -dwarf-version 2 %s -o - | llvm-readobj -S --sd - | FileCheck -check-prefix=ELF_32 -check-prefix=ELF_32_DWARF_2 %s
3
4// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -dwarf-version 3 %s -o - | llvm-readobj -S --sd - | FileCheck -check-prefix=ELF_64 -check-prefix=ELF_64_DWARF_3 %s
5// RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu -dwarf-version 3 %s -o - | llvm-readobj -S --sd - | FileCheck -check-prefix=ELF_32 -check-prefix=ELF_32_DWARF_3 %s
6
7// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -dwarf-version 4 %s -o - | llvm-readobj -S --sd - | FileCheck -check-prefix=ELF_64 -check-prefix=ELF_64_DWARF_4 %s
8// RUN: llvm-mc -filetype=obj -triple i686-pc-linux-gnu -dwarf-version 4 %s -o - | llvm-readobj -S --sd - | FileCheck -check-prefix=ELF_32 -check-prefix=ELF_32_DWARF_4 %s
9
10.cfi_sections .debug_frame
11
12f1:
13        .cfi_startproc
14        nop
15        .cfi_endproc
16
17f2:
18        .cfi_startproc
19        nop
20        .cfi_endproc
21
22// ELF_64:        Section {
23// ELF_64:          Name: .debug_frame
24// ELF_64-NEXT:     Type: SHT_PROGBITS
25// ELF_64-NEXT:     Flags [
26// ELF_64-NEXT:     ]
27// ELF_64-NEXT:     Address: 0x0
28// ELF_64-NEXT:     Offset: 0x48
29// ELF_64-NEXT:     Size: 72
30// ELF_64-NEXT:     Link: 0
31// ELF_64-NEXT:     Info: 0
32// ELF_64-NEXT:     AddressAlignment: 8
33// ELF_64-NEXT:     EntrySize: 0
34// ELF_64-NEXT:     SectionData (
35// ELF_64_DWARF_2-NEXT:       0000: 14000000 FFFFFFFF 01000178 100C0708
36// ELF_64_DWARF_2-NEXT:       0010: 90010000 00000000 14000000 00000000
37// ELF_64_DWARF_3-NEXT:       0000: 14000000 FFFFFFFF 03000178 100C0708
38// ELF_64_DWARF_3-NEXT:       0010: 90010000 00000000 14000000 00000000
39// ELF_64_DWARF_4-NEXT:       0000: 14000000 FFFFFFFF 04000800 0178100C
40// ELF_64_DWARF_4-NEXT:       0010: 07089001 00000000 14000000 00000000
41// ELF_64-NEXT:       0020: 00000000 00000000 01000000 00000000
42// ELF_64-NEXT:       0030: 14000000 00000000 00000000 00000000
43// ELF_64-NEXT:       0040: 01000000 00000000
44// ELF_64-NEXT:     )
45// ELF_64-NEXT:   }
46
47// ELF_32:        Section {
48// ELF_32:          Name: .debug_frame
49// ELF_32-NEXT:     Type: SHT_PROGBITS
50// ELF_32-NEXT:     Flags [
51// ELF_32-NEXT:     ]
52// ELF_32-NEXT:     Address: 0x0
53// ELF_32-NEXT:     Offset: 0x38
54// ELF_32-NEXT:     Size: 52
55// ELF_32-NEXT:     Link: 0
56// ELF_32-NEXT:     Info: 0
57// ELF_32-NEXT:     AddressAlignment: 4
58// ELF_32-NEXT:     EntrySize: 0
59// ELF_32-NEXT:     SectionData (
60// ELF_32_DWARF_2-NEXT:       0000: 10000000 FFFFFFFF 0100017C 080C0404
61// ELF_32_DWARF_2-NEXT:       0010: 88010000 0C000000 00000000 00000000
62// ELF_32_DWARF_3-NEXT:       0000: 10000000 FFFFFFFF 0300017C 080C0404
63// ELF_32_DWARF_3-NEXT:       0010: 88010000 0C000000 00000000 00000000
64// ELF_32_DWARF_4-NEXT:       0000: 10000000 FFFFFFFF 04000400 017C080C
65// ELF_32_DWARF_4-NEXT:       0010: 04048801 0C000000 00000000 00000000
66// ELF_32-NEXT:       0020: 01000000 0C000000 00000000 01000000
67// ELF_32-NEXT:       0030: 01000000
68
69// ELF_32-NEXT:     )
70// ELF_32-NEXT:   }
71