[LLVMdev] Support for Windows Phone 8.1

Damanjit Singh dsingh at adobe.com
Sun Jun 8 00:15:25 PDT 2014


Thanks Saleem, Nick.

I will try with the latest code and share the results.

Though, just curious if I need to really use clang to generate the object file and the current steps won't work? I ask because using .c file was only an illustration. For my project the IR is not generated from .c files or clang.

Thanks,
Daman

Sent from my phone

On 08-Jun-2014, at 11:00 am, "Saleem Abdulrasool" <compnerd at compnerd.org<mailto:compnerd at compnerd.org>> wrote:

On Sat, Jun 7, 2014 at 4:49 PM, Nick Lewycky <nicholas at mxc.ca<mailto:nicholas at mxc.ca>> wrote:
Damanjit Singh wrote:
Hi guys,

Would really appreciate any help here.

Thanks,
Daman

From: Damanjit Singh <dsingh at adobe.com<mailto:dsingh at adobe.com> <mailto:dsingh at adobe.com<mailto:dsingh at adobe.com>>>

Date: Friday, 6 June 2014 12:57 pm
To: "llvmdev at cs.uiuc.edu<mailto:llvmdev at cs.uiuc.edu> <mailto:llvmdev at cs.uiuc.edu<mailto:llvmdev at cs.uiuc.edu>>"
<llvmdev at cs.uiuc.edu<mailto:llvmdev at cs.uiuc.edu> <mailto:llvmdev at cs.uiuc.edu<mailto:llvmdev at cs.uiuc.edu>>>

Subject: Support for Windows Phone 8.1

Hi LLVMdev,

Does the latest trunk code support Windows Phone 8.1 target ?

I don't know this, but ...

I was trying out a simple program, but Visual Studio 2013’s linker
failed for me with this error - app.obj : error LNK2008: Fixup target is
not aligned ‘add3'

This is what I tried -

  * Download latest LLVM sources (as on 4th June) and build them on my
    MAC 10.9 machine.
  * Wrote a simple a.c, with add3 function-


int add3(int i, int j)
{
int k = i+j;
return k;
}

  * Create LLVM IR using Xcode 5.1’s clang ( *clang –S -O0 -emit–llvm a.c* )
  * Create obj file – using llc - *. /i686-apple-darwin11-llc
    -filetype=obj -mtriple=thumbv7-windows-msvc -O0 a.s *

... in general this doesn't work. The transformation from C to LLVM IR needs to know the target triple. Try "clang --target=thumbv7-windows-msvc a.c -c -o a.obj"? Since clang has a built-in assembler, you should get a valid COFF file out, to the extent that clang and llvm support this target.

If that doesn't work, I may suggest it's unsupported.

As Nick mentioned, please generate the object file directly from clang.  You can use armv7-windows or thumbv7-windows (clang will translate armv7-windows to thumbv7-windows implicitly).  I just fixed a bug that should allow you to link the object files with link.

Nick

  * Now on a Windows 8.1 Desktop machine, link this object file into

    sample (new DirectX app, windows phone) Visual Studio 2013 project.
  * Declare and Call add3 in the sample windows project.
  * I then get a linker error on building the solution.

*1>app.obj : error LNK2008: Fixup target is not aligned 'add3'*
*1>LINK : fatal error LNK1165: link failed because of fixup errors*
*========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========*



Could someone please confirm about the state of support for Windows
Phone 8.1 ? Or am I missing something here?

Thanks,
Daman


_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu<mailto:LLVMdev at cs.uiuc.edu>         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu<mailto:LLVMdev at cs.uiuc.edu>         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



--
Saleem Abdulrasool
compnerd (at) compnerd (dot) org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140608/b63c74ee/attachment.html>


More information about the llvm-dev mailing list