Hi qemu developers,

I'm working on Yocto project. With recent qemu upgrade from 10.1.3 to 10.2.0, I found that qemu-ppc64le has a serious regression. It cannot run binaries built out with "-mcpu=power9".

The error message is like below:
"""
../sources/which-2.23/meson.build:6:0: ERROR: Executables created by c compiler powerpc64le-poky-linux-gcc -mlittle-endian -mhard-float -maltivec -m64 -mcpu=power9 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=xxx
...........
Sanity check: `/PATH/TO/build/tmp/work/ppc64p9le-poky-linux/which/2.23/meson-qemuwrapper /PATH/TO/build/tmp/work/ppc64p9le-poky-linux/which/2.23/build/meson-private/sanitycheckc_cross.exe` -> 127
stderr:
*Fatal glibc error: CPU lacks ISA 3.00 support (POWER9 or later required)*
"""
The meson-qemuwrapper is a wrapper around qemu-ppc64le.

I can confirm that qemu 10.1.3 has no such problem.

I used 'git bisect' to find the first bad commit. It's fcac98d0ba8b5f4c311c1059d897d74d1276af9d (linux-user: Remove ELF_HWCAP2).

Unfortunately, I found this commit is part of a series of about 100 patches. See commands and outputs below:
"""
$ git log --oneline v10.1.3..v10.2.0 -- linux-user/elfload.c   | wc -l
98
$ git log --oneline v10.1.3..v10.2.0 -- linux-user/elfload.c   | grep -C 5 HWCAP2
f10c3d9084 linux-user: Remove ELF_PLATFORM
eaf983e04b linux-user/hppa: Create get_elf_platform
084b3247a0 linux-user/loongarch64: Create get_elf_platform
d6b8c5dbd9 linux-user: Move get_elf_platform to arm/elfload.c
3c907dec45 linux-user: Move get_elf_platform to {i386,x86_64}/elfload.c
fcac98d0ba linux-user: Remove ELF_HWCAP2
0dbb0ba870 linux-user: Remove ELF_HWCAP
50e59ad0b7 linux-user: Move get_elf_hwcap to riscv/elfload.c
1d4774b60e linux-user: Move hwcap functions to s390x/elfload.c
92c9983c06 linux-user: Move get_elf_hwcap to sh4/elfload.c
48004ab058 linux-user: Move get_elf_hwcap to mips/elfload.c
"""

So it looks like that the code refactoring for linux-user caused some regression for ppc64.

Could someone help check it? Or is there some suggestion how to debug this problem?

P.S.
If qemu-devel is not the correct mailing list for this email. Please let me know.

Regards,
Qi

Reply via email to