X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FMakefile;h=b1111a027fba4ac26752d31a202153a8146092e2;hb=e2eebc0d70de13de6d58e2af89f90ec71e54375c;hp=2319788d6567758c581ebcc383c23a1c917d08ee;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/rts/Makefile b/rts/Makefile index 2319788..b1111a0 100644 --- a/rts/Makefile +++ b/rts/Makefile @@ -301,26 +301,7 @@ endif # Compiling the cmm files # ToDo: should we really include Rts.h here? Required for GNU_ATTRIBUTE(). -SRC_HC_OPTS += \ - -I. \ - -\#include Prelude.h \ - -\#include Rts.h \ - -\#include RtsFlags.h \ - -\#include RtsUtils.h \ - -\#include StgRun.h \ - -\#include Schedule.h \ - -\#include Printer.h \ - -\#include Sanity.h \ - -\#include STM.h \ - -\#include Storage.h \ - -\#include SchedAPI.h \ - -\#include Timer.h \ - -\#include ProfHeap.h \ - -\#include LdvProfile.h \ - -\#include Profiling.h \ - -\#include OSThreads.h \ - -\#include Apply.h \ - -\#include SMP.h +SRC_HC_OPTS += -I. -\#include HCIncludes.h ifeq "$(Windows)" "YES" PrimOps_HC_OPTS += -\#include '' -\#include win32/AsyncIO.h @@ -328,6 +309,11 @@ else PrimOps_HC_OPTS += -\#include posix/Itimer.h endif +# Otherwise the stack-smash handler gets triggered. +ifeq "$(TargetOS_CPP)" "openbsd" +SRC_HC_OPTS += -optc-fno-stack-protector +endif + # -O3 helps unroll some loops (especially in copy() with a constant argument). # -fno-strict-aliasing is a hack because we often mix StgPtr and StgClosure pointers # to the same object, and gcc will assume these don't alias. eg. it happens in