-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
coreclr build fails when specifying cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE #2014
Comments
What system/OS is this? |
@mikem8361 looks like this comes from our work in ARM unwinding (b61cc2f). Looks like
@dseefeld is this for sourcebuild? What's the impact if so? Or is this more around serviceability or the ability to build like that? |
@hoyosjs Yes. This is for sourcebuild. The impact is that RedHat has requested that we use the local system's libunwind for portable builds. See dotnet/source-build#391 The OS that I'm using to build this is CentOS. |
libunwind/libunwind#187 is starting the process of adding Since this is only needed for the DAC unwind, the solution maybe to either:
|
> • Disable the the DAC Out of Process unwind feature.
This breaks a lot of stack traces that have HelpMethodFrames (fairly common), but it is limited to dotnet-dump/CLRMD on coredumps. Live managed debugging and live SOS debugging under lldb will work fine.
> • Use the local libunwind source for DAC only.
This still breaks the source build because the DAC is still built along with the rest of the runtime. But maybe our source build customers would like it slide (RHEL).
|
I guess the third option would be to revert part of #26082 (to keep our custom oop code) when |
cc @tmds |
Adding @jashook |
So this option is: allow to use the system libunwind, and provide This seems like the most interesting option to me. |
The problem is the functions that _OOP_find_proc_info uses are internal to libunwind. |
@sdmaclea are you still actively pursuing libunwind/libunwind#187? @omajid are you ok with using the packed libunwind until the feature is available as part of system libunwind? |
I have been working on other issues. I can probably look at libunwind/libunwind#187 later this week. |
#39213 restored some of the code which was removed in #26082. It makes it simpler to fix this issue more directly. @mikem8361 has been considering an approach like this... |
Now that PR #39213 is in I was planning to add the rest of the necessary code and build stuff in the next month. It missed today's preview8 snap but it be done in the next week or two. |
I have this coded up and I'm testing. |
Yes, we can use the bundled libunwind until the features are available upstream. |
Fixes issue #dotnet#2014 Adds back ELF unwind info parsing code that has been around since 3.0 so it is fairly well tested. It is conditional on CLR_CMAKE_USE_SYSTEM_LIBUNWIND, otherwise, PAL_VirtualUnwindOutOfProc uses the new libunwind8 _OOP_find_proc_info function.
Fixes issue ##2014 Adds back ELF unwind info parsing code that has been around since 3.0 so it is fairly well tested. It is conditional on CLR_CMAKE_USE_SYSTEM_LIBUNWIND, otherwise, PAL_VirtualUnwindOutOfProc uses the new libunwind8 _OOP_find_proc_info function.
Fixes issue #dotnet#2014 Adds back ELF unwind info parsing code that has been around since 3.0 so it is fairly well tested. It is conditional on CLR_CMAKE_USE_SYSTEM_LIBUNWIND, otherwise, PAL_VirtualUnwindOutOfProc uses the new libunwind8 _OOP_find_proc_info function.
Fixes issue ##2014 Adds back ELF unwind info parsing code that has been around since 3.0 so it is fairly well tested. It is conditional on CLR_CMAKE_USE_SYSTEM_LIBUNWIND, otherwise, PAL_VirtualUnwindOutOfProc uses the new libunwind8 _OOP_find_proc_info function.
When trying to build coreclr using the system version of libunwind, the build fails with the following error:
The text was updated successfully, but these errors were encountered: