Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove DWARFisms from Symtab::Module #1575

Merged
merged 2 commits into from Oct 12, 2023

Conversation

hainest
Copy link
Contributor

@hainest hainest commented Oct 12, 2023

There is no need to store the CU DIE from which a Module instance is
derived. The address of the CU can be used to reconstitute the
entry in the .debug_info section using dwarf_addrdie.

Because Module.h is part of the public API for Dyninst, this also
removes the transitive dependency on libdw.

This is a concept specific to DWARF. These functions are not documented.
There is no need to store the CU DIE from which a Module instance is
derived. The address of the CU can be used to reconstitute the
entry in the .debug_info section using dwarf_addrdie.

Because Module.h is part of the public API for Dyninst, this also
removes the transitive dependency on libdw.
@hainest hainest added ABI-BREAKER This change alters the Dyninst public ABI code cleanup Bring the code up to modern standards or remove deprecated features Symtab This issue is directly related to SymtabAPI API-BREAKER This change breaks the public API DWARF Item is related to DWARF parsing labels Oct 12, 2023
@hainest hainest requested a review from kupsch October 12, 2023 19:03
@hainest hainest self-assigned this Oct 12, 2023
Copy link
Contributor

@kupsch kupsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dyn_c_queue is no longer used, you could delete it from concurrent.h.

@hainest
Copy link
Contributor Author

hainest commented Oct 12, 2023

dyn_c_queue is no longer used, you could delete it from concurrent.h.

Annoyingly, concurrent.h is in the public header space. Someone could be using it.

@hainest hainest merged commit 5835e29 into master Oct 12, 2023
3 checks passed
@hainest hainest deleted the thaines/remove_dwarfisms_in_Module branch October 12, 2023 20:07
bbiiggppiigg pushed a commit that referenced this pull request Feb 12, 2024
* Remove compilation directory from Module

This is a concept specific to DWARF. These functions are not documented.

* Remove DWARFisms from Symtab::Module

There is no need to store the CU DIE from which a Module instance is
derived. The address of the CU can be used to reconstitute the
entry in the .debug_info section using dwarf_addrdie.

Because Module.h is part of the public API for Dyninst, this also
removes the transitive dependency on libdw.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ABI-BREAKER This change alters the Dyninst public ABI API-BREAKER This change breaks the public API code cleanup Bring the code up to modern standards or remove deprecated features DWARF Item is related to DWARF parsing Symtab This issue is directly related to SymtabAPI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants