- Package:
- src:valgrind
- Source:
- valgrind
- Submitter:
- Mathieu Malaterre
- Date:
- 2022-07-06 12:51:07 UTC
- Severity:
- grave
- Tags:
This is a followup to bug #928224. It turns out that gcc-11 is now generating neon instructions, which contradicts our definition of armhf. Reference: $ ssh abel.debian.org [...] malat@abel ~ % gcc-11 --verbose Using built-in specs. COLLECT_GCC=gcc-11 COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/11/lto-wrapper Target: arm-linux-gnueabihf Configured with: ../src/configure -v --with-pkgversion='Debian 11.3.0-3' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv7-a+fp --with-float=hard --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 11.3.0 (Debian 11.3.0-3) I suspect the issue is the following: [...] --with-arch=armv7-a+fp [...] I believe gcc-11 and above needs instead something like: [...] --with-arch=armv7-a+vfpv3-fp16+nosimd [...]
I think the problem is valgrind's Makefiles are passing -mcpu=cortex-a8 to the compiler. Cortex-a8 has Neon and the compiler now makes use of that. On the subject of the configuration of GCC
thanks, so that should be fixed within valgrind.
Hi Richard ! Thanks for the quick response. I managed to misread the gcc arm options page (fp16 != d16). Thanks for the explanation. I've suggested valgrind people the following patch: % sed -i -e 's/cortex-a8/generic-armv7-a+vfpv3-d16/g' Makefile.all.am Hopefully my understanding is correct this time.
selects armv7-a+fp as the architecture, and +fp is equivalent to vfpv3-d16. Furthermore, leaving off the +fp from the setting will ensure better backwards compatibility with older versions of GCC (though that's getting quite a long way back now, about GCC-7, IIRC). R. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
We believe that the bug you reported is fixed in the latest version of valgrind, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 928224@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Mathieu Malaterre <malat@debian.org> (supplier of updated valgrind package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) Format: 1.8 Date: Fri, 01 Jul 2022 13:58:19 +0200 Source: valgrind Architecture: source Version: 1:3.18.1-1.1 Distribution: unstable Urgency: medium Maintainer: Alessandro Ghedini <ghedo@debian.org> Changed-By: Mathieu Malaterre <malat@debian.org> Closes: 928224 Changes: valgrind (1:3.18.1-1.1) unstable; urgency=medium . * Non-maintainer upload. * Fix remove neon requirement from armhf binaries. Closes: #928224 Checksums-Sha1: 17b6cbaef40901ab75ab29bf8788d0ffa2ce52af 2446 valgrind_3.18.1-1.1.dsc 97dd37dfb5dae75c1a547f7e6af309fe4cbacd55 27132 valgrind_3.18.1-1.1.debian.tar.xz 1eb869485b29559281b9993cb8ab50a9c779344d 9302 valgrind_3.18.1-1.1_source.buildinfo Checksums-Sha256: 9608e9978c79d3e3c4fe350afd263fdd66dfa3cf3048f1d6982c548f1a1b412d 2446 valgrind_3.18.1-1.1.dsc a94dda87a22ba869836f214204cbe55b50d3906b7a10c31b605f3b357db851b4 27132 valgrind_3.18.1-1.1.debian.tar.xz ef9cb66c3372c3e816ad10dcce194b110947db9fdd7f05b65d3b83d6615fe320 9302 valgrind_3.18.1-1.1_source.buildinfo Files: 205ea8be27cf683952cf8f17528cf5b8 2446 devel optional valgrind_3.18.1-1.1.dsc 530ba2c98295ba16e03db9585723051b 27132 devel optional valgrind_3.18.1-1.1.debian.tar.xz 5219011eb9f3197c432c32f20651b101 9302 devel optional valgrind_3.18.1-1.1_source.buildinfo -----BEGIN PGP SIGNATURE----- iQJFBAEBCgAvFiEEaTNn/67NjqrNHwY7AXHhgorgk0UFAmK+5HkRHG1hbGF0QGRl Ymlhbi5vcmcACgkQAXHhgorgk0VDIBAAlGWtcLH8XxDAykLc0MwezWYcyIldmMU9 nKSQZxbc3SzLE6XsLWLf00J28YhVumS2JmBpOOHXyC71LQeAaxmYX8+yGeC4qc+j PrzMe0xpnrLxyLtIDZRsky8OZOzXoRbVsgO26xJeHfXFySm0dWN9Om6XykF5mMMo cokSptsyOc38K5XBaRhCYL6vQWff47inVI3No2CoKRRPSa5CwnGhXiImnIE5wzsU dFudSS8JLDYUhLavyz0a5WKTH+D3wowvB+C+mGoVbsyaqQ99vMDezob/99uLNVfk 5zi4VMmMpjfboeulB4UJ3OXsICCCQz5ngMcWAY9aD3zKcaGFuKJJww/9xQeXOIR0 0ZgsHB+rNXRTLLQZmShn45HilYOq1tXDHLRN5r48ZZPA2fiI8+derZwUH/NLHi+Z 2imaIAEOk64bMSlxQS5k8W8aNehNzybgszTe1+ORHC2bparsA916iPoDgUgajLGU 0p1jIIFhPLFIANOEdTITRuD+BLp/9ytc8EhYDb03Z+hZrk1zlwmfNsnbR+yV97Yp N6yUC3xXtnbRnuDI6VcZiYCXhSAkU0oymHUBQ7YYBASuv+qL/6LtpzVLeLaQx+Qe dU9GC6qLlwTH8s0J6TAiWKZ35evoMjVeIfWg6SwtImMX3vv2A1uElA5zy7UBiV9P S8OIqfrP5oE= =A7t5 -----END PGP SIGNATURE-----