From ba0c100f3b544a03f4b0d9f597ad048fbab1b926 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 15 Sep 2014 11:17:00 -0700 Subject: [PATCH] Change the last linux 64-bit snapshot I'm rotating in some CentOS 5.10 bots so we *actually* build on Linux 2.6.18 like we advertise doing so. Currently the snapshots are incompatible with CentOS 5.10 due to snapshots requiring glibc 2.6 and CentOS 5.10 having glibc 2.5. It turns out that rustc only requires *one* symbol from glibc 2.6, which is `futimens`. The rust distribution itself does not use this symbol, but LLVM conditionally detects it and then uses it. This symbol isn't even called as part of the compilation process, so we don't even need it! The new snapshot was generated following these instructions [1]: 1. Download the current x86_64 linux snapshot and unpack it. 2. Open the rustc binary in a hex editor. 3. Change the linkage against glibc 2.6 from strong to *weak* 4. Write changes and re-run src/etc/make-snapshot.py 5. Upload new tarball to S3 On CentOS 5.10 a warning is printed each time the snapshot runs that the symbol cannot be found (anyone with glibc 2.6+ does not have this warning printed). The key part is that we can *bootstrap* on CentOS 5.10 at this point. The next snapshot will be naturally compatible with glibc 2.3 (even older!) and will not need to be manually edited. [1]: http://jamesbond3142.no-ip.org/wiki/wiki.cgi/NewAppsOnOldGlibc --- src/snapshots.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/snapshots.txt b/src/snapshots.txt index 300a9f9eb49..d2a1fd11597 100644 --- a/src/snapshots.txt +++ b/src/snapshots.txt @@ -1,7 +1,7 @@ S 2014-09-10 6faa4f3 winnt-x86_64 939eb546469cb936441cff3b6f2478f562f77c46 winnt-i386 cfe4f8b519bb9d62588f9310a8f94bc919d5423b - linux-x86_64 72c92895fa9a1dba7880073f2b2b5d0e3e1a2ab6 + linux-x86_64 40e2ab1b67d0a2859f7da15e13bfd2748b50f0c7 linux-i386 6f5464c9ab191d93bfea0894ca7c6f90c3506f2b freebsd-x86_64 648f35800ba98f1121d418b6d0c13c63b7a8951b macos-i386 545fc45a0071142714639c6be377e6d308c3a4e1 -- 2.44.0