-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Add cross-platform memory map abstraction and use it in libfuzzer. #21083
base: master
Are you sure you want to change the base?
Conversation
Note for reviewers, I removed I think that is better handled by two separate types: (1) |
Checks are failing for Linux due to non-native operating systems: WASI and Windows. I've been testing with WASI is a simple matter of producing a compile error when it is attempted to be used while targeting WASI. WebAssembly/WASI#304 Windows seems to be a Wine specific issue since it passes on my Windows development machine and CI reports success on Windows. I need to get Wine testing working on my Linux development machine. Moving to draft until I can resolve those. I'll fork this branch to a non-PR one so that I can not waste your CI resources while working on that. |
These functions are wrappers over NtDll's `NtCreateSection` and `NtMapViewOfSection`. They convert Zig-native ergonomics into calls to the wrapped functions.
This new type provides a cross platform memory mapping API which encompasses the common subset of both POSIX and Windows APIs.
CI failed for aarch64 MacOS Release only (Debug passed). The error message was saying something about a missing feature. That makes me think it is unrelated to my changes. This branch was several commits behind master. I rebased onto the latest master in the hopes of resolving the CI issue. In any case, I do not have access to a MacOS aarch64 machine to test it locally. |
The CI failures appear spurious and unrelated to the changes here. This time it is on a different OS panicking on a debug assertion in a totally unrelated part of code:
I don't see how this patchset could even cause a regression inside the compiler since the newly added standard library APIs are not used in the compiler. |
This is a collection of commits working towards both #20987 and #20803. They implement the following:
extern
definitions forCreateFileMapping
andMapViewOfFile
.seen_pcs
field.There is still work that needs to happen for both of those issues.