<< 14/20 >>
First Last

アドレス空間

ホストとターゲットが同じアドレス空間に共存する

ロードしたいものもホストも linux だと、アドレス空間がぶつかるので、適当にホスト側の方のアドレスをリンカオプションでずらしておく

  $(CC) -std=gnu99 -g -o $@ $< -Wl,-Ttext-segment=0x2000000 -m32 -ldl

Wine とかは preloader ていう static link されたバイナリが最初にがばっと mmap しておいて、 .so/.dll のロードされるアドレス位置を制御してたと思います