Adding Windows on ARM Support
Saleem Abdulrasool
abdulras at fb.com
Thu Feb 27 11:53:09 PST 2014
On Feb 27, 2014, at 11:21 AM, Reid Kleckner <rnk at google.com> wrote:
> On Thu, Feb 27, 2014 at 11:05 AM, Saleem Abdulrasool <abdulras at fb.com> wrote:
>
> On Feb 27, 2014, at 10:59 AM, Reid Kleckner <rnk at google.com> wrote:
>
> > Cool! Do you intend to aim for MSVC C++ ABI compatibility on ARM, or is that not a goal for you? We assume the ARM C++ ABI looks similar to the x86 one, but we haven't gone out of our way to check. There might be dragons.
>
> Right now Im planning on using IA-64 ABI (which is unfortunately incompatible with msvcrp). Longer term, I think that getting C++ MS ABI on ARM would be incredible.
>
> That seems reasonable. There are still lots of bugs in the Microsoft C++ ABI support in Clang.
>
> What triple were you planning to use? We got rid of the -cxx-abi flag and made -win32 imply the Microsoft C++ ABI. I don't want to make arm*-*-win32 imply the Itanium C++ ABI, since eventually we'd like it to use the Microsoft C++ ABI.
I think having the ability to switch between the ABIs would be nice. I was thinking armv7-windows-pe. That is much more in line with the naming of triples (Architecture is ARMv7, OS is Windows, Environment is PE/COFF). I do agree that this is more representative of the MS ABI. I would say that armv7-windows-peia64 has a certain appeal to it. My only issue with using mingw32 as the environment name is that it implies MinGW, and the changes do not actually use the MinGW support libraries.
> At least on x86, the mingw32 target is C ABI compatible with MSVC, so you could use a triple like arm*-*-mingw32. I don't know if the mingw project even supports ARM yet, but if and when they do I expect them to be C ABI compatible with MSVC and use the Itanium-derived ARM C++ ABI.
Yes, the C ABI is compatible with MSVCRT.
--
Saleem Abdulrasool
abdulras (at) fb (dot) com
More information about the llvm-commits
mailing list