-
Notifications
You must be signed in to change notification settings - Fork 137
Re-enable system libunwind support #1761
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
Conversation
repos/runtime.common.props
Outdated
<!-- coreclr --> | ||
<!-- coreclr build fails when passing this flag after this PR https://github.com/dotnet/coreclr/pull/26082 --> | ||
<!-- <CoreClrBuildArguments Condition="'$(UseSystemLibraries)' == 'true' AND '$(OS)' != 'Windows_NT'">$(CoreClrBuildArguments) cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</CoreClrBuildArguments> --> | ||
<CoreClrBuildArguments Condition="'$(UseSystemLibraries)' == 'true' AND '$(OS)' != 'Windows_NT'">$(CoreClrBuildArguments) cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</CoreClrBuildArguments> |
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.
I'm not sure I've followed these flags closely enough, but should we have a UseSystemLibunwind
we use here rather than UseSystemLibraries
? In 3.1 we have this:
source-build/repos/coreclr.common.props
Line 11 in 2146d2f
<BuildArguments Condition="'$(UseSystemLibunwind)' == 'true' AND '$(OS)' != 'Windows_NT'">$(BuildArguments) cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</BuildArguments> |
Actually, searching latest master
, this is the only place UseSystemLibraries
shows up. 😕 But I also don't see anywhere UseSystemLibunwind
is being set to true
.
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.
Looks like master
is missing this from 3.1:
source-build/Directory.Build.props
Lines 25 to 26 in 32a3fcd
<UseSystemLibraries Condition="'$(UseSystemLibraries)' == '' AND '$(PortableBuild)' != 'true'">true</UseSystemLibraries> | |
<UseSystemLibunwind Condition="'$(UseSystemLibunwind)' == ''">$(UseSystemLibraries)</UseSystemLibunwind> |
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.
Thanks for catching this!
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.
After fixing this, it turns out that system-libunwind is still broken in dotnet/runtime. The singlefilehost doesn't link to the system-libunwind library, resulting in some symbols being undefined when doing the final linking. This will need a fix in dotnet/runtime too.
62a288c
to
19011ba
Compare
This includes a backport of work-in-progress dotnet/runtime#42661 dotnet/runtime#42689 |
19011ba
to
17dc345
Compare
17dc345
to
b83635a
Compare
This includes a backport of dotnet/runtime#42689
b83635a
to
b766e47
Compare
dotnet/runtime#42853 was merged into 5.0, so all this PR needs to do now is set the cmake properties. |
Recent discussion on dotnet/coreclr#26082 suggests this should be working.