
リンカとローダの仕組み - ELF・静的リンクと動的リンク・PLT/GOT・LD_PRELOAD・RELROを手を動かして追う
約87分
gccが吐いた.oがどう実行ファイルになり、実行時にld.soが共有ライブラリをどう組み込むのかを、ELFヘッダ・セクションとセグメント・シンボル解決と再配置・PLT/GOTによる遅延バインディング・LD_PRELOADフック・RELRO/PIE/BIND_NOWの強化・GLIBC_2.34エラーの正体まで、man ld.so(8)やSystem V ABIなどの一次情報とclang/lldで生成した実際のELFのreadelf出力をもとに解説します。