[Bug 2101084] Re: GCC produces wrong code for arm64+sve in some cases
Andreas Hasenack
2101084 at bugs.launchpad.net
Thu Feb 26 13:55:35 UTC 2026
Copied gcc-10 from jammy-updates to security:
$ ./copy-package --from-suite jammy-updates --to-suite jammy-security -b --auto-approve -e 10.5.0-1ubuntu1~22.04.3 gcc-10
Copy candidates:
gcc-10 10.5.0-1ubuntu1~22.04.3 in jammy
cpp-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
cpp-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
cpp-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
cpp-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
cpp-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
cpp-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
cpp-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
cpp-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
cpp-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
cpp-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
cpp-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
cpp-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
cpp-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
cpp-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
cpp-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy amd64
cpp-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy arm64
cpp-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy armhf
cpp-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy i386
cpp-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
cpp-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
cpp-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy s390x
g++-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
g++-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
g++-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
g++-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
g++-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
g++-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
g++-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
g++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
g++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
g++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
g++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
g++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
g++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
g++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
g++-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy amd64
g++-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy i386
g++-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-base 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-base 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10-base 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10-base 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-base 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-base 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10-base 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-hppa64-linux-gnu 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-hppa64-linux-gnu 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-hppa64-linux-gnu-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-hppa64-linux-gnu-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-locales 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-locales 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10-locales 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10-locales 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-locales 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-locales 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10-locales 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-offload-nvptx 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-offload-nvptx 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-offload-nvptx-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-offload-nvptx-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-plugin-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-plugin-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10-plugin-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10-plugin-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-plugin-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-plugin-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10-plugin-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-plugin-dev-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-plugin-dev-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10-plugin-dev-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10-plugin-dev-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-plugin-dev-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-plugin-dev-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10-plugin-dev-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-source 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-source 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10-source 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10-source 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-source 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-source 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10-source 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gcc-10-test-results 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gcc-10-test-results 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gcc-10-test-results 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gcc-10-test-results 10.5.0-1ubuntu1~22.04.3 in jammy i386
gcc-10-test-results 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gcc-10-test-results 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gcc-10-test-results 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gccbrig-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gccbrig-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gccbrig-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gccbrig-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gccgo-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gccgo-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gccgo-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gccgo-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gccgo-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gccgo-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gccgo-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gccgo-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gccgo-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gccgo-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gccgo-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gccgo-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gccgo-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gccgo-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gccgo-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gccgo-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gccgo-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gccgo-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy i386
gccgo-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gccgo-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gccgo-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gccgo-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gccgo-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy i386
gccgo-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gdc-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gdc-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gdc-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gdc-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gdc-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gdc-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gdc-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gdc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gdc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gdc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gdc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gdc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gdc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gdc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gdc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gdc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy i386
gdc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gfortran-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gfortran-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gfortran-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gfortran-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gfortran-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gfortran-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gfortran-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gfortran-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gfortran-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gfortran-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gfortran-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gfortran-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gfortran-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gfortran-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gfortran-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gfortran-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gfortran-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gfortran-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy i386
gfortran-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gfortran-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gfortran-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gfortran-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gfortran-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy i386
gfortran-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gm2-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gm2-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gm2-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gm2-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gm2-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gm2-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gm2-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gm2-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gm2-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gm2-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gm2-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gm2-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gm2-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gm2-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gnat-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gnat-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gnat-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gnat-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gnat-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gnat-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gnat-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gnat-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gnat-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gnat-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gnat-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy i386
gnat-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gnat-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gnat-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gobjc++-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gobjc++-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gobjc++-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gobjc++-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gobjc++-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gobjc++-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gobjc++-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gobjc++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gobjc++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gobjc++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gobjc++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gobjc++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gobjc++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gobjc++-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gobjc++-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gobjc++-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy i386
gobjc++-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gobjc-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gobjc-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gobjc-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gobjc-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
gobjc-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gobjc-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gobjc-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gobjc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gobjc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
gobjc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
gobjc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
gobjc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
gobjc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
gobjc-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
gobjc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy amd64
gobjc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy i386
gobjc-10-multilib 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32gcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32gcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32gfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32gfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32go-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32go-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32go16 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32go16 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32gphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32gphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32gphobos1 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32gphobos1 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32gphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32gphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32objc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32objc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32stdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32stdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib32stdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy amd64
lib32stdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy s390x
lib64gcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64gfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64go-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64go16 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64gphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64gphobos1 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64gphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64objc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64stdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
lib64stdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgccjit-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgccjit-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgccjit-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgccjit-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgccjit-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgccjit-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgccjit-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgccjit-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgccjit-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgccjit-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgccjit-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgccjit-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgccjit-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgccjit-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgm2-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgm2-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgm2-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgm2-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgm2-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgm2-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgm2-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgm2-15 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgm2-15 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgm2-15 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgm2-15 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgm2-15 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgm2-15 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgm2-15 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgm2-15-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgm2-15-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgm2-15-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgm2-15-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgm2-15-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgm2-15-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgm2-15-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgnat-10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgnat-10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgnat-10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgnat-10 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgnat-10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgnat-10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgnat-10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgnat-10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgnat-util10 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgnat-util10 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgnat-util10 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgnat-util10 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgnat-util10 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgnat-util10 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgnat-util10 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgnat-util10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgnat-util10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgnat-util10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgnat-util10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgnat-util10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgnat-util10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgnat-util10-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgnat-util10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgnat-util10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgnat-util10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgnat-util10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgnat-util10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgnat-util10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgnat-util10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgo-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgo-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgo-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgo-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgo-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgo-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgo-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgo16 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgo16 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgo16 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgo16 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgo16 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgo16 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgo16 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgomp-plugin-hsa1 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgomp-plugin-hsa1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgphobos1 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgphobos1 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgphobos1 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgphobos1 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgphobos1 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgphobos1 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgphobos1 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libgphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libgphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libgphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libgphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
libgphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libgphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libgphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libhsail-rt-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libhsail-rt-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libobjc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libobjc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libobjc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libobjc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libobjc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libobjc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libobjc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libstdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libstdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libstdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libstdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libstdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libstdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libstdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libstdc++-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libstdc++-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libstdc++-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libstdc++-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy i386
libstdc++-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libstdc++-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libstdc++-10-doc 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libstdc++-10-pic 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libstdc++-10-pic 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libstdc++-10-pic 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libstdc++-10-pic 10.5.0-1ubuntu1~22.04.3 in jammy i386
libstdc++-10-pic 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libstdc++-10-pic 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libstdc++-10-pic 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libstdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libstdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy arm64
libstdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy armhf
libstdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy i386
libstdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy ppc64el
libstdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy riscv64
libstdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy s390x
libx32gcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32gcc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32gfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32gfortran-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32go-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32go-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32go16 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32go16 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32gphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32gphobos-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32gphobos1 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32gphobos1 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32gphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32gphobos1-dbgsym 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32objc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32objc-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32stdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32stdc++-10-dev 10.5.0-1ubuntu1~22.04.3 in jammy i386
libx32stdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy amd64
libx32stdc++6-10-dbg 10.5.0-1ubuntu1~22.04.3 in jammy i386
Candidate copy target: https://api.launchpad.net/devel/ubuntu/+archive/primary, jammy, security
Copy [y|N]? y
459 copies requested.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-10 in Ubuntu.
https://bugs.launchpad.net/bugs/2101084
Title:
GCC produces wrong code for arm64+sve in some cases
Status in gcc:
Fix Released
Status in Ubuntu Pro:
In Progress
Status in Ubuntu Pro 20.04 series:
In Progress
Status in gcc-10 package in Ubuntu:
New
Status in gcc-11 package in Ubuntu:
Fix Released
Status in gcc-12 package in Ubuntu:
Fix Released
Status in gcc-13 package in Ubuntu:
Invalid
Status in gcc-14 package in Ubuntu:
Invalid
Status in gcc-8 package in Ubuntu:
Won't Fix
Status in gcc-9 package in Ubuntu:
Fix Released
Status in gcc-10 source package in Focal:
Won't Fix
Status in gcc-8 source package in Focal:
Won't Fix
Status in gcc-9 source package in Focal:
Won't Fix
Status in gcc-10 source package in Jammy:
Fix Released
Status in gcc-11 source package in Jammy:
Fix Released
Status in gcc-9 source package in Jammy:
Fix Released
Status in gcc-10 source package in Noble:
Fix Released
Status in gcc-11 source package in Noble:
Fix Released
Status in gcc-13 source package in Noble:
Fix Released
Status in gcc-14 source package in Noble:
Fix Released
Status in gcc-9 source package in Noble:
Fix Released
Status in gcc-11 source package in Oracular:
Won't Fix
Status in gcc-13 source package in Oracular:
Won't Fix
Status in gcc-14 source package in Oracular:
Won't Fix
Status in gcc-11 source package in Plucky:
Won't Fix
Status in gcc-13 source package in Plucky:
Invalid
Status in gcc-14 source package in Plucky:
Invalid
Status in gcc-11 source package in Questing:
Fix Released
Status in gcc-13 source package in Questing:
Invalid
Status in gcc-14 source package in Questing:
Invalid
Status in gcc-11 source package in Resolute:
Fix Released
Status in gcc-13 source package in Resolute:
Invalid
Status in gcc-14 source package in Resolute:
Invalid
Status in gcc-11 package in Debian:
New
Bug description:
[Impact]
This bug causes data corruption in the ARM64 code compiled with Scalable Vector Extensions (SVE) enabled for the 256-bit SVE processor but executed on 128-bit SVE processors.
Example is AWS workload built for Graviton3, but executed on Graviton4.
When the compiler was compiling the ~ConstA (Not ConstA) expression to
compute the index into the vector it was actually computing -ConstA
(minus ConstA), e.g. ~4 instead of -5 produced -4.
Graviton 4 processes a 256-bit vector in two passes. For the second
pass it runs into this bug when computing indices into the second half
of the vector and ends up with {-4, -5, -6, -7}, processing the last
element of the first half twice and never touching the last element of
the vector.
This data corruption may cause data loss, failing checksums, and
potentially security issues.
[Test Plan]
I was using Raspberry PI 5 for testing, but any other ARM64 platform
or virtual machine will be sufficient.
Install QEMU in noble:
apt install qemu-user-static
Launch lxd vm for the affected release, e.g.
lxc launch ubuntu-daily:jammy tester
lxc file push test.c tester/home/ubuntu/
Install affected gcc:
lxc exec tester -- /bin/sh -c "apt-get update && apt-get install -y gcc-9"
Compile the reproducer[1]:
lxc exec tester -- /bin/sh -c "gcc-9 -fno-inline -O3 -Wall -fno-strict-aliasing -march=armv8.4-a+sve -o /home/ubuntu/final /home/ubuntu/test.c”
Fetch the reproducer:
lxc file pull tester/home/ubuntu/final final
Execute the testcase:
qemu-aarch64-static -cpu neoverse-n2 ./final
The testcase will output:
PASS: got 0x00bbbbbb 0x00aaaaaa as expected
If the bug is fixed and
ERROR: expected 0x00bbbbbb 0x00aaaaaa but got 0x00bbbbbb 0xaaaaaa00
otherwise.
[Where the problems can occur]
The issue is a typo in the code that is used to calculate offset into
the vector.
The already corrupted data (e.g. checksums) calculated by the affected
code will not match with the values produced after the fix. This may
cause the end user to rebuild the indices relying on the calculated
hash values after their workloads are recompiled by the fixed gcc.
[Other info]
Focal fixes will be done through the -pro updates.
I have ran the test case set Invalid for the versions that are not
affected by this issue.
Affected:
All gcc-8[2]
All gcc-9[2]
All gcc-11[2]
Noble and down Gcc-12
Noble and down Gcc-13
Noble and down Gcc-14
Gcc-15 is not affected
The fixed packages will be uploaded to the stable PPA[3] created for this SRU.
The PPA depends on -security only. The packages will need to be binary-copied to -updates and -security.
[1] https://bugs.launchpad.net/ubuntu/plucky/+source/gcc-14/+bug/2101084/comments/39
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118976#c21
[3] https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again
Original Description:
[Impact]
This issue affects SVE vectorization on arm64 platforms, specifically in cases where bitwise-not operations are applied during optimization.
[Fix]
This issue has been resolved by an upstream patch.
commit 78380fd7f743e23dfdf013d68a2f0347e1511550
Author: Richard Sandiford <richard.sandiford at arm.com>
Date: Tue Mar 4 10:44:35 2025 +0000
Fix folding of BIT_NOT_EXPR for POLY_INT_CST [PR118976]
There was an embarrassing typo in the folding of BIT_NOT_EXPR for
POLY_INT_CSTs: it used - rather than ~ on the poly_int. Not sure
how that happened, but it might have been due to the way that
~x is implemented as -1 - x internally.
gcc/
PR tree-optimization/118976
* fold-const.cc (const_unop): Use ~ rather than - for BIT_NOT_EXPR.
* config/aarch64/aarch64.cc (aarch64_test_sve_folding): New function.
(aarch64_run_selftests): Run it.
[Test Plan]
1. Launch an instance using the latest generation of Graviton processors (Graviton4).
2. Compile the following code using the command `gcc -O3 -march=armv8.1-a+sve`:
#include <stdint.h>
#include <stdio.h>
#ifndef NCOUNTS
#define NCOUNTS 2
#endif
typedef struct {
uint32_t state[5];
uint32_t count[NCOUNTS];
unsigned char buffer[64];
} SHA1_CTX;
void finalcount_av(SHA1_CTX *restrict ctx, unsigned char *restrict finalcount) {
// ctx->count is: uint32_t count[2];
int count_idx;
for (int i = 0; i < 4*NCOUNTS; i++) {
count_idx = (4*NCOUNTS - i - 1)/4; // generic but equivalent for NCOUNTS==2.
finalcount[i] = (unsigned char)((ctx->count[count_idx] >> ((3-(i & 3)) * 8) ) & 255);
}
}
void finalcount_bv(SHA1_CTX *restrict ctx, unsigned char *restrict finalcount) {
for (int i=0; i < 4*NCOUNTS; i += 4) {
int ci = (4*NCOUNTS - i - 1)/4;
finalcount[i+0] = (unsigned char)((ctx->count[ci] >> (3 * 8) ) & 255);
finalcount[i+1] = (unsigned char)((ctx->count[ci] >> (2 * 8) ) & 255);
finalcount[i+2] = (unsigned char)((ctx->count[ci] >> (1 * 8) ) & 255);
finalcount[i+3] = (unsigned char)((ctx->count[ci] >> (0 * 8) ) & 255);
}
}
int main() {
unsigned char fa[NCOUNTS*4];
unsigned char fb[NCOUNTS*4];
uint32_t *for_print;
int i;
SHA1_CTX ctx;
ctx.count[0] = 0xaaaaaa00;
ctx.count[1] = 0xbbbbbb00;
if (NCOUNTS >2 ) ctx.count[2] = 0xcccccc00;
if (NCOUNTS >3 ) ctx.count[3] = 0xdddddd00;
finalcount_av(&ctx, fa);
finalcount_bv(&ctx, fb);
int ok = 1;
for (i=0; i<NCOUNTS*4; i++) {
ok &= fa[i] == fb[i];
}
if (!ok) {
for_print = (uint32_t*)fb;
printf("ERROR: expected ");
for (i=0; i<NCOUNTS; i++) {
printf("0x%08x ",for_print[i]);
}
for_print = (uint32_t*)fa;
printf("but got ");
for (i=0; i<NCOUNTS; i++) {
printf("0x%08x ",for_print[i]);
}
printf("\n");
return 1;
} else {
for_print = (uint32_t*)fa;
printf("PASS: got ");
for (i=0; i<NCOUNTS; i++) {
printf("0x%08x ",for_print[i]);
}
printf("as expected\n");
return 0;
}
}
3. Verify that the execution output does not contain the string
"ERROR".
[Where problems could occur]
The issue is caused by a typo. If any regressions occur, they are expected to impact only specific partial instructions under certain scenarios, rather than disrupting the overall functionality.
To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/2101084/+subscriptions
More information about the foundations-bugs
mailing list