スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

lobjcをx86_64で動かす

libffiのビルド:

$ CC="gcc -arch x86_64" CXX="g++ -arch x86_64" ./configure
$ make

luaのビルド:

$ make CC="gcc -arch x86_64" -j2 macosx
$ sudo install -p -m 0755 lua /usr/local/bin/lua-x86_64

あとはx86_64用のlibffiをうまくリンクしてやればいい。

一見、何事も無く動くようだが、終了時にクラッシュする。

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000030
0x00007fff82ffd99a in _unload_image ()
(gdb) bt
#0  0x00007fff82ffd99a in _unload_image ()
#1  0x00007fff82ff4af8 in unmap_image ()
#2  0x00007fff5fc02b67 in __dyld__ZN4dyld11removeImageEP11ImageLoader ()
#3  0x00007fff5fc02d6f in __dyld__ZN4dyld20garbageCollectImagesEv ()
#4  0x00007fff5fc0ac56 in __dyld_dlclose ()
#5  0x00007fff813e2755 in dlclose ()
#6  0x000000010001d05a in gctm (L=<value temporarily unavailable, due to optimizations>) at loadlib.c:64
#7  0x0000000100007e09 in luaD_precall (L=0x1000cd0e0, func=0x1000c8c8f, nresults=1885445184) at ldo.c:319
#8  0x00000001000081ae in luaD_call (L=0x1000c8c8f, func=0x0, nResults=839904) at ldo.c:376
#9  0x0000000100009d9b in GCTM (L=0x7fff70619c40) at lgc.c:467
#10 0x0000000100009df8 in luaC_callGCTM (L=0x1000c8c8f) at lgc.c:479
#11 0x00000001000076f7 in luaD_rawrunprotected (L=0x100803c00, f=0x10000f720 <callallgcTM>, ud=0x0) at ldo.c:116
#12 0x000000010000f7a0 in lua_close (L=<value temporarily unavailable, due to optimizations>) at lstate.c:209
#13 0x0000000100001ad4 in main (argc=<value temporarily unavailable, due to optimizations>, argv=0x0) at lua.c:389

_unload_imageでググると、VLCのMLが引っかかった。同様の症状のようだ。Leopardでの64ビットビルドでの既知の問題で、将来のリリースで修正されるだろうということらしい。Snow Leopardにすれば解決なのだろうか。ちなみにArch Linux x86_64+GNUstepでは落ちない。

PPCもRosetta上で試してみたが、何事も無く動作する。Rosettaだからかな。実機は持ってないので分からん。libffiのビルドは↓

CC="gcc -arch ppc" CXX="g++ -arch ppc" ./configure --host=powerpc-apple-darwin9
make
スポンサーサイト

テーマ : プログラミング | ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

minoki

Author:minoki
好きなプログラミング言語:
Haskell,Lua
GitHubアカウント
Twitter

最新記事
月別アーカイブ
カテゴリ
検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。