Hello perf maintainers, I have some patches to get "perf archive" working with PE binaries (e.g. Wine DLLs or Windows executables.) The PE support in perf is fairly new and "perf archive" hasn't been updated to work with it. In getting this working I've come across a number of bugs in perf that these patches aim to fix. The patches are independent and can be committed in any order.
Some of these are because build-ids are now variable width. Build-ids in PE files are always 16-byte GUIDs; much of the existing code still assumes a 20-byte SHA-1 build-id. I've tried to make the minimal amount of changes to allow 16-byte build-ids to work with a debugcache from a perf archive. I'm new to kernel development so I apologize if I'm doing this incorrectly. Thanks, Nick Nicholas Fraser (4): perf buildid-cache: Don't skip 16-byte build-ids perf report: Load PE files from debug cache only perf archive: Fix filtering of empty build-ids perf report: Fix return value when loading PE DSO tools/perf/perf-archive.sh | 3 +-- tools/perf/util/build-id.c | 5 +++-- tools/perf/util/build-id.h | 4 +++- tools/perf/util/symbol.c | 12 ++++-------- 4 files changed, 11 insertions(+), 13 deletions(-) -- 2.30.0