Commit Graph

69 Commits

Author SHA1 Message Date
Guillaume Gomez 38eb369fa4 Enforce Python 3 as much as possible 2020-04-10 09:09:58 -04:00
Ben Wolsieffer 55bdb61b48 Deduplicate crosstool-ng.sh 2020-03-30 20:09:45 -04:00
Pietro Albini 14da85c68e
ci: move mirrors to https://ci-mirrors.rust-lang.org 2019-11-12 11:06:11 +01:00
bors e66a628227 Auto merge of #65302 - msizanoen1:fix-armv7-segfault, r=alexcrichton
Upgrade GCC to 8.3.0, glibc to 1.17.0 and crosstool-ng to 1.24.0 for dist-armv7-linux

#62896 was caused by the usage of the GCC 5.2.0 toolchain, which was released back in 2015 and may have bugs affecting LLVM 9.
This PR upgrade GCC to 8.3.0 from 5.2.0, glibc from 1.16.0 to 1.17.0 and crosstool-ng to 1.24.0 only for dist-armv7-linux.
Fixes #62896

r? @alexcrichton
2019-10-20 02:06:42 +00:00
Thomas Lively 4b26d9c142 User should not change between emcc install and use 2019-10-16 17:06:48 -07:00
Thomas Lively 2bf59bea48 Upgrade Emscripten targets to use upstream LLVM backend
- Compatible with Emscripten 1.38.46-upstream or later upstream.
 - Refactors the Emscripten target spec to share code with other wasm
   targets.
 - Replaces the old incorrect wasm32 C call ABI with the correct one,
   preserving the old one as wasm32_bindgen_compat for wasm-bindgen
   compatibility.
 - Updates the varargs ABI used by Emscripten and deletes the old one.
 - Removes the obsolete wasm32-experimental-emscripten target.
 - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
2019-10-16 17:06:48 -07:00
qtmlabs 88ea4ff26a Add crosstool-ng 1.24.0 unzip dependency 2019-10-12 12:05:22 +07:00
Tyler Mandry d16b7f705b Revert "Auto merge of #63649 - tlively:emscripten-upstream-upgrade, r=alexcrichton"
This reverts commit 7870050796, reversing
changes made to 2e7244807a.
2019-10-05 21:38:45 -07:00
Thomas Lively 9a55103b98 Upgrade Emscripten targets to use upstream LLVM backend
- Refactors the Emscripten target spec to share code with other wasm
   targets.
 - Replaces the incorrect wasm32 C call ABI with the old asmjs
   version, which is correct for both wasm32 and JS.
 - Updates the varargs ABI used by Emscripten and deletes the old one.
 - Removes the obsolete wasm32-experimental-emscripten target.
 - Temporarily makes Emscripten targets use panic=abort by default
   because supporting unwinding will require an LLVM patch.
2019-10-04 00:47:21 -07:00
Marco A L Barbosa 5941acd80f Use libunwind from llvm-project submodule for musl targets 2019-08-15 08:45:10 -03:00
Pietro Albini eb832b2a32
ci: move mirrors to their standalone bucket
Currently mirrors are stored in the rust-lang-ci2 S3 bucket along with
CI toolchains. This is problematic for multiple reasons:

- CI IAM credentials are allowed to both edit and delete those files.
  A malicious user gaining access to those credentials would be able to
  change our mirrored dependencies, possibly backdooring the compiler.

- Contents of the rust-lang-ci2 bucket are disposable except for the
  mirrors' content. When we implement backups for S3 buckets we'd have
  to replicate just that part of the bucket, complicating the backup
  logic and increasing the chance of mistakes. A standalone bucket will
  be way easier to backup.

This commit switches our CI to use the new rust-lang-ci-mirrors bucket.
2019-08-12 10:31:35 +02:00
bors c06f80a3c6 Auto merge of #61252 - indygreg:upgrade-musl, r=alexcrichton
Update musl to 1.1.22

This is the latest available version. I noticed Rust wasn't using the
latest version when I attempted to have Cargo link object files produced
outside of Cargo / Rust's toolchain and was getting missing symbol
errors. Those missing symbols were added in 1.1.21 and 1.1.22.

I'm not fully sure of the implications of this change or how
comprehensive the test coverage is. Upstream changes in 1.1.21 and
1.1.22 can be found at
https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v1.1.22&id=e97681d6f2c44bf5fa9ecdd30607cb63c780062e#n1989.
2019-06-30 08:42:58 +00:00
bors 041bec87c0 Auto merge of #61300 - indygreg:upgrade-cross-make, r=sanxiyn
Update musl-cross-make to 0.9.8

This version uses musl 1.1.22 and GCC 6.4.0 by default. It also
contains support for newer binutils and GCC versions, should we
want to bump those as well. But I'm purposefully limiting this
patch in order to reduce the surface area for controversy.
2019-05-31 22:16:09 +00:00
Alex Crichton 3eda151086 Update all s3 URLs used on CI with subdomains
Ensure that they're all forwards-compatible with AWS updates happening
next year by ensuring the bucket name shows up in the domain name.

Closes #61168
2019-05-29 07:03:50 -07:00
Gregory Szorc 51b47b8158 Update musl-cross-make to 0.9.8
This version uses musl 1.1.22 and GCC 6.4.0 by default. It also
contains support for newer binutils and GCC versions, should we
want to bump those as well. But I'm purposefully limiting this
patch in order to reduce the surface area for controversy.
2019-05-28 19:30:33 -07:00
Gregory Szorc aaf6698793 Update musl to 1.1.22.
This is the latest available version. I noticed Rust wasn't using the
latest version when I attempted to have Cargo link object files produced
outside of Cargo / Rust's toolchain and was getting missing symbol
errors. Those missing symbols were added in 1.1.21 and 1.1.22.

I'm not fully sure of the implications of this change or how
comprehensive the test coverage is. Upstream changes in 1.1.21 and
1.1.22 can be found at
https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v1.1.22&id=e97681d6f2c44bf5fa9ecdd30607cb63c780062e#n1989.
2019-05-28 09:47:56 -07:00
Mateusz Mikuła 0caa251da2 Conditionally provide cc in musl-toolchain.sh 2019-05-10 16:12:47 +02:00
Mateusz Mikuła f74debbe7d Make tests compatible with musl host 2019-05-10 16:12:47 +02:00
Vadim Petrochenkov 2ae7b0c898 tidy: Fix false positives from long URLs 2019-04-27 20:29:27 +03:00
varkor 7f0f0e31ec Remove double trailing newlines 2019-04-22 16:57:01 +01:00
Pietro Albini 4e920f2b04
ci: use a custom android sdk manager with pinning and mirroring 2019-04-12 22:18:48 +02:00
Pietro Albini d13547a1c6
ci: pin android emulator to 28.0.23 2019-04-07 13:52:33 +02:00
Alex Crichton fcc8b8cef2 ci: Update FreeBSD tarball downloads
These appear to have disappeared from the original server, so I acquired
the contents from a different mirror and uploaded them to our S3 bucket
2019-04-04 11:40:21 -07:00
Mateusz Mikuła c764890d7c musl: build toolchain libs with -fPIC 2019-03-27 18:37:21 +01:00
Mateusz Mikuła 451343e0f3
Fix TARGET variable in musl-toolchain.sh 2019-03-15 01:19:54 +01:00
Mateusz Mikuła f364f483a3 Address final review 2019-03-14 16:55:47 +01:00
Mateusz Mikuła 17464a7b87 Final cleanups 2019-03-13 22:36:22 +01:00
Mateusz Mikuła cbc1ce0b84 Drop copyright notice from musl-toolchain 2019-03-13 22:21:06 +01:00
Mateusz Mikuła cacb3053e8 musl: update LLVM to 7 2019-03-13 22:21:06 +01:00
Martell Malone 52a3311dc9 Address review comments 2019-03-13 22:21:06 +01:00
Jonathan Sieber 3f107fd43a musl-toolchain: fix global lib paths (dont create /lib/libc.so) 2019-03-13 22:21:06 +01:00
Jonathan Sieber 8e2aa524ed Make the musl dynamic loader known to the system, so it can execute target binaries 2019-03-13 22:21:06 +01:00
Jonathan Sieber aecb32ce6e build a proper c++-enabled musl toolchain with musl-cross-make 2019-03-13 22:21:06 +01:00
Pietro Albini 91f328fb55
make sure to accept all android licenses 2019-01-23 11:21:24 +01:00
Mark Rousskov 2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
Michael Woerister 2ec6f340cd Update CI-clang to 7.0.0 for Linux dists. 2018-11-14 17:42:06 +01:00
Nikita Popov ffdb2bc1c5 Update the disabled wasm32 Dockerfile 2018-11-08 16:32:42 +01:00
Nikita Popov 9eb19273a3 Update llvm-emscripten
This updates emscripten to version 1.38.15, which is based on
LLVM 6.0.1.
2018-11-04 18:50:57 +01:00
Adrian Budau 97723db7cf Update musl to 1.1.20. 2018-09-21 17:03:13 +03:00
Matthias Krüger 71120ef1e5 Fix typos found by codespell. 2018-08-19 17:41:28 +02:00
Marco A L Barbosa f969b61bd6 Update musl to 1.1.19 and add patch to fix tls issue 2018-07-05 20:17:57 -03:00
Alec Mocatta 18e9532098
Add --enable-debug flag to musl CI build script
Building for x86_64-unknown-linux-musl currently results in an executable lacking debug information for musl libc itself. If you request a backtrace in GDB while control flow is within musl – including sycalls made by musl – the result looks like:

#0  0x0000000000434b46 in __cp_end ()
#1  0x0000000000432dbd in __syscall_cp_c ()
#2  0x0000000000000000 in ?? ()

i.e. not very helpful. Adding --enable-debug resolves this, and --enable-optimize re-enables optimisations which default to off given the previous flag.
2018-04-10 18:44:47 +01:00
Alex Crichton 64f7e11fc3 Update sccache to its master branch
Ideally I'd like to soon enable sccache for rustbuild itself and some of the
stage0 tools, but for that to work we'll need some better Rust support than the
pretty old version we were previously using!
2018-04-02 12:24:50 -07:00
Marco A L Barbosa 2875f825fd Remove musl/libunwind patch for i686
The i686 problem was fixed upstream:
aa805e415f
2018-01-27 20:57:10 -02:00
Marco A L Barbosa 9b13e40376 Build musl with -fPIC for all targets 2018-01-23 21:39:17 -02:00
Marco A L Barbosa abc1061a65 Use libuwind 6.0 for all musl targets 2018-01-23 14:05:31 -02:00
Marco A L Barbosa 68db72d8cd Do not assume dynamic linking for musl/mips[el] targets
All musl targets except mips[el] assume static linking by default. This
can be confusing
https://users.rust-lang.org/t/static-cross-compiled-binaries-arent-really-static/6084

When the musl/mips[el] targets was
[added](https://github.com/rust-lang/rust/pull/31298), dynamic linking
was chosen because of binary size concerns, and probably also because
libunwind
[didn't](https://users.rust-lang.org/t/static-cross-compiled-binaries-arent-really-static/6084/8)
supported mips.

Now that we have `crt-static` target-feature (the user can choose
dynamic link for musl targets), and libunwind
[6.0](https://github.com/llvm-mirror/libunwind/commits/release_60) add
support to mips, we do not need to assume dynamic linking.
2018-01-22 16:14:51 -02:00
kennytm 0d199d56ea Rollup merge of #47283 - malbarbo:musl-1.1.18, r=alexcrichton
Update musl to 1.1.18

According to http://www.musl-libc.org/download.html:

This release corrects regressions in glob() and armv4t build failure
introduced in the previous release, and includes an important bug fix
for posix_spawnp in the presence of a large PATH environment variable.
2018-01-13 02:26:27 +08:00
Marco A L Barbosa 882cd3cf0b Add i586-unknown-linux-musl target 2018-01-11 15:57:28 -02:00
Marco A L Barbosa b5a3f56f75 Update musl to 1.1.18
According to http://www.musl-libc.org/download.html:

This release corrects regressions in glob() and armv4t build failure
introduced in the previous release, and includes an important bug fix
for posix_spawnp in the presence of a large PATH environment variable.
2018-01-08 21:26:47 -02:00