Update illumos cross rootfs to fix CoreCLR PAL test#14978
Update illumos cross rootfs to fix CoreCLR PAL test#14978akoeplinger merged 2 commits intodotnet:mainfrom
Conversation
Currently the script uses an illumos sysroot from 2018 while downloading the latest available packages from pkgsrc. These packages are currently built on a newer illumos from 2021 that supports GCC's stack protector. When using this rootfs to build, we get error like this: > .tools/rootfs/x64/x86_64-sun-solaris2.10/bin/ld: .tools/rootfs/x64/lib/libz.so: undefined reference to '__stack_chk_fail@ILLUMOS_0.37' This fixes the mismatch by using an older set of packages from 2019.
This fixes the paltest exception_handling/pal_sxs/test1. It was crashing when throwing the PAL_SEHException. The C++ runtime was able to find EH data for ThrowExceptionHelper but not for FailingFunction. These versions match the versions used in OpenIndiana currently.
|
Assuming you tested it by deleting the existing |
|
I did most of testing in a non containerized build. I ran the PAL tests and the System.Runtime.Tests from libraries. I also confirmed that I can build the pal tests in container. I used the following steps: First build the rootfs on my Ubuntu 22.04 machine: Then I put this Dockerfile in .tools/ : FROM mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-cross-illumos
RUN rm -r /crossrootfs/
COPY rootfs/x64 /crossrootfs/x64Built my own image from the .tools directory: docker build . -t austin-cross-illumosThen used my new image to build the paltests from the root of the runtime repo: These PAL tests passed on OpenIndiana (save the tests that were failing before this change: paltest_vsnprintf_test4 and paltest_duplicatehandle_test7). |
|
Thank you! I think this is enough for testing. |
I can answer that. We have several versions of clang delivered on OmniOS and OpenIndiana (OI). Notably "lldb" is missing (I'm working on that as I have time). |
Yup that's one of the main attraction since libSOS gdb support is primarily/untested (dotnet/diagnostics#272 (comment)). |
|
Looks like you should squash. Otherwise LGTM. I don't see a "review" button... |
|
Squash is enabled on merge for maintainers. None of us work for Microsoft (maintainers of github.com/dotnet). |
|
cc @akoeplinger |
|
Thank you! |
Each commit description contains details about the changes; here is a summary:
PAL_SEHExceptionin the CoreCLR PAL testpaltest_pal_sxs_test1. These versions match those used in OpenIndiana 2024.04.These commits are extract from dotnet/runtime#105207
Contributes to dotnet/runtime#35362
CC @am11 @gwr