https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113977
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Tan Senqi from comment #4) > (In reply to Andrew Pinski from comment #3) > I think gcc can generate a DW_AT_alignment for my struct to solve this > problem. But why the alignment is considered as 8, I am not sure about this. > If it is inherited from the default structure alignment requirement on the > platform, then gcc should specify alignment for those whose alignment is not > 8. Or 8 is not the default value by DWARF5(i.e. undefined), then it is > surely a bug in gdb. So reading the definition of DW_AT_alignment, it is if the alignment is not the default for that type. In this case it should be 1 as char arrays have alignment of 1 inside structs. See https://dwarfstd.org/issues/140528.1.html for the definition. in this case the ABI specifies the alignment and GCC does not need to emit DW_AT_alignment since it is not different from the ABI. This would mean the bug is in gdb's gcc_convert_symbol, eg.: ``` gcc_convert_symbol "z": local symbol gdb command line:1:1: error: size of array element is not a multiple of its alignment ``` I am testing the trunk gdb right now to see if it was fixed.