Re: building every released version of GCC starting with 4.1.2, with appropriate matching glibc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2017-04-06 22:58 +0200, Toebs Douglass wrote:

> I have read many times the suggestion to use a VM and an old distro;
> this is not viable, as the nature of lock-free is that race conditions
> are a major concern, and so the test machines need to be going flat-out,
> not in a VM.  Moreover, benchmarking on a VM is in many ways inherently
> undesirable.

Perhaps you could use a container like docker or LXC.

If the containers are too heavy, you can also write some shell scripts
wrapping bind mounting and chroot.  For example, we can put glibc
2.22 (shared objects and headers) in ${testenvdir}/rootfs_libc_2.22,
and gcc 6.3.0 in ${testenvdir}/usr_gcc_6.3.0.  Then we can

# mkdir -pv ${testenvdir}/rootfs_libc_2.22/usr
# mount -v --bind ${testenvdir}/usr_gcc_6.3.0 ${testenvdir}/rootfs_libc_2.22/usr
# mount -v --bind ${srcdir} ${testenvdir}/rootfs_libc_2.22/root/srcdir
# chroot ${testenvdir}/rootfs_libc_2.22 /bin/bash
libc_2.22 # cd ~/srcdir
libc_2.22 # make
libc_2.22 # make timing

Using namespaces(7) can make it easier since you may use non-root user
and need not to unmount manually.
-- 
Xi Ruoyao <ryxi@xxxxxxxxxxxxxxxxx>
School of Aerospace Science and Technology, Xidian University




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux