aboutsummaryrefslogtreecommitdiffstats
path: root/win32
diff options
context:
space:
mode:
authorShao Miller <sha0.miller@gmail.com>2012-10-11 11:59:37 -0400
committerMatt Fleming <matt.fleming@intel.com>2012-10-11 21:09:45 +0100
commit7d9ee65cc9577eb69782a49a34895ae80820e9ff (patch)
tree4de1c346fa606b9a2ea1470d90a6f43759257e30 /win32
parent49bb31df33589a9bff1e7505acfe5ff7a37caf64 (diff)
downloadsyslinux-7d9ee65cc9577eb69782a49a34895ae80820e9ff.tar.gz
syslinux-7d9ee65cc9577eb69782a49a34895ae80820e9ff.tar.xz
syslinux-7d9ee65cc9577eb69782a49a34895ae80820e9ff.zip
win: Add -mno-ms-bitfields
Recent MinGW GCCs now have -mms-bitfields on by default, but it appears to break our intentions with __attribute__((packed)). See GCC bug 52991, http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991 The undesired behaviour was noticed when the win32 installer had troubles identifying the media type field of a boot sector. Signed-off-by: Shao Miller <sha0.miller@gmail.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'win32')
-rw-r--r--win32/Makefile7
1 files changed, 4 insertions, 3 deletions
diff --git a/win32/Makefile b/win32/Makefile
index f960998a..ef5edac1 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -22,7 +22,8 @@ OSTYPE = $(shell uname -msr)
ifeq ($(findstring CYGWIN,$(OSTYPE)),CYGWIN)
## Compiling on Cygwin
WINPREFIX :=
-WINCFLAGS := -mno-cygwin $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64
+WINCFLAGS := -mno-cygwin -mno-ms-bitfields $(GCCWARN) -Os \
+ -fomit-frame-pointer -D_FILE_OFFSET_BITS=64
WINLDFLAGS := -mno-cygwin -Os -s
else
## Compiling on some variant of MinGW
@@ -31,8 +32,8 @@ WINPREFIX :=
else
WINPREFIX := $(shell ./find-mingw32.sh gcc)
endif
-WINCFLAGS := $(GCCWARN) -Wno-sign-compare -Os -fomit-frame-pointer \
- -D_FILE_OFFSET_BITS=64
+WINCFLAGS := -mno-ms-bitfields $(GCCWARN) -Wno-sign-compare -Os \
+ -fomit-frame-pointer -D_FILE_OFFSET_BITS=64
WINLDFLAGS := -Os -s
endif
WINCFLAGS += -I. -I../win -I.. -I../libfat -I../libinstaller \