mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 12:26:08 +00:00

## Problem When the build ids of the profile and binary do not match, the error reported by llvm-profdata is `no entries in callstack map after symbolization`, but the root cause of this problem is the **build id mismatch**. ## Trigger scenario For example, when performing `memprof` optimization on `clang`, `rawprofile` is collected through `ninja clang`. In addition to running clang, some other programs will also be executed, and these programs will also generate rawprofile. When `no entries in callstack map after symbolization` appears during `llvm-profdata merge`, users may mistakenly think that the **instrumentation failed or other reasons**, and will **not directly realize that the binary and profile do not match**. ## Changed Currently, when the build id does not match, an assert error is triggered only in debug mode. Change it to directly return an error when the build id does not match.