1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o %t 2// RUN: llvm-readobj -S --sr --sd %t | FileCheck %s 3// RUN: llvm-objdump --dwarf=frames %t | FileCheck %s --check-prefix=FRAMES 4 5f: 6 .cfi_startproc 7 nop 8 .cfi_offset %rbp, -24 9 .cfi_offset %rflags, -16 10 .cfi_offset %gs.base, -8 11 .cfi_offset %fs.base, 0 12 nop 13 .cfi_endproc 14 15// CHECK: Section { 16// CHECK: Name: .eh_frame 17// CHECK-NEXT: Type: SHT_X86_64_UNWIND 18// CHECK-NEXT: Flags [ 19// CHECK-NEXT: SHF_ALLOC 20// CHECK-NEXT: ] 21// CHECK-NEXT: Address: 0x0 22// CHECK-NEXT: Offset: 0x48 23// CHECK-NEXT: Size: 56 24// CHECK-NEXT: Link: 0 25// CHECK-NEXT: Info: 0 26// CHECK-NEXT: AddressAlignment: 8 27// CHECK-NEXT: EntrySize: 0 28// CHECK-NEXT: Relocations [ 29// CHECK-NEXT: ] 30// CHECK-NEXT: SectionData ( 31// CHECK-NEXT: 0000: 14000000 00000000 017A5200 01781001 32// CHECK-NEXT: 0010: 1B0C0708 90010000 1C000000 1C000000 33// CHECK-NEXT: 0020: 00000000 02000000 00418603 B102BB01 34// CHECK-NEXT: 0030: BA000000 00000000 35// CHECK-NEXT: ) 36// CHECK-NEXT: } 37 38// CHECK: Section { 39// CHECK: Name: .rela.eh_frame 40// CHECK-NEXT: Type: SHT_RELA 41// CHECK-NEXT: Flags [ 42// CHECK-NEXT: SHF_INFO_LINK 43// CHECK-NEXT: ] 44// CHECK-NEXT: Address: 0x0 45// CHECK-NEXT: Offset: 46// CHECK-NEXT: Size: 24 47// CHECK-NEXT: Link: 48// CHECK-NEXT: Info: 49// CHECK-NEXT: AddressAlignment: 8 50// CHECK-NEXT: EntrySize: 24 51// CHECK-NEXT: Relocations [ 52// CHECK-NEXT: 0x20 R_X86_64_PC32 .text 0x0 53// CHECK-NEXT: ] 54// CHECK: } 55 56// FRAMES: DW_CFA_offset: reg6 -24 57// FRAMES-NEXT: DW_CFA_offset: reg49 -16 58// FRAMES-NEXT: DW_CFA_offset: reg59 -8 59// FRAMES-NEXT: DW_CFA_offset: reg58 0 60