トップ «前の日記(2013-11-08) 最新 次の日記(2013-11-13)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

ToDo:


2013-11-12

_ -fPIC と -fPIE

最近こういうこまかい調べたことをメモってなくて、たぶんよくないなあと思っている。というのは数年後忘れてるんで…

現状、 fPIC はたぶん fPIE より必ず強い制限というか、つまり fPIC でビルドすれば PIE として使えるバイナリになるけど、 fPIE でコンパイラしたバイナリはたぶん so として使えない場合がある。

両者の違いは TLS の扱いと自分の中での関数 call 。前者は shared object 用であるところの -fPIC の方が遅いけど generic なコードができるというか、 executable 用であるとわかってれば多少 optimize できる、っていうのが Ulrich の TLS 文章に書いてある。

自分の中での関数 call は -fPIC だと PLT 経由になるけど、 -fPIE だと直接呼び出しになる。まぁたぶんリンカに -Bsymbolic つけると PLT 経由じゃなくなるんで、両者同じになる。

あと裏取ってないけど、この関係は -shared と -pie の関係とほぼ同じ、だと思う。 -pie だと TLS 向け optimization が走るのはいい思う。後者の方も、 -pie は -Bsymbolic を imply する気がするけど、実際そうなるかは確かめてないから確かめる必要がある…

(18:23)

_ ↑のような

オレオレメモはまだまだいろいろある気がするけど、すでにだいぶ忘れつつある気がしてよくない。

  • loader-GDB 間コミュニケーション。 DT_DEBUG とはなにか
  • add-symbol-file
  • -Ttext-segment が便利…というか -Ttext はたぶんゴミ
  • Cygwin の MAP_FIXED の制限
  • STB_GNU_UNIQUE とはなにか。 RTLD_LOCAL がらみの苦情について

(18:36)

_ それと

Mach-O の LC_MAIN

(18:39)

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

2013年
11月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h