From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id F09693846410; Thu, 25 Apr 2024 06:32:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F09693846410 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1714026779; bh=T37PsV80qrVmTacBsRPRWWyXnKOT1BUGdmZarwOz5jY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=BJ2lS5ffdr7SM/Yb4Cn3jv0m4oT1CVmWuTsMkMyVpEKtT8eRu2zt5GdZmxoR5sU3o 2hPHJijU3p4j1x+7WdxSU+sEbHCN9RqN9Vjxyqqp+owat6jaobYJuUsISeSEwkhYOQ h0bEn4Oe/jx5EMj9VBOpNc6WC6OF2W98yoHnCLeI= From: "hugo at algoriddim dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug libgcc/114843] AArch64: Wrong Register Reload in _Unwind_RaiseException causes corrupt return value on _URC_END_OF_STACK Date: Thu, 25 Apr 2024 06:32:59 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libgcc X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: hugo at algoriddim dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D114843 --- Comment #1 from Hugo Melder --- Output: hmelder@ubuntu:/Users/hmelder/Downloads/gcc_bug_report$ temps/ReproduceUnwindTest RaiseException returned 0xeb9e72a0 Compiler Output (With Ubuntu GCC 13.2.0) as example: Using built-in specs. COLLECT_GCC=3Dgcc COLLECT_LTO_WRAPPER=3D/usr/libexec/gcc/aarch64-linux-gnu/13/lto-wrapper Target: aarch64-linux-gnu Configured with: ../src/configure -v --with-pkgversion=3D'Ubuntu 13.2.0-4ub= untu3' --with-bugurl=3Dfile:///usr/share/doc/gcc-13/README.Bugs --enable-languages=3Dc,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=3D/usr --with-gcc-major-version-only --program-suffix=3D-13 --program-prefix=3Daarch64-linux-gnu- --enable-shared --enable-linker-build= -id --libexecdir=3D/usr/libexec --without-included-gettext --enable-threads=3Dp= osix --libdir=3D/usr/lib --enable-nls --enable-bootstrap --enable-clocale=3Dgnu --enable-libstdcxx-debug --enable-libstdcxx-time=3Dyes --with-default-libstdcxx-abi=3Dnew --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=3Drelea= se --with-target-system-zlib=3Dauto --enable-objc-gc=3Dauto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=3Drelease --build=3Daarch64-linux-gnu --host=3Daarch64-linux-gnu --target=3Daarch64-l= inux-gnu --with-build-config=3Dbootstrap-lto-lean --enable-link-serialization=3D2 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) COLLECT_GCC_OPTIONS=3D'-v' '-Wall' '-Wextra' '-o' 'ReproduceUnwindTest' '-save-temps' '-mlittle-endian' '-mabi=3Dlp64' '-dumpdir' 'ReproduceUnwindT= est-' /usr/libexec/gcc/aarch64-linux-gnu/13/cc1 -E -quiet -v -imultiarch aarch64-linux-gnu ../main.c -mlittle-endian -mabi=3Dlp64 -Wall -Wextra -fpch-preprocess -fasynchronous-unwind-tables -fstack-protector-strong -Wformat-security -fstack-clash-protection -o ReproduceUnwindTest-main.i ignoring nonexistent directory "/usr/local/include/aarch64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/13/include-fixed/aarch64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/13/include-fixed" ignoring nonexistent directory "/usr/lib/gcc/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/aarch64-linux-gnu/13/include /usr/local/include /usr/include/aarch64-linux-gnu /usr/include End of search list. COLLECT_GCC_OPTIONS=3D'-v' '-Wall' '-Wextra' '-o' 'ReproduceUnwindTest' '-save-temps' '-mlittle-endian' '-mabi=3Dlp64' '-dumpdir' 'ReproduceUnwindT= est-' /usr/libexec/gcc/aarch64-linux-gnu/13/cc1 -fpreprocessed ReproduceUnwindTest-main.i -quiet -dumpdir ReproduceUnwindTest- -dumpbase main.c -dumpbase-ext .c -mlittle-endian -mabi=3Dlp64 -Wall -Wextra -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat-security -fstack-clash-protection -o ReproduceUnwindTest-main.s GNU C17 (Ubuntu 13.2.0-4ubuntu3) version 13.2.0 (aarch64-linux-gnu) compiled by GNU C version 13.2.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 Compiler executable checksum: 4b1ebb5fb7f44afd7bdce2c9d09f1e65 COLLECT_GCC_OPTIONS=3D'-v' '-Wall' '-Wextra' '-o' 'ReproduceUnwindTest' '-save-temps' '-mlittle-endian' '-mabi=3Dlp64' '-dumpdir' 'ReproduceUnwindT= est-' as -v -EL -mabi=3Dlp64 -o ReproduceUnwindTest-main.o ReproduceUnwindTest-m= ain.s GNU assembler version 2.41 (aarch64-linux-gnu) using BFD version (GNU Binut= ils for Ubuntu) 2.41 COMPILER_PATH=3D/usr/libexec/gcc/aarch64-linux-gnu/13/:/usr/libexec/gcc/aar= ch64-linux-gnu/13/:/usr/libexec/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64= -linux-gnu/13/:/usr/lib/gcc/aarch64-linux-gnu/ LIBRARY_PATH=3D/usr/lib/gcc/aarch64-linux-gnu/13/:/usr/lib/gcc/aarch64-linu= x-gnu/13/../../../aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/13/../.= ./../../lib/:/lib/aarch64-linux-gnu/:/lib/../lib/:/usr/lib/aarch64-linux-gn= u/:/usr/lib/../lib/:/usr/lib/gcc/aarch64-linux-gnu/13/../../../:/lib/:/usr/= lib/ COLLECT_GCC_OPTIONS=3D'-v' '-Wall' '-Wextra' '-o' 'ReproduceUnwindTest' '-save-temps' '-mlittle-endian' '-mabi=3Dlp64' '-dumpdir' 'ReproduceUnwindT= est.' /usr/libexec/gcc/aarch64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/aarch64-linux-gnu/13/liblto_plugin.so -plugin-opt=3D/usr/libexec/gcc/aarch64-linux-gnu/13/lto-wrapper -plugin-opt=3D-fresolution=3DReproduceUnwindTest.res -plugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-pass-through=3D-lgcc_s -plugin-opt=3D-pass-through=3D-lc -plugin-opt=3D-pass-through=3D-lgcc -plugin-opt=3D-pass-through=3D-lgcc_s --build-id --eh-frame-hdr --hash-styl= e=3Dgnu --as-needed -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux --fix-cortex-a53-843419 -pie -z now -z relro -o ReproduceUnwindTest /usr/lib/gcc/aarch64-linux-gnu/13/../../../aarch64-linux-gnu/Scrt1.o /usr/lib/gcc/aarch64-linux-gnu/13/../../../aarch64-linux-gnu/crti.o /usr/lib/gcc/aarch64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/aarch64-linux-gnu/13 -L/usr/lib/gcc/aarch64-linux-gnu/13/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/13/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/13/../../.. ReproduceUnwindTest-main.o -lg= cc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-ne= eded -lgcc_s --pop-state /usr/lib/gcc/aarch64-linux-gnu/13/crtendS.o /usr/lib/gcc/aarch64-linux-gnu/13/../../../aarch64-linux-gnu/crtn.o COLLECT_GCC_OPTIONS=3D'-v' '-Wall' '-Wextra' '-o' 'ReproduceUnwindTest' '-save-temps' '-mlittle-endian' '-mabi=3Dlp64' '-dumpdir' 'ReproduceUnwindT= est.'=