diff options
author | Tom Tromey <tromey@adacore.com> | 2024-09-06 14:38:44 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2025-03-06 14:17:18 -0700 |
commit | aa24bf2c05f80eb106189d55469cd393f752fa92 (patch) | |
tree | d04ed14187d1ccc6147d0fe08a73f31e8cf49d83 /gdb/ada-lang.c | |
parent | aab26529b304aed62095e47248a6b5e1c7590fdc (diff) | |
download | binutils-aa24bf2c05f80eb106189d55469cd393f752fa92.zip binutils-aa24bf2c05f80eb106189d55469cd393f752fa92.tar.gz binutils-aa24bf2c05f80eb106189d55469cd393f752fa92.tar.bz2 |
Add support for hierarchical Ada names
In the near future, GNAT will start emitting DWARF names in a more
standard way -- specifically, the package structure will be indicated
by nested DW_TAG_module DIEs and a given entity will be nested in its
package and only have a simple name.
This patch changes gdb to understand this style of naming, while still
supporting the existing GNAT output.
A few special cases are needed. I've commented them.
The name-computing code for the full DWARF reader is very complicated
-- much too complicated, in my opinion. There are already several
bugs in bugzilla about this (search for "physname"... but there are
others as well), so I haven't filed any new ones.
When I started this project, I thought it would solve some memory
overuse issues we sometimes see from how the index-sharding code
interacts with the GNAT-specific post-pass. However, to my surprise,
the Ada code in gdb relies on some details of symbol naming, and so
I've had to add code here to synthesize "linkage" names in some cases.
This is unfortunate, but I think can eventually be fixed; I will file
a bug to track this issue.
Diffstat (limited to 'gdb/ada-lang.c')
0 files changed, 0 insertions, 0 deletions