4 ms·
Absolutely start with Levine. There's a lot that hasn't changed and Levine will give you a solid background in the old school. I have a hard copy and it's not g
by CalChris 3y ago
Absolutely start with Levine. There's a lot that hasn't changed and Levine will give you a solid background in the old school. I have a hard copy and it's not going anywhere.
Next up, the Ian Lance Taylor's 20-part series. This will give you some motivation why the Levine world needed to change: performance.
https://lwn.net/Articles/276782/ https://lwn.net/Articles/276782/
Next, look at LLVM's lld and their Developer Meeting tutorials on it. There have been many but Rui Ueyama 2017 lld: A Fast, Simple and Portable Linker and Peter Smith's How to add a new target to LLD are where to start. Bluntly, Rui utterly solved/crushed/killed the linker performance problem. He probably should get an ACM Software System award but won't.
After that Oracle's (!) Linker and Libraries Guide and their Linker Aliens blog posts have a lot of gritty detail.
https://docs.oracle.com/cd/E23824_01/html/819-0690/toc.html https://docs.oracle.com/cd/E23824_01/html/819-0690/toc.html
http://www.linker-aliens.org http://www.linker-aliens.org
- mzs 3y agoThe Oracle version is basically doc 817-1984 from Solaris 10, and yes it is very good.