dev-util/valgrind-3.10.1 fails to build/link on arm64 due to valgrind-3.10.1-non-exec-stack.patch The reordering of the objects in the patch causes absolute relocations like /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2234:( .text+0x1014): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_setup' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm64_li nux_a-syscall-arm64-linux.o) exceeds the range of 12bit Reproducible: Always Steps to Reproduce: 1. emerge dev-util/valgrind-3.10.1 on arm64 Actual Results: ../coregrind/link_tool_exe_linux 0x38000000 aarch64-unknown-linux-gnu-gcc -Wno-long-long -O2 -pipe -fno -stack-protector -Wl,-O1 -Wl,--as-needed -o memcheck-arm64-linux -fno-stack-protector -O2 -g -Wall -Wmi ssing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-le ngth -fno-strict-aliasing -fno-builtin -O2 -static -nodefaultlibs -nostartfiles -u _start memcheck_arm 64_linux-mc_leakcheck.o memcheck_arm64_linux-mc_malloc_wrappers.o memcheck_arm64_linux-mc_main.o memchec k_arm64_linux-mc_translate.o memcheck_arm64_linux-mc_machine.o memcheck_arm64_linux-mc_errors.o ../coreg rind/libcoregrind-arm64-linux.a ../VEX/libvex-arm64-linux.a -lgcc ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm64_linux_a-syswrap-main.o): In function `vgPlain _fixup_guest_state_after_syscall_interrupted': /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2234:( .text+0x1014): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_setup' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm64_li nux_a-syscall-arm64-linux.o) /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2236:( .text+0x1048): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_restart' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm64_ linux_a-syscall-arm64-linux.o) /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2240:( .text+0x1054): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_complete' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm64 _linux_a-syscall-arm64-linux.o) /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2240:( .text+0x1068): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_committed' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm6 4_linux_a-syscall-arm64-linux.o) /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2242:( .text+0x107c): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_finished' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm64 _linux_a-syscall-arm64-linux.o) /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2240:( .text+0x1150): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_committed' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm6 4_linux_a-syscall-arm64-linux.o) /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2236:( .text+0x1168): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_restart' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm64_ linux_a-syscall-arm64-linux.o) /var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/coregrind/m_syswrap/syswrap-main.c:2234:( .text+0x1170): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `vgModuleLocal_b lksys_finished' defined in .rodata section in ../coregrind/libcoregrind-arm64-linux.a(libcoregrind_arm64 _linux_a-syscall-arm64-linux.o) collect2: error: ld returned 1 exit status Makefile:928: recipe for target 'memcheck-arm64-linux' failed make[3]: *** [memcheck-arm64-linux] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/memcheck' Makefile:1204: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1/memcheck' Makefile:772: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/dev-util/valgrind-3.10.1/work/valgrind-3.10.1' Makefile:640: recipe for target 'all' failed make: *** [all] Error 2 * ERROR: dev-util/valgrind-3.10.1::gentoo failed (compile phase): * emake failed
Created attachment 405550 [details] emerge info
I'm cleaning up older bugs. This is not the sort of thing we can handle downstream. Can you open an upstream bug.