Do binaries have to be page size aware? I thought it was a runtime thing. However if the aarch64-linux-user is hardwired to 4k it might explain it's confusion on a 64k machine.
On Thu, 28 Nov 2019, 16:33 Peter Maydell, <peter.mayd...@linaro.org> wrote: > If you objdump the binary and the offending library what do they seem to > have been built for ? > > Certainly this: > > 0000004000000000-0000004000001000 0000000000001000 --- > > looks like a 4K page when we're trying to load things, so either we got > the loading wrong or the binary is 4K. > > -- > You received this bug notification because you are a member of qemu- > devel-ml, which is subscribed to QEMU. > https://bugs.launchpad.net/bugs/1853826 > > Title: > ELF loader fails to load shared object on ThunderX2 running RHEL7 > > Status in QEMU: > Incomplete > > Bug description: > Simple test: > hello.c > > include <stdio.h> > > int main(int argc, char* argv[]) > { > { > printf("Hello World... \n"); > } > return 0; > } > > when compiled with : > *Compiler > > https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/arm-allinea-studio/download > Arm-Compiler-for-HPC_19.3_RHEL_7_aarch64.tar > > *Running: > 1) with -armpl > armclang -armpl hello.c > ./qemu/build/aarch64-linux-user/qemu-aarch64 a.out > 2) without flag > armclang hello.c > ./qemu/build/aarch64-linux-user/qemu-aarch64 a.out > > •With Docker image: > CentOS Linux release 7.7.1908 (AltArch) > > *Two different machines: > AArch64, Taishan. tsv110, Kunpeng 920, ARMv8.2-A > AArch64, Taishan 2280, Cortex-A72, ARMv8-A > > *QEMU 4.0 > qemu-aarch64 version 4.1.91 (v4.2.0-rc1) > > > Results: > > > ****Taishan 2280 Cortex-A72 > Running > 1)with -armpl flag with and without the docker > WORKS-> Hello World... > -> ldd a.out > ldd a.out > linux-vdso.so.1 => (0x0000ffffbc6a2000) > libamath_generic.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/clang/9.0.1/armpl_links/lib/libamath_generic.so > (0x0000ffffbc544000) > libm.so.6 => /lib64/libm.so.6 (0x0000ffffbc493000) > libastring_generic.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/clang/9.0.1/armpl_links/lib/libastring_generic.so > (0x0000ffffbc472000) libarmflang.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/libarmflang.so > (0x0000ffffbbfd3000) > libomp.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/libomp.so > (0x0000ffffbbef5000) > librt.so.1 => /lib64/librt.so.1 (0x0000ffffbbed4000) > libpthread.so.0 => /lib64/libpthread.so.0 (0x0000ffffbbe9f000) > libarmpl_lp64_generic.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/clang/9.0.1/armpl_links/lib/libarmpl_lp64_generic.so > (0x0000ffffb3306000) > libc.so.6 => /lib64/libc.so.6 (0x0000ffffb3180000) > libstdc++.so.6 => > /scratch/gcc-9.2.0_Generic-AArch64_RHEL-8_aarch64-linux/lib64/libstdc++.so.6 > (0x0000ffffb2f30000) > libgcc_s.so.1 => > /scratch/gcc-9.2.0_Generic-AArch64_RHEL-8_aarch64-linux/lib64/libgcc_s.so.1 > (0x0000ffffb2eff000) > libdl.so.2 => /lib64/libdl.so.2 (0x0000ffffb2ede000) > /lib/ld-linux-aarch64.so.1 (0x0000ffffbc674000) > > > Running > 2) without -armpl flag with and without the docker > WORKS -> Hello World... > -> ldd a.out > ldd a.out > linux-vdso.so.1 => (0x0000ffffa6895000) > libastring_generic.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/clang/9.0.1/armpl_links/lib/libastring_generic.so > (0x0000ffffa6846000) > libc.so.6 => /lib64/libc.so.6 (0x0000ffffa66c0000) > /lib/ld-linux-aarch64.so.1 (0x0000ffffa6867000) > > > ****Taishan - tsv110 Kunpeng 920 > For Running > > 1)with -armpl flag with and without the docker > DOES NOT WORK -> with and without Docker > -> It shows : qemu:handle_cpu_signal received > signal outside vCPU > context @ pc=0xffffaaa8844a > -> ldd a.out > ldd a.out > linux-vdso.so.1 => (0x0000ffffad4b0000) > libamath_generic.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/clang/9.0.1/armpl_links/lib/libamath_generic.so > (0x0000ffffad370000) > libm.so.6 => /lib64/libm.so.6 (0x0000ffffad2a0000) > libastring_generic.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/clang/9.0.1/armpl_links/lib/libastring_generic.so > (0x0000ffffad270000) libarmflang.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/libarmflang.so > (0x0000ffffacdd0000) > libomp.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/libomp.so > (0x0000ffffaccf0000) > librt.so.1 => /lib64/librt.so.1 (0x0000ffffaccc0000) > libpthread.so.0 => /lib64/libpthread.so.0 (0x0000ffffacc80000) > libarmpl_lp64_generic.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/clang/9.0.1/armpl_links/lib/libarmpl_lp64_generic.so > (0x0000ffffa40e0000) > libc.so.6 => /lib64/libc.so.6 (0x0000ffffa3f50000) > libstdc++.so.6 => > /scratch/gcc-9.2.0_Generic-AArch64_RHEL-8_aarch64-linux/lib64/libstdc++.so.6 > (0x0000ffffa3d00000) > libgcc_s.so.1 => > /scratch/gcc-9.2.0_Generic-AArch64_RHEL-8_aarch64-linux/lib64/libgcc_s.so.1 > (0x0000ffffa3cc0000) > libdl.so.2 => /lib64/libdl.so.2 (0x0000ffffa3c90000) > /lib/ld-linux-aarch64.so.1 (0x0000ffffad4c0000) > > > Running > 2) without -armpl flag with and without the docker > WORKS -> Hello World.. > -> ldd a.out > ldd a.out > linux-vdso.so.1 => (0x0000ffff880c0000) > libastring_generic.so => > /scratch/arm-linux-compiler-19.3_Generic-AArch64_RHEL-8_aarch64-linux/lib/clang/9.0.1/armpl_links/lib/libastring_generic.so > (0x0000ffff88080000) > libc.so.6 => /lib64/libc.so.6 (0x0000ffff87ee0000) > /lib/ld-linux-aarch64.so.1 (0x0000ffff880d0000) > > To manage notifications about this bug go to: > https://bugs.launchpad.net/qemu/+bug/1853826/+subscriptions > >