[llvm-dev] compiling for the ipad
Bruce Hoult via llvm-dev
llvm-dev at lists.llvm.org
Mon Sep 18 15:12:03 PDT 2017
On Tue, Sep 19, 2017 at 1:02 AM, jacob navia <jacob at jacob.remcomp.fr> wrote:
> Le 18/09/2017 à 21:20, Bruce Hoult a écrit :
>
>> Weird. The xcode compiler has been llvm for a long time, and A64 has been
>> supported since the iPhone 5s came out four years ago.
>>
>> Perhaps you're asking this because you have an existing project targeting
>> A32 and Apple just made that obsolete.
>>
>
> This is part of a larger project.
> The code generator is a part of a database system, written in C++. This
> system compiles each sql statement into C code that is written into a text
> buffer. The code generator reads this buffer, compiles into assembly code
> and executes it "on the fly".
>
And .. why do you think you'll be able to do this? iOS has always forbidden
on the fly code generation. You can't mprotect() memory to executable (and
it can't be executable and writable at the same time).
> Now, I need to know the opcodes and specifications of the A 64 chip.
>
>> I wouldn't advise starting a project doing specifically native compilation
>> for iPhone or iPad at this point. New iOS projects have defaulted to
>> uploading llvm bitcode to the iTunes store for about two years already.
>> It's still possible to change this (or use old projects) right now, but I
>> would not be surprised if bitcode-only becomes compulsory very soon, the
>> same as WatchOS and tvOS are already
>>
> We are not going to use the App store. Our customers will get our product
> from us.
> Of course we will use Xcode, since we already did the port to Mac OS X.
>
> Again my question: Is there any documentation about the A64?
>
Arm64 is well documented in the usual place
https://static.docs.arm.com/ddi0487/b/DDI0487B_a_armv8_arm.pdf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170919/dba60283/attachment.html>
More information about the llvm-dev
mailing list