blob: 930d7e67ac472d942fcba89cf740ec2caca647fc [file] [log] [blame]
George Rimar6ab275c2015-12-25 09:51:421// REQUIRES: x86
2// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
Fangrui Song8f10a5f2019-09-06 15:10:313// RUN: echo '.cfi_startproc; .cfi_endproc' | llvm-mc -filetype=obj -triple=x86_64 - -o %t2.o
Rafael Espindola1b6188d2016-04-06 19:38:264// RUN: ld.lld %t.o %t2.o -o %t
Fangrui Songb1599062019-05-01 05:49:015// RUN: llvm-readobj -S %t | FileCheck %s
Fangrui Song46453112022-03-29 16:51:416// RUN: llvm-objdump -d --print-imm-hex %t | FileCheck --check-prefix=DISASM %s
George Rimar6ab275c2015-12-25 09:51:427
8// CHECK: Name: .eh_frame
Rui Ueyamaf86cb902016-05-23 15:12:419// CHECK-NEXT: Type: SHT_PROGBITS
George Rimar6ab275c2015-12-25 09:51:4210// CHECK-NEXT: Flags [
11// CHECK-NEXT: SHF_ALLOC
12// CHECK-NEXT: ]
Ed Maste8fd01962016-11-23 17:44:0213// CHECK-NEXT: Address: 0x200120
George Rimar6ab275c2015-12-25 09:51:4214// CHECK-NEXT: Offset:
Fangrui Song95851512018-05-08 01:19:1615// CHECK-NEXT: Size: 52
Rafael Espindola1b6188d2016-04-06 19:38:2616// CHECK-NOT: .eh_frame
George Rimar6ab275c2015-12-25 09:51:4217
George Rimar6ab275c2015-12-25 09:51:4218// DISASM: Disassembly of section .text:
Fangrui Song5387c2c2019-05-01 10:40:4819// DISASM-EMPTY:
Fangrui Song71e2ca62020-03-05 22:18:3820// DISASM-NEXT: <_start>:
Fangrui Song46453112022-03-29 16:51:4121// DISASM-NEXT: movq 0x200120, %rax
22// DISASM-NEXT: leaq {{.*}}(%rip), %rax # {{.*}} <__EH_FRAME_LIST__>
George Rimar6ab275c2015-12-25 09:51:4223
Fangrui Songd6d640e2020-02-20 05:27:1324.section .eh_frame,"a",@unwind
Fangrui Song46453112022-03-29 16:51:4125__EH_FRAME_LIST__:
George Rimar6ab275c2015-12-25 09:51:4226
27.section .text
28.globl _start
29_start:
Fangrui Song46453112022-03-29 16:51:4130 movq .eh_frame, %rax # addend=0
31 leaq __EH_FRAME_LIST__(%rip), %rax # addend=-4, used by libclang_rt.crtbegin.o