今日のdalvik
デバッグ系のオプションをつけてビルドしてみた.
落ちるところが変わった.
00011400 <abort>: 11400: 55 push %ebp 11401: 89 e5 mov %esp,%ebp 11403: 57 push %edi 11404: 56 push %esi 11405: 53 push %ebx 11406: e8 a4 a4 ff ff call b8af <__i686.get_pc_thunk.bx> 1140b: 81 c3 95 ab 03 00 add $0x3ab95,%ebx 11411: 83 ec 3c sub $0x3c,%esp 11414: 8d 7d f0 lea -0x10(%ebp),%edi 11417: 8b 83 a0 ff ff ff mov -0x60(%ebx),%eax 1141d: 8b 30 mov (%eax),%esi 1141f: c7 44 24 08 04 00 00 movl $0x4,0x8(%esp) 11426: 00 11427: c7 44 24 04 ff ff ff movl $0xffffffff,0x4(%esp) 1142e: ff
0x11427で落ちているらしい.assert で飛び込んできたものの,力尽きたと見える.
こりゃバッファオーバランかなにかですかねぇ.同じGCCでもARMとx86とでパディングの挙動が違っていたりして,ARMでは壊さないとか超アリそう.
確かに MarkSweep.c の辺りって,ptr2chunk とかいう,怪しい処理やってるんだよねぇ.GCのデバッグ…イヤすぎる.