On Wed, 2022-05-04 at 11:14 +0200, Thomas Huth wrote: > On 04/05/2022 11.07, Ilya Leoshkevich wrote: > > On Wed, 2022-05-04 at 09:01 +0200, Thomas Huth wrote: > > > On 04/05/2022 00.46, Ilya Leoshkevich wrote: > > > > On Tue, 2022-05-03 at 21:26 +0200, Thomas Huth wrote: > > > > > On 03/05/2022 11.02, Thomas Huth wrote: > > > > > > On 02/05/2022 18.48, Ilya Leoshkevich wrote: > > > > > > > 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"); > > > > > > > > > > > > Works for me, thanks! > > > > > > > > > > Sorry, I spoke too soon - it compiles fine, and also runs > > > > > fine > > > > > when I > > > > > run it > > > > > natively, but when I run it through "qemu-s390x", it > > > > > crashes... > > > > > does > > > > > that > > > > > work for you? > > > > > > > > Hi, yes, I just double-checked - it works fine for me. > > > > Could you please share the resulting test binary? > > > > > > > > > Sure, here it is: > > > > > > https://people.redhat.com/~thuth/data/branch-relative-long > > > > > > Thomas > > > > Your binary worked fine for me. > > > > QEMU commit 2e3408b3cc7de4e87a9adafc8c19bfce3abec947, > > x86_64 host, > > Oh, well, now that you've mentioned it: I was running "make check- > tcg" on a > s390x host. It works fine on a x86, indeed. So the new problem is > likely in > the s390x TCG host backend... Richard, could you maybe have a look? > > Thomas
It worked fine on a s390x host for me as well. Can this be related to the large mmap() that the test performs?