【ELF形式】.note.ABI-tagセクション
徹夜でやってて、たまに寝落ちが入ってきたので、そろそろ投げやりモードですが(笑)
セクションヘッダのダンプ。
$ od -x -A x -w16 -j0x119c -N0x28 sample 00119c 0023 0000 0007 0000 0002 0000 8168 0804 0011ac 0168 0000 0020 0000 0000 0000 0000 0000 0011bc 0004 0000 0000 0000 0011c4
Elf_Shdr | バイナリ | 項目 | バイナリの意味 |
---|---|---|---|
.sh_name | 0x00000023 | .shstrtabにおけるセクション名の位置 | ".note.ABI-tag" |
.sh_type | 0x00000007 | (SHT_NOTE) | |
.sh_flags | 0x00000002 | 各種フラグ | ロード時にメモリ上に領域確保するセクション(SHF_ALLOC) |
.sh_addr | 0x08048168 | ロード先アドレス | - |
.sh_offset | 0x00000168 | ELF形式中でのセクションの位置 | - |
.sh_size | 0x00000020 | セクションのバイトサイズ | - |
.sh_link | 0x00000000 | (セクションのタイプ依存で利用) | - |
.sh_info | 0x00000000 | (同上) | - |
.sh_addralign | 0x00000004 | セクションがメモリにロードされる際のバイトアラインメント | - |
.sh_entsize | 0x00000000 | 構造体配列になっているセクションで利用される。配列要素のサイズ | - |
セクションのダンプ。
$ od -x -A x -w16 -j0x168 -N0x20 sample 000168 0004 0000 0010 0000 0001 0000 4e47 0055 000178 0000 0000 0002 0000 0006 0000 0018 0000 000188
$ readelf -x2 sample セクション '.note.ABI-tag' の 十六進数ダンプ: 0x08048168 04000000 10000000 01000000 474e5500 ............GNU. 0x08048178 00000000 02000000 06000000 18000000 ................
唐突に「GNU」ってのがちょっと笑えますが(グニュ!って)、バイナリとアスキーが混在しているようです。
このセクションタイプが「SHT_NOTE」なのが気になるところですが、man elfによると、
SHT_NOTE This section holds information that marks the file in some way.
「このセクションは、何らかの方法でファイルに印をつける情報を保持している」だそうです。なんのこっちゃ。
Google検索もしてみましたが、海外サイト含めてあまり話題に上がってないようなので、後に回します。リンカのソースコードを見るしかないのでしょうね。