Binutils >=2.37 and Clang do not accept (. - 0x100000000) PCRel32 constants. While this looks like a bug that needs fixing, use a different notation (-0x100000000) as a workaround.
Reported-by: Thomas Huth <th...@redhat.com> Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com> --- tests/tcg/s390x/branch-relative-long.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tcg/s390x/branch-relative-long.c b/tests/tcg/s390x/branch-relative-long.c index 94219afcad..8ce9f1c2e5 100644 --- a/tests/tcg/s390x/branch-relative-long.c +++ b/tests/tcg/s390x/branch-relative-long.c @@ -13,8 +13,8 @@ #_name "_end:\n"); DEFINE_ASM(br_r14, "br %r14"); -DEFINE_ASM(brasl_r0, "brasl %r0,.-0x100000000"); -DEFINE_ASM(brcl_0xf, "brcl 0xf,.-0x100000000"); +DEFINE_ASM(brasl_r0, "brasl %r0,-0x100000000"); +DEFINE_ASM(brcl_0xf, "brcl 0xf,-0x100000000"); struct test { const char *code; -- 2.35.1