-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmemo.txt
executable file
·28 lines (23 loc) · 1.48 KB
/
memo.txt
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
・デバッグ情報を出力すると大量のリロケーションが発生する。
→そもそもフォーマットがよくわからん...出力フォーマットも2つあるっぽい。
・リンク後のモジュールでシンボルのインデックスがおかしい bad section index[ 8]が出ている...
$ readelf.exe sakura2.abs -s
シンボルテーブル '.symtab' は 9 個のエントリから構成されています:
番号: 値 サイズ タイプ Bind Vis 索引名
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 FILE LOCAL DEFAULT ABS resetprg.c
2: 00000012 0 SECTION LOCAL DEFAULT 6 PResetPRG
3: 00000000 0 SECTION LOCAL DEFAULT 1 SI
4: 00000000 0 SECTION LOCAL DEFAULT 2 SU
5: 00000000 0 SECTION LOCAL DEFAULT bad section index[ 8] FIXEDVECT
6: 00000012 64 FUNC GLOBAL DEFAULT 6 _main
7: 00000000 18 <プロセッサ固有>: 14 GLOBAL DEFAULT 6 _PowerON_Reset_PC
8: 00000000 4 OBJECT GLOBAL DEFAULT bad section index[ 8] _func
・リンク後のモジュールでreadelf -s したときの Name が適切に表示されない。
→シンボルタイプがセクションであれば .shstrtab を参照している?。
・自作リンカでは symbolの st_name は .strtab を指しているが、
どうもreadelfでは .shstrtabでのオフセットをとして解釈されている。
→ セクションヘッダのセクション名オフセットがおかしい?
CS+と比べてみると、symtabのLinkインデックスは.strtabを指さないといけないっぽい。
→ 3なので .shstrtabを指してしまっている。
→.symtabのリンクインデックスを .strtabのインデックスになるように変更する。