[BOLT-AArch64] Support relocation mode for bzip2
Summary: As we deal with incomplete addresses in address-computing sequences of code in AArch64, we found it is easier to handle them in relocation mode in the presence of relocations. Incomplete addresses may mislead BOLT into thinking there are instructions referring to a basic block when, in fact, this may be the base address of a data reference. If the relocation is present, we can easily spot such cases. This diff contains extensions in relocation mode to understand and deal with AArch64 relocations. It also adds code to process data inside functions as marked by AArch64 ABI (symbol table entries named "$d"). In our code, this is called constant islands handling. Last, it extends bughunter with a "cross" mode, in which the host generates the binaries and the user test them (uploading to the target), useful when debugging in AArch64. (cherry picked from FBD6024570)
Loading
Please sign in to comment