On 7 Feb 2016, at 09:46, Dmitry Moskalchuk <[email protected]> wrote: > > The most important issue is that Aarch64 objc_msgSend implementation is > broken. It doesn't even compile.
I find that hard to believe, as I tested it (albeit in QEMU and not on real hardware). > I've seen > https://github.com/gnustep/libobjc2/issues/14, but that clang's bug was > fixed in the CrystaX NDK several months ago > (https://github.com/crystax/android-toolchain-clang-3-7/commit/1a4b73f3828569eadb0395b693275b1e6532d5c0). > Now, when I build libobjc2 for Aarch64, it reports the following: > > /Volumes/android/ndk/vendor/libobjc2/objc_msgSend.aarch64.S: Assembler > messages: > /Volumes/android/ndk/vendor/libobjc2/objc_msgSend.aarch64.S:97: Error: > operand 1 should be an integer register -- `br lr' > /Volumes/android/ndk/vendor/libobjc2/objc_msgSend.aarch64.S:97: Error: > operand 1 should be a floating-point register -- `stp fp,lr,[sp,#192]' > /Volumes/android/ndk/vendor/libobjc2/objc_msgSend.aarch64.S:97: Error: > operand 1 should be an integer or stack pointer register -- `add fp,sp,192' > /Volumes/android/ndk/vendor/libobjc2/objc_msgSend.aarch64.S:97: Error: > bad register expression > /Volumes/android/ndk/vendor/libobjc2/objc_msgSend.aarch64.S:97: Error: > bad register expression > /Volumes/android/ndk/vendor/libobjc2/objc_msgSend.aarch64.S:97: Error: > bad register expression > /Volumes/android/ndk/vendor/libobjc2/objc_msgSend.aarch64.S:97: Error: > operand 1 should be a floating-point register -- `ldp fp,lr,[sp,#208]' > CMakeFiles/objc.dir/build.make:606: recipe for target > 'CMakeFiles/objc.dir/objc_msgSend.S.o’ failed These all look like gas errors. Building with gas is unsupported. If your clang does not default to using the integrated assembler, try adding -integrated-as to the asm flags. > Should I report new issue for this? I realize that it's hard for you to > test since clang's Aarch64 objc support is broken on GNU/Linux, It is not, only ARC is broken. Non-ARC Objective-C works. If you’re shipping your own clang and don’t mind breaking the iOS target, then it’s a one-line patch to fix it. David -- Send from my Jacquard Loom _______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
