blob: a87895db7a14031f5159b42f347eddac9d321e02 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
architecture: 0.934
x86: 0.926
performance: 0.863
graphic: 0.834
semantic: 0.831
user-level: 0.715
ppc: 0.697
socket: 0.691
device: 0.681
permissions: 0.655
PID: 0.634
hypervisor: 0.633
network: 0.603
peripherals: 0.563
files: 0.541
VMM: 0.495
virtual: 0.494
kernel: 0.486
boot: 0.467
arm: 0.449
register: 0.436
debug: 0.433
vnc: 0.399
TCG: 0.383
risc-v: 0.382
mistranslation: 0.344
assembly: 0.315
i386: 0.289
KVM: 0.159
--------------------
x86: 0.942
virtual: 0.826
hypervisor: 0.576
user-level: 0.222
files: 0.114
register: 0.097
TCG: 0.061
KVM: 0.057
debug: 0.050
PID: 0.038
architecture: 0.031
kernel: 0.020
device: 0.020
VMM: 0.016
socket: 0.013
boot: 0.010
semantic: 0.009
vnc: 0.003
performance: 0.003
network: 0.002
assembly: 0.002
ppc: 0.002
risc-v: 0.001
graphic: 0.001
permissions: 0.001
peripherals: 0.001
mistranslation: 0.001
i386: 0.000
arm: 0.000
"Unable to find a guest_base to satisfy all guest address mapping requirements" running certain x86_64 binaries on aarch64 host
Description of problem:
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
```
|