-
Notifications
You must be signed in to change notification settings - Fork 10.4k
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
Mark start/stop sections as SHF_GNU_RETAIN #67476
Conversation
@swift-ci Please test Linux platform |
@swift-ci build toolchain |
we might have to test with swiftlang/swift-driver#1402 to be 100% sure this is working |
Please test with following pull request: @swift-ci Please test Linux platform |
3821f7c
to
c09b07b
Compare
Hrm our jobs failed but I don't think it's related to this, but the issues from this in the past were subtle so it could be |
@swift-ci Please test Linux platform |
I believe this is the relevant part of the log:
|
This is failing when bootstrapping: my guess is that something about this attribute is making the bootstrap1 compiler crash, as the bootstrap0 compiler works fine on the linux CI. The difference is that the bootstrap1 compiler links against the Swift stdlib that you're modifying here, while the bootstrap0 compiler doesn't. Is this working for you locally? |
It works for me locally but I'm not bootstrapping, I'll try that flow! |
Doesn't fail for me with this command either:
|
trying with the command from CI:
|
Does adding |
🙃 I can try without that, I added that to avoid a different issue originally:
|
I don't think it disables bootstrapping because I see this in the output:
but I will try without it anyways |
This should be fixed by #65534, if you update to latest trunk or apply that patch to your checkout. |
You can check by running something like this on your build: > readelf -d build/Ninja-Release/swift-linux-x86_64/bootstrapping1/bin/swift-frontend | grep libswiftCore |
Locally this one still passes (even without that patch):
The CI command is still running |
I'm not sure exactly what you see as the difference here but I see:
In this case |
Interestingly the CI command fails with:
But maybe that's because i'm using not the system python in this case so I'll try to remove that and build again |
Are you doing clean rebuilds locally? The final thing to try would be to remove your |
Yea I guess the reason I'm using lld is because the bug only surfaces with that, so if it does end up passing with gold (after that crash is resolved) I'm not sure we'd be validating the change actually works |
In this case my builds were clean yes (I passed a new build-subdir) (although I am using sccache) |
The problem is that this pull is currently crashing the linux CI with gold, so you'll have to fix that first to ever have a hope of getting this in. |
Please test with following pull request: @swift-ci Please test Linux platform |
Anything change recently that should make this work? |
I don't know but I'm going to work on a similar issue for wasm, so I'd like to know the latest status of the fix. |
I believe the current issue is that there is some other place not covered by this change where these sections are created as well, and we need to flip this option in that place as well. That's just an assumption but the current result is ld.gold crashes I assume because of that mismatch |
@etcwilde you might be interested in this, I feel like it's close but haven't had the time to dig into it more |
Just FYI: I'm doing some experiments on #71373 |
Fixes swiftlang/swift-package-manager#5698
Fixes #60406