Clang Cross Compiling for Windows Phone ARM target - windows-phone-8

I would like to compile a program written in C using Clang for 'Windows Phone' ARM target.
Does anyone have experience with it?
What is a better approach?
1) Building on a host running Windows 8 using Clang for Windows and MinGW. Does Clang for Windows / MinGW supports ARM by default? If not, I will need to re-build Clang and MinGW?
2) Building on a Linux/MAC host (where ARM target comes as default) and using Windows Phone toolchain (where can I get it?).
Thanks in advance!

There is no "Windows Phone ARM target" support in clang. Even if you'd succeed to compile something, I doubt you will be able to link & execute the binaries.

Related

Cannot find libspirv-nvptx64--nvidiacl.bc when used intel clang++ to build binary for nvidia cuda GPU

I used below command to build binary for nvidia GPU:
clang++ -fsycl -fsycl-targets=nvptx64-nvidia-cuda simple-sycl-app.cpp -o simple-sycl-app-cuda
But got below error message:
clang++: error: cannot find 'libspirv-nvptx64--nvidiacl.bc'; provide path to libspirv library via '-fsycl-libspirv-path', or pass '-fno-sycl-libspirv' to build without linking with libspirv
I searched in both intel oneAPI installation path and cuda toolkit path, but cannot find the spirv-nvptx64-nvidiacl.bc.
Anyone knows where to find libspirv-nvptx64—nvidiacl.bc?
It looks like you are trying to compile using the DPC++ compiler for Nvidia GPUs.
This option is not included in the oneAPI release installations from the Intel website. At the moment you will need to compile the DPC++ LLVM project with this enabled to be able to use the appropriate flag to target Nvidia devices.
You can follow the instructions on this page to compile the project and then it explains how to use the ptx target. In the future Codeplay, the company I work for, intends to publish release binaries that include the ptx compiler option.

mips gnu toolchain with glibc_2.13

I am trying to load few modules onto Tizen on my MIPS-based platform. Currently, I am using sourcery codebench gnu linux compiler. The libc.so files it uses have version 2.17 which libc.so file on my platform has version 2.13. I need a toolchain which has a version less than or equal to 2.13 and supports MIPS.
Thanks,
Atchyut Sreekar
few options:
talk to the Tizen people to see if they have pre-compiled toolchains that match your system
build the code directly on the device
use crosstool-ng to build a new cross-compiler but with an old glibc version
upgrade your system because glibc-2.13 (and glibc-2.17 for that matter) are ridiculously old and have a large number of known security vulnerabilities including remote exploits. developing & deploying anything based on those glibc versions is a terrible terrible mistake.

Failed to compile lua in windows phone 8 system

We are working on IOS and Android with cocos2dx, we have lots of lua script in our codes, and it working well in the IOS and Android. now we plan porting the app to Windows Phone 8 or Windows RT.
But we get stuck by compiling lua in windows phone 8 system. It looks as if lua depends on some win32 API which are not supported in windows phone system.
The compilation errors are:
undeclared identifier 'LoadLibraryA'
undeclared identifier 'GetModuleNameA'
So, anyone has some ideas?
If you change the first non-comment line in the Makefile to PLAT=generic, lua will compile without shared library support (that means you will not be able to load .dll with the require command) and lua will compile without any link errors. If you need to use C-libraries then add them statically to the lua binary by adding them to the preloadedlibs array in linit.c

Getting Sourcery Codebench to run on Windows

I'm having trouble setting up a cross compiler (Sourcery Codebench) and simulator (OVP) on my machine. Could someone please show me how to do this?
I'd like to cross compile C to MIPS and then simulate it on my windows 7 x86-64bit machine. I don't have a lot of experience with this kind of thing and am having trouble even figuring out which versions to download
I have seen one or 2 other questions about getting sourcery to work on windows, but they didn't have the information I need.
I am not familiar with OVP, but I do know Sourcery CodeBench. Sourcery CodeBench is available for Windows and comes in an easy to use installer. The lite edition pages are here:
http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/
There are links for MIPS ELF (Bare Metal) and GNU/Linux lite edition downloads. I'm not sure which one you need. The most recent toolchains are from the Spring 2012 release.
Once you have installed the toolchain, you can compile your application and run it on real hardware or on a simulator.
How far did you get? Did you install the toolchain and simulator? Can you compile and run the application on your target?

Compiling CUDA SDK examples in hardware emulation mode

I'm trying to do some CUDA development on a PC without CUDA-capable GPU via emulation mode. The OS is Linux Mint Debian (can be considered Debian testing for all practical purposes) 32bit (2.6.32-5-686 kernel). Here's what I did so far:
Grabbed the CUDA Toolkit 32 bit and SDK for Ubuntu from http://developer.nvidia.com/cuda-toolkit-40
Installed the CUDA Toolkit in /usr/local/cuda/lib
Added the paths to bashrc
echo "# CUDA stuff
PATH=\$PATH:/usr/local/cuda/bin
LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/cuda/lib
export PATH
export LD_LIBRARY_PATH" >> ~/.bashrc
Added the path to /etc/ld.so.conf.d/cuda.conf:
/usr/local/cuda/lib
Executed "sudo ldconfig"
Restarted the session
Then installed the SDK in /home/user/NVIDIA_GPU_Computing_SDK folder
When I got to NVIDIA_GPU_Computing_SDK/C and type "make emu=1" to compile the examples I get:
nvcc warning : option 'device-emulation' has been deprecated and is ignored
/usr/bin/ld: cannot find -lcudartemu
/usr/bin/ld: cannot find -lcudartemu
collect2: ld returned 1 exit status
Seems like a library missing (rt = runtime ?). There is libcudart3 in the package manager, but wants a whole bunch of nvidia stuff as a dependency, including drivers and I don't even have an NVIDIA card on this machine. Also apparently the GPU emulation is now deprecated... Does anybody have some experience with CUDA emulation?
There is no emulation in CUDA any more. It was deprecated and removed during the 3.x release cycle. There is no emulation support beyond CUDA 3.1 IIRC. Certainly there is nothing you can do in CUDA 4.0.
On Linux, your best bet is to try gpuocelot, which provides a PTX level emulation on x86 processors and a reimplementation of the CUDA APIs.
Although I agree with the suggestion to try Ocelot, when I was in the same boat I found it easiest to go on eBay and get a cheap CUDA capable card to use for testing (I think I paid < $40). If you have the ability to open the hardware (I realize this isn't an option for some people) and to install drivers, that's what I'd suggest.