-
Notifications
You must be signed in to change notification settings - Fork 6.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
[safetyhook] new port #43983
base: master
Are you sure you want to change the base?
[safetyhook] new port #43983
Conversation
Co-authored-by: aixxe <[email protected]>
@microsoft-github-policy-service agree |
Co-authored-by: aixxe <[email protected]>
Co-authored-by: aixxe <[email protected]>
"description": "C++23 procedure hooking library.", | ||
"homepage": "https://github.com/cursey/safetyhook", | ||
"license": "BSL-1.0", | ||
"supports": "(windows | linux) & !arm & !uwp", |
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.
Does the upstream clearly indicate that arm and uwp are not supported? Can you explain it?
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.
Only 32-bit and 64-bit x86 are explicitly supported in this header. It's also mentioned in the README.md
, although this is slightly out of date as there is support for Linux now.
From a brief search of UWP + the functions in the CI error log, it seems like SEH isn't possible under it, which the project uses for thread trapping. Admittedly, I'm not familiar with using/building UWP applications, so I can't say for certain.
D:\b\safetyhook\src\v0.6.4-e3cea2541a.clean\src\os.windows.cpp(101): error C3861: 'IsBadReadPtr': identifier not found
D:\b\safetyhook\src\v0.6.4-e3cea2541a.clean\src\os.windows.cpp(105): error C3861: 'IsBadWritePtr': identifier not found
D:\b\safetyhook\src\v0.6.4-e3cea2541a.clean\src\os.windows.cpp(171): error C3861: 'AddVectoredExceptionHandler': identifier not found
D:\b\safetyhook\src\v0.6.4-e3cea2541a.clean\src\os.windows.cpp(174): error C3861: 'RemoveVectoredExceptionHandler': identifier not found
Found similar build errors in Catch2 here: catchorg/Catch2#1020
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.
Yes, I also found this problem when searching, and an upstream member replied to fix this problem, so I'm not sure if it's not supported by uwp.
Is there anything I can do to fix the x64 Linux build? I'm able to build it locally with GCC v14.2, but the CI runner appears to be using v11.4 and I don't think
|
find_package
calls are REQUIRED, are satisfied byvcpkg.json
's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx.vcpkg.json
matches what upstream says.vcpkg.json
matches what upstream says../vcpkg x-add-version --all
and committing the result.