gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: undefined reference to __gnustep_objcxx_personality_v0


From: Dmitry Moskalchuk
Subject: Re: undefined reference to __gnustep_objcxx_personality_v0
Date: Sat, 26 Dec 2015 22:44:50 +0300
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.5.0

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


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]