summaryrefslogtreecommitdiff
path: root/bolt/lib/Rewrite/MetadataManager.cpp
AgeCommit message (Collapse)Author
2024-06-03[BOLT] Use rewriter interface for updating binary build ID (#94273)Maksim Panchenko
Move functionality for patching build ID into a separate rewriter class and change the way we do the patching. Support build ID in different note sections in order to update the build ID in the Linux kernel binary which puts in into ".notes" section instead of ".note.gnu.build-id".
2024-01-29[BOLT] Add metadata pre-emit finalization interface (#79925)Maksim Panchenko
Some metadata needs to be updated/finalized before the binary context is emitted into the binary. Add the interface and use it for Linux ORC update invocation.
2023-07-13[BOLT][NFC] Add post-CFG processing to MetadataRewriter interfaceMaksim Panchenko
Add MetadataRewriter::postCFGInitializer(). Reviewed By: jobnoorman Differential Revision: https://reviews.llvm.org/D155153
2023-07-06[BOLT] Introduce MetadataRewriter interfaceMaksim Panchenko
Introduce the MetadataRewriter interface to handle updates for various types of auxiliary data stored in a binary file. To implement metadata processing using this new interface, all metadata rewriters should derive from the RewriterBase class and implement one or more of the following methods, depending on the timing of metadata read and write operations: * preCFGInitializer() * postCFGInitializer() // TBD * preEmitFinalizer() // TBD * postEmitFinalizer() By adopting this approach, we aim to simplify the RewriteInstance class and improve its scalability to accommodate new extensions of file formats, including various metadata types of the Linux Kernel. Differential Revision: https://reviews.llvm.org/D154020