【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

Mac OS X 64bitでシステムコール

64bitのMac OS Xシステムコールを呼ぼうとしてハマりました。結論から言うと、システムコール番号に0x2000000を足す必要があります。詳細は以下を参照しました。

exitシステムコール(1番)を呼び出す例は以下の通りです。asがIntel記法を受け付けることが分かったので、Intel記法を使用しました。

$ gcc -nostdlib exit.s
ld: warning: symbol dyld_stub_binder not found, normally in libSystem.dylib
$ ./a.out 
$ echo $?
123