DynamoRIO / DynamoRIO/dynamorio

Support 16-byte stack alignment on 32-bit Windows for MinGW/Cygwin?

Open
#4,267 0 comments 0 reactions 0 assignees View on GitHub
help wanted OpSys-Windows
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.