diff options
author | Tom Tromey <tromey@adacore.com> | 2023-06-13 09:36:35 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2023-06-28 09:49:22 -0600 |
commit | 6e27b5eb0072902173305d0ce41c33b82f5b2bb3 (patch) | |
tree | cf21d6055d49c3bc432de64a577e216d72a878f4 /libsframe | |
parent | 1d2ee87e604319cf6b5ad9934e2bb18cbdc63e1b (diff) | |
download | binutils-6e27b5eb0072902173305d0ce41c33b82f5b2bb3.zip binutils-6e27b5eb0072902173305d0ce41c33b82f5b2bb3.tar.gz binutils-6e27b5eb0072902173305d0ce41c33b82f5b2bb3.tar.bz2 |
Fix handling of DW_TAG_unspecified_type for Ada
Commit 80eaec735e ("[gdb/symtab] Handle named DW_TAG_unspecified_type
DIE") changed the handling of DW_TAG_unspecified_type. Before this
change, such types were not entered into the symbol table.
It turns out that, when such a type is in the symtab, it can cause
failures in Ada. In particular, a private type in another package may
be seen locally as "void".
Now, it would probably be better to fix this via check_typedef.
However, that is somewhat difficult given the state of the DWARF
reader -- in particular with gdb_index, this would require expanding
potentially many CUs to find the correct type.
Instead, this patch changes gdb to not enter a symbol for an
unspecified type -- but only for Ada.
Diffstat (limited to 'libsframe')
0 files changed, 0 insertions, 0 deletions