Eric Christopher
2014-Apr-14 06:09 UTC
[LLVMdev] Proposal: AArch64/ARM64 merge from EuroLLVM
> - Inline ASM (I think Eric said at the Hackers Lab that he might be > willing to do this)I am, yes.> - For others who want to help test, compiling and running your > codebases on QEMU (no crypto extensions)Some reasonable description of how this works would be awesome.> > - Feature parity - to the level found in the ARM64 and AArch64 backends todayAs a note this should definitely be "Today", as in the day you sent the email/had the meeting/etc. No new work should be considered part of the final sign off - basically a gentle chide for people to stop putting new features into the existing AArch64 backend :) -eric
Hi Eric,> > - For others who want to help test, compiling and running your > > codebases on QEMU (no crypto extensions) > > Some reasonable description of how this works would be awesome. >Try the followings, to set up QEMU for AArch64... # On ubuntu 13.10, start from here git clone git://git.qemu.org/qemu.git cd qemu git submodule update --init pixman git submodule update --init dtc # install some tools sudo apt-get install libglib2.0-dev sudo apt-get install autoconf sudo apt-get install libtool # build & install qemu mkdir build ../qemu/configure --target-list=aarch64-softmmu,aarch64-linux-user make sudo make install # Drop attached file to binfmts folder sudo apt-get install binfmt-support sudo cp qemu-aarch64 /usr/share/binfmts sudo update-binfmts --import qemu-aarch64 # If you don't have linaro tool chain, # please download http://releases.linaro.org/latest/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.8-2014.03_linux.tar.xz # after unzip, please do the following copy cp ~/gcc-linaro-aarch64/aarch64-linux-gnu/lib/* ~/gcc-linaro-aarch64/aarch64-linux-gnu/libc/lib/aarch64-linux-gnu/ # Then y You need to set up correct sysroot path here, e.g. # SYSROOT_PATH=/home/ your_home_folder /gcc-linaro-aarch64/aarch64-linux-gnu/libc export QEMU_LD_PREFIX=$SYSROOT_PATH # Get here, Done! Try to run the followings to verify qemu works... $ cat tt t .c #include <stdio.h> int main(){printf("OK\n");} $ aarch64-linux-gnu-gcc ttt.c $ ./a.out OK Thanks, -Jiangning -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140414/6e4ecfc6/attachment.html>
Eric Christopher
2014-Apr-14 06:50 UTC
[LLVMdev] Proposal: AArch64/ARM64 merge from EuroLLVM
Nifty, thanks! -eric On Sun, Apr 13, 2014 at 11:30 PM, Jiangning Liu <liujiangning1 at gmail.com> wrote:> Hi Eric, >> >> > - For others who want to help test, compiling and running your >> > codebases on QEMU (no crypto extensions) >> >> Some reasonable description of how this works would be awesome. > > > Try the followings, to set up QEMU for AArch64... > > # On ubuntu 13.10, start from here > > git clone git://git.qemu.org/qemu.git > > cd qemu > > git submodule update --init pixman > > git submodule update --init dtc > > > > # install some tools > > sudo apt-get install libglib2.0-dev > > sudo apt-get install autoconf > > sudo apt-get install libtool > > > > # build & install qemu > > mkdir build > > ../qemu/configure --target-list=aarch64-softmmu,aarch64-linux-user > > make > > sudo make install > > > > # Drop attached file to binfmts folder > > sudo apt-get install binfmt-support > > sudo cp qemu-aarch64 /usr/share/binfmts > > sudo update-binfmts --import qemu-aarch64 > > # If you don't have linaro tool chain, > > # please download > http://releases.linaro.org/latest/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.8-2014.03_linux.tar.xz > > # after unzip, please do the following copy > > cp ~/gcc-linaro-aarch64/aarch64-linux-gnu/lib/* > ~/gcc-linaro-aarch64/aarch64-linux-gnu/libc/lib/aarch64-linux-gnu/ > > > # > > Then y > You need to set up correct sysroot path here, e.g. > > # SYSROOT_PATH=/home/ > > your_home_folder > /gcc-linaro-aarch64/aarch64-linux-gnu/libc > > export QEMU_LD_PREFIX=$SYSROOT_PATH > > > > # Get here, Done! > > > > Try to run the followings to verify qemu works... > > > > $ cat tt > > t > .c > > #include <stdio.h> > > int main(){printf("OK\n");} > > $ aarch64-linux-gnu-gcc ttt.c > > $ ./a.out > > OK > > Thanks, > -Jiangning >