symbol-assign-not-converge.test
510 Bytes
# REQUIRES: aarch64, x86
# RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o %t.o
# RUN: not ld.lld %t.o -T %s -o /dev/null 2>&1 | FileCheck %s
## AArch64 needs thunks and has different address finalization process, so test
## it as well.
# RUN: llvm-mc -filetype=obj -triple=aarch64 /dev/null -o %t.o
# RUN: not ld.lld %t.o -T %s -o /dev/null 2>&1 | FileCheck %s
# CHECK: error: assignment to symbol a does not converge
SECTIONS {
. = 0x1000;
a = b;
b = c;
c = d;
d = e;
e = f;
f = .;
}