-
-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(debuginfo): include more pdb symbols (#641)
Instead of checking symbol.function, check whether the symbol is contained in an executable section. This matches what pdb-addr2line does, and is closer to what dump_syms' handwritten PDB parsing does. This change allows more symbols to be included. For example, it allows the following symbols from basic-opt32.pdb to pass the check: ``` 4f9d7 _rtinfpopse 4f9d9 _rtinfnpopse 4f9e9 _fFLN 4fa9e _rtinfpop 4faa0 _rtinfnpop 4fabd _ffexpm1 ``` https://github.com/mozilla/dump_syms/blob/54f9e6240e34cf17fc7dc60ac4985772e2c20001/test_data/windows/basic-opt32.pdb These symbols have symbol.function == false, so they were being filtered out before. The change also adds over 300 symbols for ntdll.pdb BD298DA990CD4BF9BE5CE4796D7924C61. The handwritten PDB parsing in dump_syms currently uses this full check: `symbol.function || symbol.code || is_in_executable_section || is_in_executable_section_contribution` This seems like overkill; I've tested a few pdbs and haven't found any for which this additional complexity would make a difference.
- Loading branch information
Showing
1 changed file
with
46 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters