# RUN: llvm-mc -filetype=obj -triple x86_64 %s -o %t
# RUN: llvm-objdump -dr %t | FileCheck %s
# RUN: llvm-readelf -s %t | FileCheck %s --check-prefix=SYM

# RUN: not llvm-mc -filetype=obj -triple x86_64 --defsym ERR=1 %s 2>&1 | FileCheck %s --check-prefix=ERR

## If a fixup symbol is equated to an undefined symbol, convert the fixup
## to be against the target symbol, even if there is a variant (@PLT).
# CHECK:      callq {{.*}}
# CHECK-NEXT:   R_X86_64_PLT32  __GI_memcpy-0x4
# CHECK:      movabsq $0, %rax
# CHECK-NEXT:   R_X86_64_64  __GI_memcpy+0x2
memcpy = __GI_memcpy
call memcpy@PLT
movabsq $memcpy+2, %rax

# CHECK:      movq (%rip), %rax
# CHECK-NEXT:   R_X86_64_REX_GOTPCRELX  abs-0x4
movq abs@GOTPCREL(%rip), %rax
abs = 42

# CHECK:      movabsq $0, %rbx
# CHECK-NEXT:   R_X86_64_64  data_alias
.globl data_alias
.set data_alias, data
movabsq $data_alias, %rbx

## A local alias to a defined symbol still references a section symbol.
# CHECK:      movabsq $0, %rbx
# CHECK-NEXT:   R_X86_64_64  .data+0x1
.set data_alias_l, data
movabsq $data_alias_l, %rbx

.data
.byte 0
.globl data
data:

.ifdef ERR
.text
## Note, GNU as emits a relocation for this erroneous fixup.
# ERR: {{.*}}.s:[[#@LINE+2]]:1: error: expected relocatable expression
memcpy_plus_1 = __GI_memcpy+1
call memcpy_plus_1@PLT
.endif

## Redirected symbols do not have a symbol table entry.
# SYM:      NOTYPE  LOCAL  DEFAULT UND
# SYM-NEXT: NOTYPE  LOCAL  DEFAULT ABS abs
# SYM-NEXT: NOTYPE  LOCAL  DEFAULT   4 data_alias_l
# SYM-NEXT: SECTION LOCAL  DEFAULT   4 .data
# SYM-NEXT: NOTYPE  GLOBAL DEFAULT UND __GI_memcpy
# SYM-NEXT: NOTYPE  GLOBAL DEFAULT   4 data
# SYM-NEXT: NOTYPE  GLOBAL DEFAULT   4 data_alias
# SYM-NOT:  {{.}}
