最古の(?)Universal Binary

NeXTユーザであった我々にとって、Mac OS XIntel CPUで動く事はわりと自然なことであって、Apple社内ではRhaptel以降もずっと作り続けてるだろうなと思っていたわけだけど、その証拠っぽいものをApple自身が公開していたりもした。それがこれ。


Mac OS X 10.1.2: 前のユーザ名がログイン時に表示されないようにする方法


このバイナリは10.1.2用だけど、Mac OS X 10.4.10でダウンロードしてインスペクタで見た結果が下の画像。



はっきり「アプリケーション(Universal)」って出ている。(lipoで捏造したものじゃないよ。) 少なくとも2002年1月19日にはUniversal Binaryが存在していたようだ。


ちなみにotool -f の結果は下の通り。cafebabe!

[alabaster:~] terazzo% otool -f /Volumes/Hide? Or? Show? Previous? Login/HideOrShowPreviousLogin.app/Contents/MacOS/HideOrShowPreviousLogin
Fat headers
fat_magic 0xcafebabe
nfat_arch 2
architecture 0
    cputype 18
    cpusubtype 0
    offset 4096
    size 31392
    align 2^12 (4096)
architecture 1
    cputype 7
    cpusubtype 3
    offset 40960
    size 43588
    align 2^13 (8192)
[alabaster:~] terazzo% 

/usr/include/mach/machine.hによると、cputype 7はCPU_TYPE_I386、cpusubtype 3はCPU_SUBTYPE_I386_ALLだそうだ。これはiTunesなどのホンモノのUniversal Binaryでも同じみたいだ。