私は自分自身のELF .oファイルを作成しようとしています。他のストリップのメモリを指し示すメモリのストリップを書きたいと思います。私はすべての名前を取り除く与えたくないので、私はちょうど彼らがしているセクションの開始の相対的な位置を追跡するELFはローカルセクションに対して再配置します
だから私は、の形で再配置エントリを作成します。
を000000000a50 00090000000b R_X86_64_32S 0000000000000000 .section + a70
ここでa50では、64ビットのグローバルポインタを使用して.section + a70のオブジェクトを参照します。セクションを使用して定義されています
9: 0000000000000000 0 SECTION LOCAL DEFAULT 6
を以前の出力がreadelfがあるから、それは実際に私はちょうどセグメンテーション違反LD、を介してこれを引っ張るまで、すべてが...罰金であることをふり。
私がWEAKタイプを使用すると、それが動作することがわかりました...しかし、その場合は、すべてのリンクされた.oファイル内の最初のセクションシンボルがすべての再配置のターゲットとして検出されるようです。私は本当にそれがローカルになるようにしたいので、ローカルでなければなりません。
これまでの代替案は、このようなオブジェクトを持つ各セクションの冒頭にOBJECTシンボルを作成することですが、それはちょっとばかりです...私は間違ったことをしていますか、LDにバグがありますか?