objdump

以下のエントリについて @tetsu_koba さんより_オブジェクトファイルに関する基本的なことから修行のやり直し_という非常に厳しいご指摘を頂戴しております。

man を確認してみたところ、以下。

-d
--disassemble
objfile の機械語命令に対応するアセンブラニーモニックを表示する。このオプショ ンは、命令を含むと思われるセクションのみを逆アセンブルする。
-D
--disassemble-all
-d と似ているが、命令を含むと思われるセクションだけでなく、全てのセクショ ンを逆アセンブルする。

とほほ。
確認してみます。

$ arm-none-linux-gnueabi-objdump -d -marm init

(snip

Disassembly of section .text:

000040f8 <main>:
    40f8:       e92d 4ff0       stmdb   sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
    40fc:       f5ad 5d85       sub.w   sp, sp, #4256   ; 0x10a0
    4100:       f8df 469c       ldr.w   r4, [pc, #1692] ; 47a0 <main+0x6a8>
    4104:       b085            sub     sp, #20
    4106:       f8df 369c       ldr.w   r3, [pc, #1692] ; 47a4 <main+0x6ac>
    410a:       460d            mov     r5, r1
    410c:       447c            add     r4, pc

_16bit/32bit な命令が混在_というのはこーゆー意味でしたかorz
今度は当たってますように。というか ELF 云々というあたりも含め、オブジェクトファイル関連についてきちんと確認入れようと思います。
修行のやり直し、ということにて。

追記

何故か

というドキュメントを見てたのですが、.init section や .plt section あるいは .text section 云々に関する話が出てますね。
そういった意味では readelf 使って云々ってのもアレですね。
ELF ヘッダとか

$ ./arm-none-linux-gnueabi-readelf /opt/export/armel/linaro/binary/boot/filesystem.dir/sbin/init -h
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              DYN (Shared object file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x48e5
  Start of program headers:          52 (bytes into file)
  Start of section headers:          119756 (bytes into file)
  Flags:                             0x5000002, has entry point, Version5 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         9
  Size of section headers:           40 (bytes)
  Number of section headers:         29
  Section header string table index: 28
$

セクションヘッダとか

$ ./arm-none-linux-gnueabi-readelf /opt/export/armel/linaro/binary/boot/filesystem.dir/sbin/init -S
There are 29 section headers, starting at offset 0x1d3cc:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .interp           PROGBITS        00000154 000154 000019 00   A  0   0  1
  [ 2] .note.ABI-tag     NOTE            00000170 000170 000020 00   A  0   0  4
  [ 3] .note.gnu.build-i NOTE            00000190 000190 000024 00   A  0   0  4
  [ 4] .gnu.hash         GNU_HASH        000001b4 0001b4 0001a8 04   A  5   0  4
  [ 5] .dynsym           DYNSYM          0000035c 00035c 001080 10   A  6   3  4
  [ 6] .dynstr           STRTAB          000013dc 0013dc 000f62 00   A  0   0  1
  [ 7] .gnu.version      VERSYM          0000233e 00233e 000210 02   A  5   0  2
  [ 8] .gnu.version_r    VERNEED         00002550 002550 0000c0 00   A  6   6  4
  [ 9] .rel.dyn          REL             00002610 002610 0009d8 08   A  5   0  4
  [10] .rel.plt          REL             00002fe8 002fe8 0006b8 08   A  5  12  4
  [11] .init             PROGBITS        000036a0 0036a0 00000a 00  AX  0   0  4
  [12] .plt              PROGBITS        000036ac 0036ac 000a48 04  AX  0   0  4
  [13] .text             PROGBITS        000040f8 0040f8 013d4c 00  AX  0   0  8
  [14] .fini             PROGBITS        00017e44 017e44 000006 00  AX  0   0  4
  [15] .rodata           PROGBITS        00017e4c 017e4c 003fda 00   A  0   0  4
  [16] .ARM.exidx        ARM_EXIDX       0001be28 01be28 000008 00  AL 13   0  4
  [17] .eh_frame         PROGBITS        0001be30 01be30 000004 00   A  0   0  4
  [18] .init_array       INIT_ARRAY      000245a0 01c5a0 000004 00  WA  0   0  4
  [19] .fini_array       FINI_ARRAY      000245a4 01c5a4 000004 00  WA  0   0  4
  [20] .jcr              PROGBITS        000245a8 01c5a8 000004 00  WA  0   0  4
  [21] .data.rel.ro      PROGBITS        000245ac 01c5ac 000550 00  WA  0   0  4
  [22] .dynamic          DYNAMIC         00024afc 01cafc 000128 08  WA  6   0  4
  [23] .got              PROGBITS        00024c24 01cc24 0003dc 04  WA  0   0  4
  [24] .data             PROGBITS        00025000 01d000 00027c 00  WA  0   0  4
  [25] .bss              NOBITS          0002527c 01d27c 000058 00  WA  0   0  4
  [26] .ARM.attributes   ARM_ATTRIBUTES  00000000 01d27c 000035 00      0   0  1
  [27] .gnu_debuglink    PROGBITS        00000000 01d2b1 00000c 00      0   0  1
  [28] .shstrtab         STRTAB          00000000 01d2bd 00010d 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)
$

KOZOS 合宿を正月に、なのかどうか。引き篭るか。。。