Unaligned stacks on i686-w64-mingw32, may lead to crashes (#7607)

Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>
This commit is contained in:
Christopher Wellons
2023-07-09 20:05:32 -04:00
committed by GitHub
parent 0ad822eb70
commit 8231278817
7 changed files with 18 additions and 71 deletions

View File

@@ -76,6 +76,19 @@
#define WINVER _WIN32_WINNT
#endif
/* See https://github.com/libsdl-org/SDL/pull/7607 */
/* force_align_arg_pointer attribute requires gcc >= 4.2.x. */
#if defined(__clang__)
#define HAVE_FORCE_ALIGN_ARG_POINTER
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
#define HAVE_FORCE_ALIGN_ARG_POINTER
#endif
#if defined(__GNUC__) && defined(__i386__) && defined(HAVE_FORCE_ALIGN_ARG_POINTER)
#define MINGW32_FORCEALIGN __attribute__((force_align_arg_pointer))
#else
#define MINGW32_FORCEALIGN
#endif
#include <windows.h>
#include <basetyps.h> /* for REFIID with broken mingw.org headers */