Hi all,
I just upload an sysroot image for ILP32 meant to be used on both testing and development on dev-01.tcwglab [1]. It is based on out current ILP32 GCC 7 sysroot plus some tools and it is meant to easier development and testing. It should have all native required tools for GNU development:
glibc 2.27 (arm/ilp32 branch) gcc 7.2.1 (linaro/gcc-7-branch) binutils 2.28.2 (linaro_binutils-2_28-branch) gmp 6.1.2 mpfr 3.1.6 mpc 1.0.3 coreutils 8.28 bash 4.4.12 gnumake 4.2 (plus a patch to fix glob usage on glibc 2.27) gawk 4.2 perl 5.26.1 textinfo 6.5 bison 3.0.3 m4 1.4.18 libtool 2.4.5 flex 2.6.4 tcl 8.6.7 expect 5.45.3 dejagnu 1.6 sed 4.4 diffutils 3.6 tar 1.29 gzip 1.8 finutils 4.6.0
I could build and check glibc and binutils and bootstrap gcc. The binutils and gcc tests are working (dejagnu/expect/tcl is installed).
To actually get a working VMs to run ILP32 you need a kernel built with different branch than either canonical Linus tree or linux stable. Easier way is to use Maxim's automated script to start a qemu aarch64 instance on r1-a7:
$ WORKSPACE=`pwd` bash -x ~maxim.kuvyrkov/src/jenkins-scripts/start-container-qemu.sh \ --weight 2 --node r1-a7 --arch arm64 --distro xenial --task test --prefix ilp32_ \ --kernel_url https://people.linaro.org/~maxim.kuvyrkov/norov-Image --initrd_url \ https://cloud-images.ubuntu.com/releases/16.04/release/unpacked/ubuntu-16.04... \ --session-name ilp32-$USER --newuser $USER --cp_file ~/.ssh/authorized_keys
You can then log in the machine as usual ('ssh -P r1-a7.aus-colo') and download the sysroot from dev-01.tcwglab. Just uncompress it and issue the usual chroot command:
$ mkdir aarch64-linux-gnu_ilp32/proc; sudo mount -t proc proc aarch64-linux-gnu_ilp32/proc $ mkdir aarch64-linux-gnu_ilp32/sys; sudo mount -t sysfs sys aarch64-linux-gnu_ilp32/sys $ mkdir aarch64-linux-gnu_ilp32/dev; sudo mount -o bind /dev aarch64-linux-gnu_ilp32/dev $ sudo chroot aarch64-linux-gnu_ilp32
A useful package missing is GDB and python, I plan to get them built and I will update the image on dev-01.tcwglab during this week.
[1] /home/tcwg-buildslave/public_html/images/ilp32/aarch64-linux-gnu_ilp32.tar.bz2