Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rustc: Update LLVM, remove dead wasm code #58408

Merged
merged 2 commits into from
Mar 1, 2019

Conversation

alexcrichton
Copy link
Member

This commit updates the LLVM branch to the rebased version of the
upstream release/8.x branch. This includes a wasm patch which means that
the rewrite_imports pass in rustc is no longer needed (yay!) and we
can instead rely on wasm-import-module, an attribute we're already
emitting, to take care of all the work.

@rust-highfive
Copy link
Collaborator

r? @matthewjasper

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive
Copy link
Collaborator

⚠️ Warning ⚠️

  • These commits modify submodules.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 12, 2019
@cuviper
Copy link
Member

cuviper commented Feb 12, 2019

I suspect you're going to run into the new toolchain requirements on the dist builders, per:
http://lists.llvm.org/pipermail/llvm-dev/2019-February/130117.html

I'm working on that right now for dist-*-linux builders, at least. In the meantime you can set LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN if it is indeed a problem.

@bors
Copy link
Contributor

bors commented Feb 12, 2019

☔ The latest upstream changes (presumably #58341) made this pull request unmergeable. Please resolve the merge conflicts.

@bors
Copy link
Contributor

bors commented Feb 15, 2019

☔ The latest upstream changes (presumably #58406) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton
Copy link
Member Author

ping @matthewjasper, do you think you'll have a chance to take a look at this?

No worries if not, can just r? someone else!

@matthewjasper
Copy link
Contributor

This isn't an area of the code I know much about. Could you r? someone else please.

@Mark-Simulacrum
Copy link
Member

We technically support LLVM 6+ (i.e., that's what the distro LLVM builder in CI uses) -- do we want to continue having the "dead" wasm code?

@alexcrichton
Copy link
Member Author

r? @michaelwoerister

@Mark-Simulacrum we don't support the wasm target on anything other than our in-tree LLVM

@michaelwoerister
Copy link
Member

@bors r+

Thanks, @alexcrichton!

@bors
Copy link
Contributor

bors commented Feb 21, 2019

📌 Commit fcb79008ce14dd8ab729b1e98f0f306b47c0192c has been approved by michaelwoerister

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 21, 2019
@Centril
Copy link
Contributor

Centril commented Feb 22, 2019

Since it has submodule updates, ill use this an inbtw rollup filler, @bors p=1

@Centril
Copy link
Contributor

Centril commented Feb 22, 2019

Apparently bors interpreted this wrongly...

@bors p=1 rollup-

@bors
Copy link
Contributor

bors commented Feb 24, 2019

⌛ Testing commit fcb79008ce14dd8ab729b1e98f0f306b47c0192c with merge a707a104c3fe2fe04958f73922c5f28927ae720d...

@bors
Copy link
Contributor

bors commented Feb 24, 2019

💔 Test failed - status-appveyor

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 24, 2019
@nikic
Copy link
Contributor

nikic commented Feb 24, 2019

CMake Error at cmake/modules/CheckCompilerVersion.cmake:53 (message):
  Host Clang must have at least -fms-compatibility-version=19.00.24213.1,
  your version is 7.0.0.

@kennytm kennytm added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 24, 2019
@bors
Copy link
Contributor

bors commented Feb 25, 2019

☔ The latest upstream changes (presumably #58728) made this pull request unmergeable. Please resolve the merge conflicts.

@rust-highfive
Copy link
Collaborator

The job dist-x86_64-linux of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:01:22] 
[00:01:22] Total download size: 4.9 M
[00:01:22] Downloading Packages:
[00:01:25] --------------------------------------------------------------------------------
[00:01:25] Total                                           1.8 MB/s | 4.9 MB     00:02     
[00:01:25] warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
[00:01:25] Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[00:01:25] Running Transaction Test
[00:01:25] Finished Transaction Test
[00:01:25] Transaction Test Succeeded
[00:01:25] Running Transaction
---
[00:04:09] + hide_output make install
[00:04:09] + set +x
[00:04:30] shared.sh: line 1:   352 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:04:30] + cd ..
[00:04:30] + rm -rf openssl-1.0.2k
[00:04:30] ./build-openssl.sh: line 16:  4115 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"  (wd: /tmp/openssl-1.0.2k)
[00:04:30] + ln -nsf /etc/pki/tls/cert.pem /rustroot/ssl/
[00:04:31]  ---> e4611092b3e7
[00:04:31] Step 14/41 : COPY dist-x86_64-linux/build-curl.sh /tmp/
[00:04:31]  ---> 9beb3533022d
[00:04:31] Step 15/41 : RUN ./build-curl.sh
[00:04:31] Step 15/41 : RUN ./build-curl.sh
[00:04:32]  ---> Running in 53520b60e683
[00:04:32] + source shared.sh
[00:04:32] + VERSION=7.51.0
[00:04:32] + curl http://cool.haxx.se/download/curl-7.51.0.tar.bz2
[00:04:33]   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
[00:04:33]                                  Dload  Upload   Total   Spent    Left  Speed
[00:04:35] 
  0 2509k    0 14215    0     0   9290      0  0:04:36  0:00:01  0:04:35  9290
  0 2509k    0 14215    0     0   9290      0  0:04:36  0:00:01  0:04:35  9290
  4 2509k    4  114k    0     0  61736      0  0:00:41  0:00:01  0:00:40  270k
 91 2509k   91 2288k    0     0   790k      0  0:00:03  0:00:02  0:00:01 1664k
100 2509k  100 2509k    0     0   863k      0  0:00:02  0:00:02 --:--:-- 1811k
[00:04:35] + mkdir curl-build
[00:04:35] + cd curl-build
[00:04:35] + hide_output ../curl-7.51.0/configure --prefix=/rustroot --with-ssl=/rustroot --disable-sspi --disable-gopher --disable-smtp --disable-smb --disable-imap --disable-pop3 --disable-tftp --disable-telnet --disable-manual --disable-dict --disable-rtsp --disable-ldaps --disable-ldap
[00:04:59] + hide_output make -j10
[00:04:59] + set +x
[00:05:13] shared.sh: line 1:    12 Terminated              bash -c "while true; do sleep 30; echo \$(date) - building ...; done"
[00:05:13] + hide_output make install
---
 95 67.8M   95 64.6M    0     0  2230k      0  0:00:31  0:00:29  0:00:02 1120k
 99 67.8M   99 67.4M    0     0  2250k      0  0:00:30  0:00:30 --:--:-- 1541k
100 67.8M  100 67.8M    0     0  2256k      0  0:00:30  0:00:30 --:--:-- 1787k
[00:09:24] + cd gcc-5.5.0
[00:09:24] + sed -i 's|ftp://gcc\.gnu\.org/|http://gcc.gnu.org/|g' ./contrib/download_prerequisites
[00:09:24] --2019-02-28 18:10:50--  http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
[00:09:24] Resolving gcc.gnu.org... 209.132.180.131
[00:09:24] Connecting to gcc.gnu.org|209.132.180.131|:80... connected.
[00:09:24] HTTP request sent, awaiting response... 200 OK
---
[01:17:27]  ---> c2f4aba82a56
[01:17:27] Step 25/41 : RUN ./build-clang.sh
[01:17:28]  ---> Running in 10f097450c17
[01:17:28] + source shared.sh
[01:17:28] + LLVM=llvmorg-8.0.0-rc2
[01:17:28] + mkdir llvm-project
[01:17:28] + cd llvm-project
[01:17:28] + curl -L https://github.com/llvm/llvm-project/archive/llvmorg-8.0.0-rc2.tar.gz
[01:17:28] + tar xzf - --strip-components=1
[01:17:28]                                  Dload  Upload   Total   Spent    Left  Speed
[01:17:28] 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   136    0   136    0     0    453      0 --:--:-- --:--:-- --:--:--   501
---
[01:17:47] + cd clang-build
[01:17:47] + INC=/rustroot/include
[01:17:47] + INC=/rustroot/include:/rustroot/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/include-fixed
[01:17:47] + INC=/rustroot/include:/rustroot/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/include-fixed:/usr/include
[01:17:47] + hide_output cmake ../llvm -DCMAKE_C_COMPILER=/rustroot/bin/gcc -DCMAKE_CXX_COMPILER=/rustroot/bin/g++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/rustroot -DLLVM_TARGETS_TO_BUILD=X86 '-DLLVM_ENABLE_PROJECTS=clang;lld' -DC_INCLUDE_DIRS=/rustroot/include:/rustroot/lib/gcc/x86_64-unknown-linux-gnu/5.5.0/include-fixed:/usr/include
[01:18:17] Thu Feb 28 19:19:43 UTC 2019 - building ...
[01:18:27] + hide_output make -j10
[01:18:27] + set +x
[01:18:57] Thu Feb 28 19:20:23 UTC 2019 - building ...
---
[02:46:10]  ---> 48a3a2e11790
[02:46:10] Step 32/41 : RUN ./build-perl.sh
[02:46:10]  ---> Running in e1203279402a
[02:46:10] + source shared.sh
[02:46:10] + curl https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz
[02:46:10]   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
[02:46:10]                                  Dload  Upload   Total   Spent    Left  Speed
[02:46:11] 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  8 17.0M    8 1485k    0     0  2658k      0  0:00:06 --:--:--  0:00:06 3200k
100 17.0M  100 17.0M    0     0  13.4M      0  0:00:01  0:00:01 --:--:-- 14.5M
[02:46:11] + cd perl-5.28.0
[02:46:11] + CC=gcc
[02:46:11] + CFLAGS='-I /rustroot/include -fgnu89-inline'
[02:46:11] + hide_output ./configure.gnu
[02:46:11] + set +x
[02:46:41] Thu Feb 28 20:48:08 UTC 2019 - building ...
[02:46:54] + hide_output make -j10

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Feb 28, 2019
@alexcrichton
Copy link
Member Author

Docker rebuilt for that container, taking 2.5h, causing a timeout

@bors: retry

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 28, 2019
@cuviper
Copy link
Member

cuviper commented Feb 28, 2019

Why is dist-x86_64-linux rebuilding its docker image? You didn't touch that!

In #58416 this seemed to be a problem too. There it really did need docker updates, of course, but it seemed to take a few tries before they all finally stuck.

@bors
Copy link
Contributor

bors commented Mar 1, 2019

⌛ Testing commit 3206400 with merge 20cfc9d...

bors added a commit that referenced this pull request Mar 1, 2019
rustc: Update LLVM, remove dead wasm code

This commit updates the LLVM branch to the rebased version of the
upstream release/8.x branch. This includes a wasm patch which means that
the `rewrite_imports` pass in rustc is no longer needed (yay!) and we
can instead rely on `wasm-import-module`, an attribute we're already
emitting, to take care of all the work.
@bors
Copy link
Contributor

bors commented Mar 1, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: michaelwoerister
Pushing 20cfc9d to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 1, 2019
@bors bors merged commit 3206400 into rust-lang:master Mar 1, 2019
@alexcrichton alexcrichton deleted the update-llvm branch March 1, 2019 14:59
@alexcrichton
Copy link
Member Author

@cuviper it's probably hashing issues like before, although I won't pretend to know what hashing issues it is...

In any case I'm surprised this landed! I guess we don't actually have all that many toolchains to update

@alexcrichton
Copy link
Member Author

I've opened up #58852 to handle the NetBSD toolchain, will look into Windows next.

alexcrichton added a commit to alexcrichton/rust that referenced this pull request Mar 1, 2019
Originally added in rust-lang#55935 to test build times, this was reverted
in rust-lang#56201 due to a belief that it caused the exit code 259 spurious
errors. We've since learned, however, that the 259 exit code is likely
not related to this image update as we're getting it in a number of
locations now.

VS2017 looks like it may be required to compile LLVm in the near future,
notably discovered by rust-lang#58408 where we attempted to update LLVM.
@alexcrichton
Copy link
Member Author

And #58854 is the attempt for Windows

kennytm added a commit to kennytm/rust that referenced this pull request Mar 2, 2019
…Simulacrum

Update toolchain to build NetBSD release

This allows us to remove the "allow old toolchains" flag we pass to
LLVM, ensuring that we'll be up to date when LLVM needs us to be!

This is a follow-up from rust-lang#58408 where NetBSD was explicitly whitelisted to allow older toolchains.
kennytm added a commit to kennytm/rust that referenced this pull request Mar 11, 2019
…-Simulacrum

appveyor: Use VS2017 for all our images

Originally added in rust-lang#55935 to test build times, this was reverted
in rust-lang#56201 due to a belief that it caused the exit code 259 spurious
errors. We've since learned, however, that the 259 exit code is likely
not related to this image update as we're getting it in a number of
locations now.

VS2017 looks like it may be required to compile LLVm in the near future,
notably discovered by rust-lang#58408 where we attempted to update LLVM.
pietroalbini added a commit to pietroalbini/rust that referenced this pull request Mar 12, 2019
…-Simulacrum

appveyor: Use VS2017 for all our images

Originally added in rust-lang#55935 to test build times, this was reverted
in rust-lang#56201 due to a belief that it caused the exit code 259 spurious
errors. We've since learned, however, that the 259 exit code is likely
not related to this image update as we're getting it in a number of
locations now.

VS2017 looks like it may be required to compile LLVm in the near future,
notably discovered by rust-lang#58408 where we attempted to update LLVM.
kennytm added a commit to kennytm/rust that referenced this pull request Mar 15, 2019
…-Simulacrum

appveyor: Use VS2017 for all our images

Originally added in rust-lang#55935 to test build times, this was reverted
in rust-lang#56201 due to a belief that it caused the exit code 259 spurious
errors. We've since learned, however, that the 259 exit code is likely
not related to this image update as we're getting it in a number of
locations now.

VS2017 looks like it may be required to compile LLVm in the near future,
notably discovered by rust-lang#58408 where we attempted to update LLVM.
kennytm added a commit to kennytm/rust that referenced this pull request Mar 16, 2019
…-Simulacrum

appveyor: Use VS2017 for all our images

Originally added in rust-lang#55935 to test build times, this was reverted
in rust-lang#56201 due to a belief that it caused the exit code 259 spurious
errors. We've since learned, however, that the 259 exit code is likely
not related to this image update as we're getting it in a number of
locations now.

VS2017 looks like it may be required to compile LLVm in the near future,
notably discovered by rust-lang#58408 where we attempted to update LLVM.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants