facebookarchive / BOLT

Binary Optimization and Layout Tool - A linux command-line utility used for optimizing performance of binaries
2.51k stars 176 forks source link

BOLT-ERROR: 'section size mismatch for DT_RELASZ': Exec format error #262

Open aaupov opened 2 years ago

aaupov commented 2 years ago

Ubuntu 20.04 gcc 9.3.0

$ gcc -fno-reorder-blocks-and-partition -Wl,-q -T cond_tail_script -g -O2 -fno-inline -ffunction-sections -o cond_tail_forward_not_taken -DTAKEN=0 cond_tail.c
$ perf record -e cycles:u -j any,u -o cond_tail_forward_taken.data -- ./cond_tail_forward_taken
$ perf2bolt -p cond_tail_forward_taken.data -o cond_tail_forward_taken.fdata cond_tail_forward_taken
PERF2BOLT: Starting data aggregation job for cond_tail_forward_taken.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: 9a390657844043f151003640e1a378d60bb2e7cd
BOLT-INFO: first alloc address is 0x400000
BOLT-INFO: creating new program header table at address 0x600000, offset 0x200000
BOLT-INFO: enabling relocation mode
BOLT-INFO: enabling strict relocation mode for aggregation purposes
DynamicRelSection size: 144, DynamicRelocationsSize: 192
BOLT-ERROR: 'section size mismatch for DT_RELASZ': Exec format error.