diff options
| author | jacksonmj <mj-pt@jacksonmj.co.uk> | 2012-01-07 12:34:27 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-14 22:26:26 (GMT) |
| commit | dcac550ef406a24493ac3c6a24804997e2f1bef2 (patch) | |
| tree | 080418942a06d844be69f523c35c886e634acaec | |
| parent | 7f850ad0497f7e9880578522d0b0a1a7ecdefa15 (diff) | |
| download | powder-dcac550ef406a24493ac3c6a24804997e2f1bef2.zip powder-dcac550ef406a24493ac3c6a24804997e2f1bef2.tar.gz | |
Compiler flag for gravity.c, to fix FFTW crash due to misaligned stack on Windows
| -rw-r--r-- | Makefile | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -121,6 +121,11 @@ build/powder-sse3.exe: $(patsubst build/obj/%.o,build/obj/%.powder-sse3.exe.o,$( chmod 0644 $@ build/obj/%.powder-sse3.exe.o: src/%.c $(HEADERS) $(CC) -c $(CFLAGS) -o $@ $< +# Extra compiler flag to fix stack alignment +# When Windows creates the gravity calculation thread, it has 4 byte stack alignment +# But we need 16 byte alignment so that SSE instructions in FFTW work without crashing +build/obj/gravity.powder-sse3.exe.o: src/gravity.c $(HEADERS) + $(CC) -c $(CFLAGS) -mincoming-stack-boundary=2 -o $@ $< build/powder-sse2.exe: $(patsubst build/obj/%.o,build/obj/%.powder-sse2.exe.o,$(OBJS)) $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_OBJS) $(patsubst build/obj/%.o,build/obj/%.powder-sse2.exe.o,$(OBJS)) $(LIBS) -o $@ @@ -128,6 +133,8 @@ build/powder-sse2.exe: $(patsubst build/obj/%.o,build/obj/%.powder-sse2.exe.o,$( chmod 0644 $@ build/obj/%.powder-sse2.exe.o: src/%.c $(HEADERS) $(CC) -c $(CFLAGS) -o $@ $< +build/obj/gravity.powder-sse2.exe.o: src/gravity.c $(HEADERS) + $(CC) -c $(CFLAGS) -mincoming-stack-boundary=2 -o $@ $< build/powder-sse.exe: $(patsubst build/obj/%.o,build/obj/%.powder-sse.exe.o,$(OBJS)) $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_OBJS) $(patsubst build/obj/%.o,build/obj/%.powder-sse.exe.o,$(OBJS)) $(LIBS) -o $@ @@ -135,6 +142,8 @@ build/powder-sse.exe: $(patsubst build/obj/%.o,build/obj/%.powder-sse.exe.o,$(OB chmod 0644 $@ build/obj/%.powder-sse.exe.o: src/%.c $(HEADERS) $(CC) -c $(CFLAGS) -o $@ $< +build/obj/gravity.powder-sse.exe.o: src/gravity.c $(HEADERS) + $(CC) -c $(CFLAGS) -mincoming-stack-boundary=2 -o $@ $< |
