I profiled from the java renaissance benchmark with the following instructions:
perf record -e cycles:u -j any,u -o ../results/finagle-chirper/perf.data -- ./../../../jdk/build/linux-x86_64-server-release/images/jdk/bin/java -jar '../renaissance-gpl-0.14.1.jar' finagle-chirper
And it was done without any problems.
Now when I want to convert it to BOLT format, it gives the following error and they say that my binary is not the same as the binary that I profiled.
./../../../build/bin/perf2bolt -p ../results/finagle-chirper/perf.data -o ../results/finagle-chirper/perf.fdata ./../../../jdk/build/linux-x86_64-server-release/jdk/bin/java BOLT-INFO: shared object or position-independent executable detected PERF2BOLT: Starting data aggregation job for ../results/finagle-chirper/perf.data PERF2BOLT: spawning perf job to read branch events PERF2BOLT: spawning perf job to read mem events PERF2BOLT: spawning perf job to read process events PERF2BOLT: spawning perf job to read task events BOLT-INFO: Target architecture: x86_64 BOLT-INFO: BOLT version: b95cca03cd7b751e977fee808b7e84ffffec116d BOLT-INFO: first alloc address is 0x0 BOLT-INFO: creating new program header table at address 0x400000, offset 0x400000 BOLT-INFO: enabling relocation mode BOLT-INFO: enabling strict relocation mode for aggregation purposes BOLT-INFO: pre-processing profile using perf data aggregator BOLT-INFO: binary build-id is: b24f4c8e508d66a66f03d9a0c0505db006ef3515 PERF2BOLT: spawning perf job to read buildid list PERF2BOLT-ERROR: failed to match build-id from perf output. This indicates the input binary supplied for data aggregation is not the same recorded by perf when collecting profiling data, or there were no samples recorded for the binary. Use -ignore-build-id option to override.
What should I do now?
Please help me.