about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-09-16 02:26:01 +0000
committerbors <bors@rust-lang.org>2014-09-16 02:26:01 +0000
commitf8426e2e21f1baa0cbb9775eeef1061773103a28 (patch)
tree410086af33029cb3bdc78df3efd624de2f2d1b92 /src
parent63eaba24d6a7f93061d63337ea1f7083ca892787 (diff)
parentba0c100f3b544a03f4b0d9f597ad048fbab1b926 (diff)
downloadrust-f8426e2e21f1baa0cbb9775eeef1061773103a28.tar.gz
rust-f8426e2e21f1baa0cbb9775eeef1061773103a28.zip
auto merge of #17288 : alexcrichton/rust/change-snap, r=brson
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
Diffstat (limited to 'src')
-rw-r--r--src/snapshots.txt2
1 files changed, 1 insertions, 1 deletions
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