-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Reduce CoreCLR PAL #76832
Reduce CoreCLR PAL #76832
Conversation
Remove unused functionality from the CoreCLR PAL. Also replace the `DeleteFile` by standard `remove` function.
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!
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.
This introduced a build break in Mono:
I am going to revert this PR. |
Why didn't CI pick up the build breakage ? |
@vargaz, the change path evaluation (responsible for triggering CI legs) is missing runtime/eng/pipelines/common/evaluate-default-paths.yml Lines 61 to 62 in 3435b39
Since mono desktop depend on coreclr PAL (for corehost), I think we should add those paths in the list which affects mono. Docs: runtime/eng/pipelines/evaluate-changed-paths.sh Lines 1 to 18 in 3435b39
cc @akoeplinger |
It is more directories than that: https://github.com/dotnet/runtime/blob/main/src/mono/dlls/mscordbi/CMakeLists.txt#L31-L43 |
Ouch, I had no idea that anything in mono uses coreclr PAL. |
Agreed. That seems wrong. Shared code really needs to be moved up to @jkotas Was it just |
I think there is larger problem with how the ICorDebug Mono implementation is factored. The first questions to ask would be where it is used and how it is tested and where we want to move it going forward, and only then worry about mechanics.
The build break error was just about putenv, but I do not know whether there is more hiding behind it. |
I'll try to build Mono and see if anything else breaks. The |
I have tried to build mono locally off my branch and it all passed. @jkotas can you point me to the job that has failed with that error? |
@janvorli you need to build the |
@akoeplinger I have tried that too before and it succeeded. However, it seems it doesn't build anything native. I've even tried a clean build. |
I have discovered some unused functions in the coreclr PAL. So I have removed it from the PAL and also removed some unused stuf from the coreclr that I have found along the way.
I have also replace the
DeleteFile
by standardremove
function.The
CreatePipe
is not used by any code using the PAL except for the PAL tests. But I had to keep it topreserve
CreateProcess
tests without refactoring. So I have at least removed it from the pal.h to prevent future usage.I have also modified couple of PAL tests to get rid of
SetEndOfFile
API usage that was removed for tests where it made sense to preserve them.