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: David Chisnall
Subject: Re: undefined reference to __gnustep_objcxx_personality_v0
Date: Sun, 27 Dec 2015 20:21:52 +0100

On 26 Dec 2015, at 20:44, Dmitry Moskalchuk <address@hidden> wrote:
> 
> 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.

I managed to get a development environment set up in qemu.  All of the 
ARM-specific codepaths now work correctly:

- Message sending works
- Blocks as IMPs work
- C++ exceptions work.

The property introspection test was failing, because char is unsigned char and 
not signed char on ARM Linux.  That’s also now fixed.

Interestingly, the ManyManySelectors test fails on ARM Linux, because it maps 
things below the 128KB line and so the selector code thinks that some pointer 
values are valid selector IDs.  This won’t be a problem if you don’t register 
more than 2^16 selectors (not an issue for most code - we shipped with a bug 
where message sending was broken with more than this many selectors for years 
and only one program so far has triggered it).  It’s probably fixable by 
ignoring the top bit in the sel id for lookup (it’s already ignored for the asm 
paths) and using it to distinguish the values.  I’ll think about this, as it’s 
a bit complex on big-endian systems.

David

-- Sent from my IBM 1620




reply via email to

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