Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upUpdate compiler-rt for Windows fixes #29478
Conversation
rust-highfive
assigned
alexcrichton
Oct 30, 2015
This comment has been minimized.
This comment has been minimized.
|
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
This comment has been minimized.
This comment has been minimized.
|
Pull request on |
This comment has been minimized.
This comment has been minimized.
|
Don't merge yet, doesn't fix Windows MSVC |
This comment has been minimized.
This comment has been minimized.
|
Thanks for the quick update! I'd like to make sure we add regression tests if possible, however, to ensure that this doesn't happen again. For the MinGW case I discovered that it's related to linking in C++ code, so could you also add a // foo.cpp
extern "C" void foo() {
int *a = new int(3);
delete a;
}extern { fn foo(); }
fn main() {
unsafe { foo(); }
}
|
This comment has been minimized.
This comment has been minimized.
|
OK, after further investigation about libcmt/msvcrt, it looks like this was just working by luck beforehand. A few of the objects compiled in that test were not compiled with This brings up the interesting question, however, of how these files should be compiled. It looks like the MSVC build of compiler-rt may not be quite ready just yet? I would expect it to compile to a library that actually has 0 dependencies, but it looks like it even depends on symbols like I'm not entirely sure what compiler-rt is doing, but it seems like we're pulling in more than we may want. |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
Updated. @alexcrichton |
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Nov 3, 2015
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
Fixed for proper MinGW-only detection. @alexcrichton |
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Nov 4, 2015
This comment has been minimized.
This comment has been minimized.
bors
merged commit 9fe4e96
into
rust-lang:master
Nov 4, 2015
This comment has been minimized.
This comment has been minimized.
|
Does anybody know, what happened to @vhbit's SjLj fix introduced in rust-lang/compiler-rt@df1e1ca? I don't see any of that stuff in the current compiler-rt branch. Was this change deemed unnecessary? |
This comment has been minimized.
This comment has been minimized.
|
@vadimcn It seems like LLVM upstream incorporated something like @vhbit's changes, so I didn't port that change over. Not sure if it works though, I have no way to test. |
This comment has been minimized.
This comment has been minimized.
|
@vadimcn thanks for bringing this up!
nope. As I can see from link you've provided LLVM has just different names of function depending on conditional, while my code has also different handling which is crucial. I'd be happy if those changes are kept otherwise iOS support will be broken. |
This comment has been minimized.
This comment has been minimized.
|
@vhbit OK, I cherry-picked your changes. Can you help me see if it looks correct? Are there any other fixes I should port? ping: @vadimcn as well |
This comment has been minimized.
This comment has been minimized.
|
@angelsl: Can you please rebase on top of the current master? I wanted to pick up the recently added _alloca functions. @vhbit: If these changes are not Rust-specific, we should upstream them to prevent this kind of thing in the future. |
angelsl commentedOct 30, 2015
r? @alexcrichton