Never emit INLINE_ORIGIN directives lacking a function name #476
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This handles cases where the names of inlined functions are missing. This is a bit odd because when it comes to symbols the name is an option and thus is None when it cannot be loaded from the debug information, but in the case of inlined functions where the name is in a separate debuginfo file pointed to by the .gnu_debugaltlink section the name is just empty.
The basic.dwz file used for testing was produced in the following way: a copy was made of the basic.dbg file then the dwz tool was used to strip away the shared data (including the .debug_str section) and put it in a separate file, the separate file was then thrown away so calling dump_syms on basic.dwz would be unable to find the names for the inlined functions. The changes to basic.dbg were obviously reverted and only the modified basic.dwz file was kept.
cp test_data/linux/basic.dbg test_data/linux/basic.dwz dwz -m basic test_data/linux/basic.dbg test_data/linux/basic.dwz
This fixes issue #475.