DynamoRIO / DynamoRIO/dynamorio
Support 16-byte stack alignment on 32-bit Windows for MinGW/Cygwin?
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 30
Description
For 32-bit Mac we've always needed 16-byte stack alignment, and for Linux we recently moved to 16-byte to match the ABI change there (#847, #3966, #4200). However, the 32-bit Windows ABI only mandates 4-byte alignment, so we only supply that today. The problem comes up with binaries *not* built by MSVC: binaries built by gcc or clang through MinGW or Cygwin or whatnot that assume 16-byte alignment. Those binaries have their own problems if they pass callbacks to Windows libraries, so maybe all of them use -mstackrealign already? In which case we don't have to do anything.
Filing this just to document the issues. Not planning to proactively do anything in the short term.
Contributor guide
Assessment
This issue has not been assessed yet.