[BOLT][AArch64] Handle gold linker veneers
authorVladislav Khmelevsky <och95@yandex.ru>
Wed, 6 Jul 2022 21:01:33 +0000 (00:01 +0300)
committerVladislav Khmelevsky <och95@yandex.ru>
Wed, 13 Jul 2022 11:47:22 +0000 (14:47 +0300)
commit35efe1d806358df6e45dde8218a143138dd8f0a8
tree7c083eeb3a09c0538e35d34b49238f55e3107fec
parentf827b4b657d5922beef3799337e91ba98fce852e
[BOLT][AArch64] Handle gold linker veneers

The gold linker veneers are written between functions without symbols,
so we to handle it specially in BOLT.

Vladislav Khmelevsky,
Advanced Software Technology Lab, Huawei

Differential Revision: https://reviews.llvm.org/D129260
12 files changed:
bolt/include/bolt/Core/BinaryContext.h
bolt/include/bolt/Core/BinaryFunction.h
bolt/include/bolt/Core/MCPlusBuilder.h
bolt/lib/Core/BinaryContext.cpp
bolt/lib/Core/BinaryFunction.cpp
bolt/lib/Passes/BinaryPasses.cpp
bolt/lib/Passes/VeneerElimination.cpp
bolt/lib/Rewrite/BinaryPassManager.cpp
bolt/lib/Rewrite/RewriteInstance.cpp
bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
bolt/test/AArch64/veneer-gold.s [new file with mode: 0644]
bolt/test/AArch64/veneer.s [new file with mode: 0644]