-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Linux dist: don't include unique symbols in libLLVM #78946
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
Can I get a try build? Do we need to do something similar on other Linux targets? We don't build libstdc++ for every target today, just using the system-supplied one. Building a custom version seems like a lot of effort and maintenance headache going forward, if we need a multi-platform solution I'd advocate for using LLVM's libcxx or option #2. |
AFAIK only the x86_64-unknown-linux-gnu target on master today has LLVM built as a dylib (everything else statically links it). I believe we determined that a static link doesn't have this problem so we don't currently need to do this elsewhere? |
@bors try |
⌛ Trying commit d2ad472 with merge 7190d347441d18c5139f2301983961b062af5aa1... |
For testing, need to run |
Hm, it's hard -- we don't run tests on dist builders usually. I guess we could start a new testsuite for dist builders. cc @pietroalbini on dist tests |
I think the llvm.link_shared config.toml option controls this, but I can't find that it's set to true anywhere for the Linux dist builder? |
ThinLTO, set https://github.com/rust-lang/rust/blob/master/src/ci/docker/host-x86_64/dist-x86_64-linux/Dockerfile#L98, implies shared linking currently. |
☀️ Try build successful - checks-actions |
Confirmed that the try build doesn't reproduce https://github.com/Mark-Simulacrum/rust-issue-76980 |
Ok, sounds good. I'm going to go ahead and r+ this -- I think it's the right fix and I want to get nightly fixed -- we can figure out how to test it in a follow-up PR. Thinking a bit more, I think we can enable ThinLTO on one of the test builders and just add the nm commands as a run-make test -- does that sound plausible to you @jethrogb? @bors r+ |
📌 Commit d2ad472 has been approved by |
@bors rollup=never p=1 |
I don't think so because I assume the test builders don't use our custom libstdc++? And I also want to guard against future changes in e.g. the Dockerfile/GCC upgrades messing up the dist build accidentally. |
Right, I was saying that we would try to match the configuration on linux dist builder on a test builder. |
0k
…On Wed, 11 Nov 2020, 21:13 Mark Rousskov, ***@***.***> wrote:
Right, I was saying that we would try to match the configuration on linux
dist builder on a test builder.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#78946 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/APOQON44LVDHBE3FLYDMLCLSPLELRANCNFSM4TSAKKPA>
.
|
Oh I see. I think that's a little more involved than just "enabling thinlto". We can try that, basically reusing the Dockerfile? I have a couple of concerns:
|
GCC and clang builds are docker-cached, so they don't really affect our time budget that much. We bounce anyway when those get invalidated I believe. It's a good question -- I'm not sure if we can run the whole test suite. Maybe a starting goal is to see if we can add e.g. |
☀️ Test successful - checks-actions |
Fixes #76980