aboutsummaryrefslogtreecommitdiff
path: root/lld/test/ELF/eh-frame-hdr-abs-fde.s
blob: f3b3cace56db249441b4522cb39ccbb172628858 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# REQUIRES: x86
# Check reading PC values of FDEs and writing lookup table in the .eh_frame_hdr
# if CIE augmentation string has 'L' token and PC values are encoded using
# absolute (not relative) format.

# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o %t.o
# RUN: ld.lld --eh-frame-hdr %t.o -o %t
# RUN: llvm-objdump -s -dwarf=frames %t | FileCheck %s

# CHECK: Augmentation:          "zLR"
# CHECK: Augmentation data:     00 1B
#                                  ^-- DW_EH_PE_pcrel | DW_EH_PE_udata4 | DW_EH_PE_signed

# CHECK:      Contents of section .eh_frame_hdr:
# CHECK-NEXT:  200190 011b033b 14000000 01000000 54100000
#                                                ^-- 0x201000 - 0x200190
#                                                    .text    - .eh_frame_hdr
# CHECK-NEXT:  2001a0 30000000
# CHECK:      Contents of section .text:
# CHECK-NEXT:  2011e4 90

	.text
  .globl __start
__start:
	.cfi_startproc
  .cfi_lsda 0, _ex
  nop
	.cfi_endproc

  .data
_ex:
  .word 0