On 26/12/15 22:26, David Chisnall wrote: > Is it possible for me to have (ssh) access to an ARM machine to run a > debugger? If not, I’ll try to poke it in an emulator.
Unfortunately, there is no simple way to access Android shell remotely. The only supported way to access Android shell is ADB (Android Debug Bridge) which works reliable over USB only. I could instruct you how to setup everything to build and run libobjc2 on Android, but that setup would be pretty complicated, involving downloads of gigabytes of sources, placing them in proper places, setting up development environment, etc. I'd not recommend do that, unless you're strongly intended to make it working on Android (as I am). Practically, the best choice might be running GNU/Linux in qemu-arm, ssh there, and run libobjc2 tests on it. At least, doing that would be _much_ easier than setting up Android development environment. > It would help if you could step through the objc_msgSend function one > instruction at a time and see how where it’s going wrong. Start from here: > > https://github.com/gnustep/libobjc2/blob/master/objc_msgSend.arm.S#L34 > > It should have the address of the dtable in r4 (check it does!) and should > then do 1-3 loads (depending on the size of the dtable), each time getting a > new SparseArray*, until it gets the slot pointer here: > > https://github.com/gnustep/libobjc2/blob/master/objc_msgSend.arm.S#L56 Thanks for explanation, I'll try this. > I didn’t realise there were any ARMv5 (ARM7-ARM10) devices running Android. > ARM hasn’t licensed ARMv5 cores for ages and they basically need to die. > > The new instructions are actually from a later ARMv6 revision, so most ARMv6 > cores should support them (any that support Thumb-2). I can add a > conditional path for older ARMv6 cores if required, and I think that should > fix ARMv5 too. Please do, if it not bother you too much. -- Dmitry Moskalchuk
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
