This patch implements CET Shadow Stack (Intel Controlflow Enforcement Technology) support on Windows.
Windows support for CET is limited to shadow stack, which is enabled by setting a PE bit in the linker.
Docs:
- MSVC linker flag: https://docs.microsoft.com/en-us/cpp/build/reference/cetcompat?view=vs-2019
- IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT PE bit: https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#extended-dll-characteristics
The constructor should take uint32 instead of unsigned.