This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]