[swift-dev] ObjC Interoperability under armv7--linux-gnueabi

Iliya Trub itrub at yandex.ru
Wed Mar 30 05:27:34 CDT 2016

I'd like to add, that I have overcomed "subject"error in very simple path. I indeed forgot to add -fobjc-runtime=gnustep to all needed places. THIS error disappeared, but the new error appeared:
main2: dwarf/Gparser.c:456: fetch_proc_info: Assertion
`c->pi.unwind_info' failed

Any opinions? I even do not know, from what library Gparser.c is.
So, sucess story with launch of the simplest application is not reached.

30.03.2016, 01:22, "Joe Groff" <jgroff at apple.com>:
>>  On Mar 29, 2016, at 1:03 PM, Iliya Trub via swift-dev <swift-dev at swift.org> wrote:
>>  Dear colleagues
>>  Ihave built swiftc, libswiftCore.so and other outputs under armv7--linux-gnueabi with open source ObjC-runtime and enabled ObjC interop. I linked the simplest swift-application, which creates the instance of custom ObjC-class and call instance-method of it. If somebody interested, I am ready to provide patches, though I know that it can not be included into upstream. But there is not success yet. When I try to run application under armv7l-linux, I get following error:
>>  Error: Instance variables in _SwiftNativeNSArrayBase overlap superclass
>>  NSArray. Offset of first instance variable, __magic_refCount, is 4.
>>  Last instance variable in superclass, _sortedArrayHint, ends at offset
>>  8. This probably means that you are subclassing aclass from a library,
>>  which has changed in a binary-incompatibleway.
>>  Could anybody explain it? I think, it is explained by some difference between NSArray-implementation in XCode framework and in my opensource library. Is it true? And in what way I can try to fix it? May be, to modify my NSArray-source, but how?
>>  Thanks in advance for answer.
> The implementation of our ObjC interop makes pretty deep invasive assumptions about the Apple ObjC runtime ABI as well as the implementation of classes in Cocoa. It probably needs to be rewritten from the ground up to support another runtime and Foundation implementation.
> -Joe

С уважением,
 Труб Илья

More information about the swift-dev mailing list