linkers
Tags: compilers
- https://blog.thea.codes/the-most-thoroughly-commented-linker-script/
- https://www-sigbus-info.translate.goog/compilerbook?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp
Basic Blocks
- A section of code (in binary) where control does not leave the block. There are no jumps into the middle of the block, and there are no jumps out of the middle of the block.
- Single entry, single exit
COMDAT
- https://maskray.me/blog/2021-07-25-comdat-and-section-group
- Basically a section used for duplicate code, like cpp templates
LTO (and ThinLTO)
- ThinLTO actually evolved out of the work done in Li, David Xinliang, Raksit Ashok, and Robert Hundt. “Lightweight Feedback-Directed Cross-Module Optimization.” Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization, ACM, April 24, 2010, 53–61. https://doi.org/10.1145/1772954.1772964.
- Nearly 5 years later, where it took the ideas of using combined summaries to do LTO, during the .o transofrmation
alt-linkers
- gold
- mold
- lld
profiling linkers
Static Linking
Tools
- check
lddandfilefor linking, althoughlddis different
Post-Link Optimizations (BOLT, Propeller, etc)
- BOLT open projects: https://discourse.llvm.org/t/bolt-open-projects/61857