Discussion:
ILP32 sysroot image
Adhemerval Zanella
2017-11-12 20:02:10 UTC
Permalink
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-server-cloudimg-arm64-initrd-generic \
--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
Loading...