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
WIP working llvm-90 #5389
WIP working llvm-90 #5389
Conversation
Obsoleted clang-80 component. Publishing fixes. Makefile modernization. |
Firefox should be rebuild (#5394) after this one is merged. |
Any chance to leave clang-80 for now?
…On 11/12/19, Michal Nowak ***@***.***> wrote:
Firefox should be rebuild
(#5394) after this one is
merged.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
#5389 (comment)
--
---
Praise the Caffeine embeddings
|
@Toasterson rust 1.37 (https://github.com/Toasterson/oi-userland/commits/rust-137) fails to build for me with this LLVM:
Any ideas? |
Sure. Any specific reason? In the past we shipped only on LLVM/Clang conponent. |
@Mno-hime edit: sorry just saw that it is trying with the external llvm. This has not been updated before trying clang. So you probably need patches from pkgsrc and other stuff. |
I use clang-80 for scientific computing projects (also scanbuild etc..) so if you remove the shared libs this is an issue for me. I am a real consumer of the compiler. |
I see, sorry about that, clang-80 is back. |
I see thanks. |
This builds for me, perhaps we can merge and start working on newer Rust? |
I would say so. |
Is something still missing other than an LGTM from me? (it's my pr so i can't review via Github) |
Please, look through existing patches.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, add missing patches from current clang.
rust is not building for me because a of missing shared llvm libs, e.g. libLLVM-[789].so |
@cgrzemba This PR provides these libraries:
But still I can't build Rust (of any version) with it:
|
@Mno-hime which rust version are you trying to build? according to the Error Rust stumbles over an API change in libLTO (LLVM) our currently used version 1.32 will not build we will need to build at least 1.39 or later. |
@Toasterson I think that was 1.32.0 (the one we already ship), the point of the exercise is to see if the updated LLVM 9.0 is able to build the Rust we already have and then move to newer Rust versions. I identified rust-lang/rust@04304fc as a way to pass this error. But that leads to another errors: https://paste.ec/paste/OOXJGm3p#tDKt0dlKIhadlj+E7C846jM7FuzJl1Jm3YZQ1v1E3wz. Maybe we should fix LLVM 8.0 instead and build Rust with it. |
Knowing Rust and LLVM the API's both use are not stable at all. So you will need a version of Rust that is compatible with this exact version of LLVM. My guess is 1.32 is not compatible. LLVM does not help us here.... The Request that set off this rabbit hole was from @jclulow . He and others want to get rust into illumos directly so that components of illumos can be written in rust. And that was for rust current. I would skip 1.32 it's too old to be worth it. |
CmdArgs.push_back(II.getFilename()); | ||
|
||
- const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("as")); | ||
+ const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("gas")); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just curious, SPARC uses GNU as now? All IX86 targets supported by clang have long since used the integrated assembler, this statement has no effect as a result
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps, this can be dropped, but this needs some testing.
This and newer Firefox, about which I am currently more interested in.
Well, yes, I just hoped for a base line to see if we got the LLVM side right... I tried many other Rust versions up to 1.40.0 and all of them died somewhere. Some of them, I think telling me my local Rust did not support this or that construct of the Rust I was building... This is so hopeless that I seriously consider reading the rustc development manual :). |
Yes you also need the correct rust to bootstrap the correct rust. |
Seems to be fine, why can't we merge it? |
I think we can. But technically you request changes to this PR down here :). |
@Toasterson Test results are missing |
I'll merge this when check FF rebuild. |
clang 9.0.1 is available |
Have to update test results. |
Thanks for the work much appreciated. |
This is a compiling version of LLVM and clang 9 analogous to pkgsrc with patches from pkgsrc
Building this on my build system takes 12 hours!!! I would thus be glad if somebody could take over polishing this.
The option CMAKE_OPTIONS += -DLLVM_LINK_LLVM_DYLIB=ON does not work for us although it seems to wotk for pkgsrc libLTO does not want to link. It is optional as shared libraries are still generated without it but all shrared libraries are not linked against one another but rather statically linked. Which makes them slightly bigger but it at least compiles.
@Mno-hime I have built without ninja as it made no difference in the end result. Feel free to add it again if you want.