id = 2082 title = "\"Unable to find a guest_base to satisfy all guest address mapping requirements\" running certain x86_64 binaries on aarch64 host" state = "opened" created_at = "2024-01-09T10:12:24.548Z" closed_at = "n/a" labels = ["kind::Bug", "linux-user"] url = "https://gitlab.com/qemu-project/qemu/-/issues/2082" host-os = "Fedora 39 & Fedora 40" host-arch = "aarch64" qemu-version = "qemu-8.1.3-1.fc39, qemu-8.2.0-0.3.rc2.fc40" guest-os = "linux-user" guest-arch = "x86_64" description = """Copying from: https://bugzilla.redhat.com/show_bug.cgi?id=2256916 With ``qemu-x86_64-static`` from ``qemu-8.1.3-1.fc39``, I can no longer run on the m1 the ``x86_64`` binary created by https://github.com/containers/PodmanHello If I try with ``qemu-x86_64-static`` from ``qemu-7.2.7-1.fc38`` then this works. If I build the binary manually on a fc39 x86 system with ``gcc -O2 -static -o podman_hello_world podman_hello_world.c``, then I can also run it successfully with ``qemu-8.1.3-1.fc39``. It's only the static binary built inside the alpine container which cannot be run on the M1. Misc tests I ran: ``` $ ./qemu-x86_64-static-8.1.3 podman_hello_world.alpine qemu-x86_64-static-8.1.3: /var/roothome/podman_hello_world.alpine: Unable to find a guest_base to satisfy all guest address mapping requirements 0000000000000000-0000000000000fff 0000000000400000-00000000004047ef $ ./qemu-x86_64-static-7.2.7 podman_hello_world.alpine !... Hello Podman World ...! [...] $ ./qemu-x86_64-static-8.1.3 podman_hello_world.fc39 !... Hello Podman World ...! [...] ``` The issue is still present with ``qemu-8.2.0-0.3.rc2.fc40`` I also could not reproduce on ``x86_64`` machines. I just tried it on fc39 installed on non-Apple ``aarch64`` hardware, and I'm seeing the same issue: ``` # rpm -qf /usr/bin/qemu-x86_64-static qemu-user-static-x86-8.1.3-1.fc39.aarch64 # qemu-x86_64-static ./podman_hello_world.alpine qemu-x86_64-static: /root/podman_hello_world.alpine: Unable to find a guest_base to satisfy all guest address mapping requirements 0000000000000000-0000000000000fff 0000000000400000-00000000004047ef ```""" reproduce = "n/a" additional = "n/a"