linkers [ee39a1b4]
Tags: compilers
- blog.thea.codes/the-most-thoroughly-commented-linker-script/
- www-sigbus-info.translate.goog/compilerbook?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp
1. Basic Blocks
1. 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
2. COMDAT
2. COMDAT
- maskray.me/blog/2021-07-25-comdat-and-section-group
- Basically a section used for duplicate code, like cpp templates
3. LTO (and ThinLTO) [bfdee6c7]
3. LTO (and ThinLTO) [bfdee6c7]
- 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. 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
5. profiling linkers
5. profiling linkers
6. Static Linking
6. Static Linking
7. Tools
7. Tools
- check
lddandfilefor linking, althoughlddis different
8. Post-Link Optimizations (BOLT, Propeller, etc) [518e8bcb]
8. Post-Link Optimizations (BOLT, Propeller, etc) [518e8bcb]
- BOLT open projects: discourse.llvm.org/t/bolt-open-projects/61857