Created attachment 866949 [details] build.log Catched this during tatt testing and wondered why building the tests fails like that but building the binary is ok. Looks like building the tests implicitly pulls in -maltivec and later on a Power ISA v2.07 compatible cpu (-mcpu=power8), which has to fail with plain -mcpu=powerpc: [...] make[5]: Leaving directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0/none/tests/scripts' make[4]: Leaving directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0/none/tests/scripts' Making check in ppc32 make[4]: Entering directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0/none/tests/ppc32' make allexec lsw jm-insns round test_isa_2_06_part1 test_isa_2_06_part2 test_isa_2_06_part3 test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5 test_isa_2_07_part1 test_isa_2_07_part2 test_tm test_touch_tm ldst_multiple data-cache-instructions test_fx test_gx testVMX twi tw xlc_dbl_u32 power5+_round power6_bcmp bug129390-ppc32 bug139050-ppc32 ldstrev mftocrf mcrfs make[5]: Entering directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0/none/tests/ppc32' powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../.. -I../../../include -I../../../coregrind -I../../../include -I../../../VEX/pub -I../../../VEX/pub -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -DVGPV_ppc32_linux_vanilla=1 -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -m32 -Wno-nonnull -O2 -mcpu=powerpc -pipe -c -o allexec-allexec.o `test -f 'allexec.c' || echo './'`allexec.c powerpc-unknown-linux-gnu-gcc -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -m32 -Wno-nonnull -O2 -mcpu=powerpc -pipe -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -o allexec allexec-allexec.o powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../.. -I../../../include -I../../../coregrind -I../../../include -I../../../VEX/pub -I../../../VEX/pub -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -DVGPV_ppc32_linux_vanilla=1 -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -m32 -O2 -mcpu=powerpc -pipe -c -o lsw.o lsw.c powerpc-unknown-linux-gnu-gcc -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -m32 -O2 -mcpu=powerpc -pipe -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -o lsw lsw.o powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../.. -I../../../include -I../../../coregrind -I../../../include -I../../../VEX/pub -I../../../VEX/pub -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -DVGPV_ppc32_linux_vanilla=1 -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -m32 -Winline -Wall -O -g -mregnames -m32 -DHAS_ALTIVEC -maltivec -O2 -mcpu=powerpc -pipe -c -o jm_insns-jm-insns.o `test -f 'jm-insns.c' || echo './'`jm-insns.c [...] powerpc-unknown-linux-gnu-gcc -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -m32 -Winline -Wall -O -g -mregnames -DHAS_DFP -m32 -mhard-dfp -mcpu=power6 -O2 -mcpu=powerpc -pipe -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -o test_dfp5 test_dfp5-test_dfp5.o -lm powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../.. -I../../../include -I../../../coregrind -I../../../include -I../../../VEX/pub -I../../../VEX/pub -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -DVGPV_ppc32_linux_vanilla=1 -Winline -Wall -Wshadow -Wno-long-long -g -fno-stack-protector -m32 -Winline -Wall -O -g -mregnames -DHAS_ISA_2_07 -m32 -mcpu=power8 -O2 -mcpu=powerpc -pipe -c -o test_isa_2_07_part1-test_isa_2_07_part1.o `test -f 'test_isa_2_07_part1.c' || echo './'`test_isa_2_07_part1.c In file included from test_isa_2_07_part1.c:100: /usr/lib/gcc/powerpc-unknown-linux-gnu/11/include/altivec.h:34:2: error: #error Use the "-maltivec" flag to enable PowerPC AltiVec support 34 | #error Use the "-maltivec" flag to enable PowerPC AltiVec support | ^~~~~ test_isa_2_07_part1.c:183:15: error: expected ';' before 'unsigned' 183 | static vector unsigned long long vec_out, vec_inA, vec_inB, vec_inC; | ^~~~~~~~ test_isa_2_07_part1.c:184:15: error: expected ';' before 'unsigned' 184 | static vector unsigned int vec_inA_wd, vec_inB_wd; | ^~~~~~~~ test_isa_2_07_part1.c: In function 'test_float_two_args': test_isa_2_07_part1.c:1169:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 1169 | ur = *(uint64_t *)(&res); | ^~~~~~~~~~~~~~~~~~ In file included from test_isa_2_07_part1.c:100: test_isa_2_07_part1.c: In function 'mfvs': test_isa_2_07_part1.c:1196:21: error: '__vector' undeclared (first use in this function); did you mean 'vector'? 1196 | vec_inA = (vector unsigned long long){ 0ULL, vdargs[i] }; | ^~~~~~ Whereas the binary itself is correctly built with: [...] Version: 3.21.0 Maximum build arch: ppc32 Primary build arch: ppc32 Secondary build arch: Build OS: linux Link Time Optimisation: no Primary build target: PPC32_LINUX Secondary build target: Platform variant: vanilla Primary -DVGPV string: -DVGPV_ppc32_linux_vanilla=1 Default supp files: ./xfree-3.supp ./xfree-4.supp glibc-2.X-drd.supp glibc-2.X-helgrind.supp glibc-2.X.supp >>> Source configured. >>> Compiling source in /var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0 ... make -j1 echo "# This is a generated file, composed of the following suppression rules:" > default.supp echo "# " ./xfree-3.supp ./xfree-4.supp glibc-2.X-drd.supp glibc-2.X-helgrind.supp glibc-2.X.supp >> default.supp cat xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.X-helgrind.supp glibc-2.X.supp >> default.supp ./auxprogs/make_or_upd_vgversion_h . make all-recursive make[1]: Entering directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0' Making all in include make[2]: Entering directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0/include' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0/include' Making all in VEX make[2]: Entering directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0/VEX' make all-am make[3]: Entering directory '/var/tmp/portage/dev-util/valgrind-3.21.0-r1/work/valgrind-3.21.0/VEX' powerpc-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../include -I../VEX/pub -I../VEX/pub -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -DVGPV_ppc32_linux_vanilla=1 -Ipriv -m32 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wcast-align -Wcast-qual -Wwrite-strings -Wempty-body -Wformat -Wformat-signedness -Wformat-security -Wignored-qualifiers -Wmissing-parameter-type -Wlogical-op -Wenum-conversion -Wimplicit-fallthrough=2 -Wold-style-declaration -finline-functions -fno-stack-protector -fno-strict-aliasing -fno-builtin -Wbad-function-cast -fstrict-aliasing -O2 -mcpu=powerpc -pipe -c -o priv/libvex_ppc32_linux_a-main_globals.o `test -f 'priv/main_globals.c' || echo './'`priv/main_globals.c [...] Probably this is some config issue as I did the building on my Talos II in my 32bit chroot via FEATURES="test" MAKEOPTS="-j1" setarch ppc32 emerge -1 valgrind.
Created attachment 866950 [details] emerge --info
*** Bug 934065 has been marked as a duplicate of this bug. ***
Valgrind isn't particularly portable software at the best of times. I'm pretty sure it's been like this forever, so not a regression.