Linux dist: don't include unique symbols in libLLVM#78946
Linux dist: don't include unique symbols in libLLVM#78946bors merged 1 commit intorust-lang:masterfrom
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