Make DWARF at_comp_dir symbolic links configurable via newly added plugin.symbol-file.dwarf.comp-dir-symlink-paths setting.
By default, plugin.symbol-file.dwarf.comp-dir-symlink-paths is empty and can be customized by debug session.
Tests don't support Windows since symbolic links on Windows require special permissions' treatment.
Details
Diff Detail
Event Timeline
We need a new "symbol-file" plug-in category. Copy how we did it for "process" and add one for "symbol-file". The setting should be "plugin.symbol-file.dwarf.symlink-paths". See inlined comments.
source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | ||
---|---|---|
118 | Is this limited only the DW_AT_comp_dir? Then we should make the setting title clearer. Should this be "comp-dir-symlink-paths"? Then the description should be a bit more verbose: "If the DW_AT_comp_dir matches any of these paths the symbolic links will be resolved at DWARF parse time." | |
341–344 | We need a new SymbolFile based version of PluginManager::CreateSettingForProcessPlugin(): PluginManager::CreateSettingForSymbolFilePlugin(...) Please create this function and have the setting name be "symbol-file". |
Addressed review comments.
source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | ||
---|---|---|
341–344 | My bad - copied from ProcessGDBRemote. Fixed. |
Do you want a default value for this, or are people going to manually set this setting? Looks good though.
I propose to leave it empty by default to let users specify it manually when needed.
Thank you for the review.
Files:
/lldb/trunk/include/lldb/Core/PluginManager.h /lldb/trunk/source/Core/PluginManager.cpp /lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp /lldb/trunk/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h /lldb/trunk/test/functionalities/breakpoint/comp_dir_symlink/ /lldb/trunk/test/functionalities/breakpoint/comp_dir_symlink/Makefile /lldb/trunk/test/functionalities/breakpoint/comp_dir_symlink/TestCompDirSymLink.py /lldb/trunk/test/functionalities/breakpoint/comp_dir_symlink/main.cpp /lldb/trunk/test/lldbtest.py
Users:
ovyalov (Author)
Is this limited only the DW_AT_comp_dir? Then we should make the setting title clearer. Should this be "comp-dir-symlink-paths"? Then the description should be a bit more verbose: "If the DW_AT_comp_dir matches any of these paths the symbolic links will be resolved at DWARF parse time."