On Sat Nov 16 02:56:50 2024 +0000, Chih-Hsuan Yen wrote:
In the link to patched strip.sh.in file, the call to
package_source_file is meant to be done in both elf and pe cases. It's not clear to me if you did your tests with that part active or not. I disabled `package_source_file` as it does not work for PE as-is. That function eventually calls `debugedit`, which seems to support only ELF for now. I didn't survey equivalent commands for PE due to lack of time.
The generic idea I'm pushing for is to maximize the sharing of code
betwen elf and pe cases. So what I would do for the changes in strip.sh.in: Thanks for the suggestion. I prefer to avoid fallbacks as that pacman script already runs for ages, particularly for packages with hundreds of PE files like wine.
At the end, running wine with WINEDEBUG=+dbghelp should give you the
actual path the split debuginfo is read from (and it should be from /usr/lib/debug/.build_id) I remember dbghelp fails to find symbols when `/usr/lib/debug/.build-id/xxx/yyy` exists. Specifically, dbghelp only looks into such a file when searching for debugging symbols, and `/usr/lib/debug/.build-id/xxx/yyy.debug` is not checked at all. I don't have time to re-test and gather logs, though.
dbghelp (with this MR) searches both /usr/lib/debug/.build-id/xxx/yyy and /usr/lib/debug/.build-id/xxx/yyy.debug so something else must be going wrong.
(I'll rebase this MR after MR!6825 has been merged)