building every released version of GCC starting with 4.1.2, with appropriate matching glibc
Xi Ruoyao
ryxi@stu.xidian.edu.cn
Sat Apr 8 13:04:00 GMT 2017
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@stu.xidian.edu.cn>
School of Aerospace Science and Technology, Xidian University
More information about the Libc-help
mailing list