[qemu-user/qemu-x86_64] run x86_64 'ls /' on aarch64 platform get wrong result
Host environment
-
Operating system: Fedora-39/Fedora-36/Fedora-29
-
OS/kernel version: default
-
Architecture: x86_64
-
QEMU flavor: qemu-user
-
QEMU version: any
-
QEMU command line: qemu-x86_64 -L /path/to/library/root
qemu-x86_64 -L /tmp/ls-x86_64/root-x86_64-ls /tmp/ls-x86_64/root-x86_64-ls/bin/ls -l /
Emulated/Virtualized environment
- Operating system: Fedora-39/Fedora-36/Fedora-29
- OS/kernel version: default
- Architecture: ARM64/aarch64
Description of problem
```
qemu-x86_64 -L /tmp/ls-x86_64/root-x86_64-ls /tmp/ls-x86_64/root-x86_64-ls/bin/ls -l /
```
get wrong result
Steps to reproduce
- copy /usr/bin/ls and the so library files it depends on from x86_64 platform to aarch64 platform
- qemu-x86_64 -L /path/to/x86_64/lib/root/dir /path/to/ls / -l
Expected Results:
[root@fedora-39aarch64 ~]# qemu-x86_64 -L /tmp/ls-x86_64/root-x86_64-ls /tmp/ls-x86_64/root-x86_64-ls/bin/ls -l /
dr-xr-xr-x. 1 root root 0 Jul 21 00:00 /afs
lrwxrwxrwx. 1 root root 7 Jul 21 00:00 /bin
dr-xr-xr-x. 7 root root 4096 Nov 1 01:13 /boot
drwxr-xr-x. 19 root root 3800 Jan 16 06:35 /dev
drwxr-xr-x. 1 root root 2758 Jan 16 06:37 /etc
drwxr-xr-x. 1 root root 24 Jan 16 06:27 /home
lrwxrwxrwx. 1 root root 7 Jul 21 00:00 /lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Jul 21 00:00 /lib64
drwxr-xr-x. 1 root root 0 Jul 21 00:00 /media
drwxr-xr-x. 1 root root 40 Jan 16 06:34 /mnt
drwxr-xr-x. 1 root root 0 Jul 21 00:00 /opt
dr-xr-xr-x. 217 root root 0 Jan 16 06:26 /proc
dr-xr-x---. 1 root root 200 Jan 16 06:38 /root
drwxr-xr-x. 31 root root 840 Jan 16 06:27 /run
lrwxrwxrwx. 1 root root 8 Jul 21 00:00 /sbin -> usr/sbin
drwxr-xr-x. 1 root root 0 Jul 21 00:00 /srv
dr-xr-xr-x. 12 root root 0 Jan 16 06:27 /sys
drwxrwxrwt. 12 root root 260 Jan 16 06:39 /tmp
drwxr-xr-x. 1 root root 100 Nov 1 01:06 /usr
drwxr-xr-x. 1 root root 170 Jan 16 06:27 /var
Actual results
[root@fedora-39aarch64 ~]# qemu-x86_64 -L /tmp/ls-x86_64/root-x86_64-ls /tmp/ls-x86_64/root-x86_64-ls/bin/ls -l /
/tmp/ls-x86_64/root-x86_64-ls/bin/ls: cannot read symbolic link '/bin': Invalid argument
/tmp/ls-x86_64/root-x86_64-ls/bin/ls: cannot read symbolic link '/lib64': Invalid argument
total 8
lrwxrwxrwx. 1 root root 7 Jul 21 00:00 bin
lrwxrwxrwx. 1 root root 9 Jul 21 00:00 lib64
Additional information
Actual test script:
# host
curl -Ls https://github.com/tcler/kiss-vm-ns/raw/master/utils/archive-ld-program.sh | sudo bash /dev/stdin ls
scp ls.x86_64.ash root@jiyin-fedora-39_aarch64:
ssh root@jiyin-fedora-39_aarch64 ./ls.x86_64.ash -l /