# 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
