Hi all, I am trying to port Mono into Aix host, I have am very fundamental question: How are you guys debug native code? Because JIT compiler compiles assembly into native code then JIT invoke it, I am very curious if there errors in native code How do you find out the bug and fix it. And if you updates the cpu-<ARCH>.md or <ARCH>-codegen.h how do you verify your changes is ok? There must be somewhat effect method to debug the JIT and it specific architecture.
Since I am porting Mono into Aix, I got assembler code which disassembled from native code: 0: 7c 08 02 a6 mflr r0 4: 90 01 00 04 stw r0,4(r1) 8: 94 21 ff b0 stwu r1,-80(r1) c: 93 61 00 48 stw r27,72(r1) 10: 93 e1 00 4c stw r31,76(r1) 14: 7c 3f 0b 78 mr r31,r1 18: 90 7f 00 28 stw r3,40(r31) 1c: 90 9f 00 2c stw r4,44(r31) 20: 90 bf 00 30 stw r5,48(r31) 24: 90 df 00 34 stw r6,52(r31) 28: 38 60 00 00 li r3,0 2c: 90 7f 00 20 stw r3,32(r31) 30: 38 60 00 00 li r3,0 34: 90 7f 00 24 stw r3,36(r31) 38: 80 7f 00 30 lwz r3,48(r31) 3c: 2c 03 00 00 cmpwi r3,0 40: 41 82 00 a4 beq 0xe4 44: 3c 60 20 03 lis r3,8195 48: 60 63 e5 04 ori r3,r3,58628 4c: 80 63 00 00 lwz r3,0(r3) 50: 2c 03 00 00 cmpwi r3,0 54: 41 82 00 38 beq 0x8c 58: 3d 80 30 3c lis r12,12348 5c: 61 8c cd d8 ori r12,r12,52696 60: 7d 88 03 a6 mtlr r12 64: 4e 80 00 21 blrl 68: 7c 64 1b 78 mr r4,r3 6c: 7c 9b 23 78 mr r27,r4 70: 2c 03 00 00 cmpwi r3,0 74: 41 82 00 18 beq 0x8c 78: 7f 63 db 78 mr r3,r27 7c: 3d 80 30 00 lis r12,12288 80: 61 8c 82 90 ori r12,r12,33424 84: 7d 88 03 a6 mtlr r12 88: 4e 80 00 21 blrl 8c: 80 7f 00 2c lwz r3,44(r31) 90: 80 83 00 00 lwz r4,0(r3) 94: 80 7f 00 28 lwz r3,40(r31) 98: 80 bf 00 34 lwz r5,52(r31) 9c: 7c a8 03 a6 mtlr r5 a0: 4e 80 00 21 blrl a4: 48 00 00 38 b 0xdc a8: 80 7f 00 1c lwz r3,28(r31) ac: 80 7f 00 1c lwz r3,28(r31) b0: 90 7f 00 24 stw r3,36(r31) b4: 80 7f 00 30 lwz r3,48(r31) b8: 80 9f 00 24 lwz r4,36(r31) bc: 90 9f 00 40 stw r4,64(r31) c0: 90 83 00 00 stw r4,0(r3) c4: 3d 80 30 3c lis r12,12348 c8: 61 8c cf 50 ori r12,r12,53072 cc: 7d 88 03 a6 mtlr r12 d0: 4e 80 00 21 blrl d4: 80 7f 00 40 lwz r3,64(r31) d8: 48 00 00 04 b 0xdc dc: 80 7f 00 20 lwz r3,32(r31) e0: 48 00 00 38 b 0x118 e4: 3c 60 20 03 lis r3,8195 e8: 60 63 e5 04 ori r3,r3,58628 ec: 80 63 00 00 lwz r3,0(r3) f0: 28 03 00 00 cmplwi r3,0 f4: 40 82 00 40 bne 0x134 f8: 48 00 00 04 b 0xfc fc: 80 7f 00 2c lwz r3,44(r31) 100: 80 83 00 00 lwz r4,0(r3) 104: 80 7f 00 28 lwz r3,40(r31) 108: 80 bf 00 34 lwz r5,52(r31) 10c: 7c a8 03 a6 mtlr r5 110: 4e 80 00 21 blrl 114: 80 7f 00 20 lwz r3,32(r31) 118: 80 1f 00 54 lwz r0,84(r31) 11c: 7c 08 03 a6 mtlr r0 120: 7f ec fb 78 mr r12,r31 124: 83 7f 00 48 lwz r27,72(r31) 128: 83 ff 00 4c lwz r31,76(r31) 12c: 38 2c 00 50 addi r1,r12,80 130: 4e 80 00 20 blr 134: 3d 80 30 3c lis r12,12348 138: 61 8c cd d8 ori r12,r12,52696 13c: 7d 88 03 a6 mtlr r12 140: 4e 80 00 21 blrl 144: 7c 64 1b 78 mr r4,r3 148: 7c 9b 23 78 mr r27,r4 14c: 2c 03 00 00 cmpwi r3,0 150: 41 82 ff ac beq 0xfc 154: 7f 63 db 78 mr r3,r27 158: 3d 80 30 00 lis r12,12288 15c: 61 8c 82 90 ori r12,r12,33424 160: 7d 88 03 a6 mtlr r12 164: 4e 80 00 21 blrl This code leads to core dump, it is the body of method ((wrapper runtime-invoke) <Module>:runtime_invoke_void__this___object (object,intptr,intptr,intptr)) >From such code, How could I tell where leads to core dump? Please help me or give me a clue. Thank you very much! Pin ================================ Rocket Software, Inc. and subsidiaries ? 77 Fourth Avenue, Waltham MA 02451 ? +1 800.966.3270 ? +1 781.577.4321 Unsubscribe From Commercial Email - unsubscr...@rocketsoftware.com Manage Your Subscription Preferences - http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_SubscriptionCenter.html Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy ================================ This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you.
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list