[Bug debug/121964] aarch64: SVE predicate variables are printed incorrectly
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 19 10:47:43 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121964
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-15 branch has been updated by Yury Khrustalev
<ykhrustalev@gcc.gnu.org>:
https://gcc.gnu.org/g:ba39d22f0b3f01195d8164649fc025653827f6b6
commit r15-10621-gba39d22f0b3f01195d8164649fc025653827f6b6
Author: Yury Khrustalev <yury.khrustalev@arm.com>
Date: Wed Sep 3 12:46:33 2025 +0100
dwarf: Save bit stride information for array type entry [PR121964]
Lack of DW_AT_bit_stride in a DW_TAG_array_type entry causes GDB to infer
incorrect element size for vector types. The causes incorrect display of
SVE predicate variables as well as out of bounds memory access when reading
contents of SVE predicates from memory in GDB.
We also locate DIE referenced by DW_AT_type and set DW_AT_bit_size 1 in it.
PR debug/121964
gcc/
* dwarf2out.cc (gen_array_type_die): Add DW_AT_bit_stride attribute
for array types based on element type bit precision for integer and
boolean element types.
gcc/testsuite/
* g++.target/aarch64/dwarf-bit-stride-func.C: New test.
* g++.target/aarch64/dwarf-bit-stride-pragma.C: New test.
* g++.target/aarch64/dwarf-bit-stride-pragma-sme.C: New test.
* g++.target/aarch64/sve/dwarf-bit-stride.C: New test.
* gcc.target/aarch64/dwarf-bit-stride-func.c: New test.
* gcc.target/aarch64/dwarf-bit-stride-pragma.c: New test.
* gcc.target/aarch64/dwarf-bit-stride-pragma-sme.c: New test.
* gcc.target/aarch64/sve/dwarf-bit-stride.c: New test.
(cherry picked from commit 5a8746df980e3532bf6f293f086db21758e90a9e)
More information about the Gcc-bugs
mailing list