Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 911662 - dev-debug/valgrind-3.21.0-r1 - fails to build tests on ppc (by implicitly assuming a Power ISA v2.07 compatible cpu)
Summary: dev-debug/valgrind-3.21.0-r1 - fails to build tests on ppc (by implicitly ass...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks: 922067
  Show dependency tree
 
Reported: 2023-08-03 15:25 UTC by ernsteiswuerfel
Modified: 2024-01-28 04:59 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (valgrind-3.21.0-r1:20230803-150407.log,738.41 KB, text/plain)
2023-08-03 15:25 UTC, ernsteiswuerfel
Details
emerge --info (file_911662.txt,6.52 KB, text/plain)
2023-08-03 15:27 UTC, ernsteiswuerfel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ernsteiswuerfel archtester 2023-08-03 15:25:38 UTC
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.
Comment 1 ernsteiswuerfel archtester 2023-08-03 15:27:22 UTC
Created attachment 866950 [details]
emerge --info