# REQUIRES: x86
# RUN: rm -rf %t; split-file %s %t
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/bar.s -o %t/bar.o
# RUN: %lld -dylib %t/bar.o -o %t/libbar.dylib
# RUN: not %lld -lSystem -o /dev/null %t/libbar.dylib %t/test.o 2>&1 | FileCheck %s
# CHECK-DAG: error: {{.*}}test.o:(symbol _main+0xd): relocation UNSIGNED is out of range: [[#]] is not in [0, 4294967295]; references _foo
# CHECK-DAG: error: {{.*}}test.o:(symbol _main+0x3): relocation GOT_LOAD is out of range: [[#]] is not in [-2147483648, 2147483647]; references _foo
# CHECK-DAG: error: stub is out of range: [[#]] is not in [-2147483648, 2147483647]; references _bar
# CHECK-DAG: error: stub helper header is out of range: [[#]] is not in [-2147483648, 2147483647]
# CHECK-DAG: error: stub helper header is out of range: [[#]] is not in [-2147483648, 2147483647]
#--- bar.s
.globl _bar
_bar:
#--- test.s
# Added to ensure that the error mentions the right function.
_baz:
ret
.globl _main, _foo
_main:
movq _foo@GOTPCREL(%rip), %rax
callq _bar
ret
.int _foo
.zerofill __TEXT,bss,_zero,0xffffffff
.data
_foo:
.space 0