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 upFails to build against llvm 3.6 rc1 #21512
Comments
kmcallister
added
A-LLVM
A-build
labels
Jan 23, 2015
This comment has been minimized.
This comment has been minimized.
|
The embedded fork is stuck somewhere between 3.5 and 3.6. I managed to rebase it without too many issues at https://github.com/lucab/llvm/tree/lucab/rust-llvm-3.6.0rc1. On the other hand, rustllvm needs some facelifting, as there have been at least the following breaking changes in the middle:
|
This comment has been minimized.
This comment has been minimized.
|
On the bright side, our current delta to 3.6.0rc1 is:
|
This comment has been minimized.
This comment has been minimized.
|
FYI: I've been looking into the metadata/value split issue since that mostly affects debuginfo. Also, the |
This comment has been minimized.
This comment has been minimized.
|
I started poking at this, and then successfully nerdsniped Alex into having another look. Our (mostly his) work so far is here if you want a starting point: https://github.com/alexcrichton/rust/tree/update-llvm |
This comment has been minimized.
This comment has been minimized.
|
Let's pull @alexcrichton into the discussion. |
This comment has been minimized.
This comment has been minimized.
|
This looks very similar to what I've done, naturally. But just following the metadata split will make it impossible to support both 3.5 and 3.6. I plan to solve this problem by providing a more abstract API for declaring local variables in debuginfo and implement a bit more logic |
This comment has been minimized.
This comment has been minimized.
|
For reference, here is the branch I'm working on: It only concerns itself with the metadata/debuginfo changes. |
This comment has been minimized.
This comment has been minimized.
A different approach would be to add a version suffix to the wrapped API functions, as in
That way we would not have to put logic into the wrapper. |
This comment has been minimized.
This comment has been minimized.
|
Hm, I'm getting strange runtime errors from code compiled with
|
This comment has been minimized.
This comment has been minimized.
|
PR #21588 fixes this issue. |
This comment has been minimized.
This comment has been minimized.
|
@sylvestre Thanks! I will now focus on making everything compile with LLVM 3.5 and 3.6. Then everything should just work if the above issue gets fixed in a 3.5.2 release. |
This comment has been minimized.
This comment has been minimized.
|
@michaelwoerister Feel free to cherry-pick the commits from that PR in your queue. It was not merged at that point as 3.5.1 won't work anyway. However, if we manage to get the fixes into a 3.5.2 and you are touching rustllvm anyway, I think it makes sense to include them and hope for the best. |
This comment has been minimized.
This comment has been minimized.
|
Is there context for why we want to support llvm 3.5 and 3.6? Not saying we shouldn't, but I am curious why it's an explicit goal. On Thu, Jan 29, 2015 at 2:28 PM, Luca Bruno notifications@github.com
|
This comment has been minimized.
This comment has been minimized.
|
@richo discussion at http://internals.rust-lang.org/t/targeted-llvm-for-1-0/1371 Maybe not an explicit goal, but it looks like there was general interest. That made me try, and I've document in the related bugs all the shortcomings. |
This comment has been minimized.
This comment has been minimized.
|
We're building against 3.6 by now. |
sylvestre commentedJan 22, 2015
With the following error: