概要 Linuxのスタンダードなローダ、ld-linux-x86-64.so.2 の挙動を理解するために、ld-linux-x86-64.so.2を置き換え可能な https://github.com/akawashiro/sloader を2年ほど前から開発しており、ある程度動くようになってきました。 目次 ローダとは何か ld-linux-x86-64.so.2 の問題点 sloader sloader の現状 sloaderの実装 libc.so内のシンボルの解決 ロードされたプログラムのためのTLS領域の確保 sloaderの課題 お願い ローダとは何か Linuxで実行可能なバイナリファイルをexecve(2)を使って実行するとき、その実行パスは大きく2つに分類されます。 Linux カーネルが直接、バイナリファイルをメモリ空間にロードする。 バイナリが指定したローダ[1]がバイ