facebookarchive / BOLT

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

"BOLT is unable to proceed because it couldn't properly understand this function." #25

Open tmsri opened 6 years ago

tmsri commented 6 years ago
BOLT-INFO: Target architecture: x86_64
BOLT-INFO: first alloc address is 0x400000
BOLT-INFO: creating new program header table at address 0x1400000, offset 0x1000000
BOLT-INFO: enabling relocation mode
BOLT-INFO: enabling -align-macro-fusion=all since no profile was specified
BOLT-WARNING: internal call detected at 0x59cb8b in function ABC. Skipping.
BOLT-WARNING: internal call detected at 0x59cbf9 in function ABC. Skipping.
BOLT-WARNING: internal call detected at 0x59cc6c in function ABC. Skipping.
BOLT-WARNING: internal call detected at 0x59cce9 in function ABC. Skipping.
...
=======================================
BOLT is unable to proceed because it couldn't properly understand this function.
If you are running the most recent version of BOLT, you may want to report this and paste this dump.
Please check that there is no sensitive contents being shared in this dump.

Offending function: ABC

Function contents (
  0000: 554889E5 41574156 41554154 534881EC  |UH..AWAVAUATSH..|
  0010: 88000000 4989F549 89FF4C8D 6708488B  |....I..I..L.g.H.|
  0020: 4708C700 00000000 0F57C00F 2945900F  |G........W..)E..|
  0030: 2945A048 C7459800 0000104C 8B470848  |)E.H.E.....L.G.H|
  0040: 8B459048 8B4D980F 284DA048 8945B048  |.E.H.M..(M.H.E.H|
  0050: 894DB80F 294DC080 4DBB04E8 09000000  |.M..)M..M.......|
  0060: 48C7C00F 0000000F 05584883 C0004889  |H........XH...H.|
  0070: 45C0BB08 00000048 8D75B0BF 06000000 .
  ...

ERROR: function cannot be properly disassembled. Unable to continue in relocation mode.
rafaelauler commented 6 years ago

I think https://github.com/facebookincubator/BOLT/commit/ef75655378304692b99cecb064e3aa6d2ff9f908 should handle this. Can you rebase and try again?