summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makerules2
-rw-r--r--Rules.mak8
2 files changed, 7 insertions, 3 deletions
diff --git a/Makerules b/Makerules
index d8dd283bc..24d48c77b 100644
--- a/Makerules
+++ b/Makerules
@@ -216,7 +216,7 @@ compile.i = $(call maybe_exec,compile.i)
compile.s = $(call maybe_exec,compile.s)
compile.S = @$(call maybe_exec,compile.S)
compile.m = @$(call maybe_exec,compile.m)
-compile-m = @$(disp_compile-m) ; $(cmd_compile-m) ; $(cmd_t_strip)
+compile-m = @$(disp_compile-m) ; $(cmd_compile-m) && $(cmd_t_strip)
do_strip = @$(disp_strip) ; $(cmd_strip)
do_t_strip= @$(disp_t_strip) ; $(cmd_t_strip)
do_unifdef= @$(disp_unifdef) ; $(cmd_unifdef)
diff --git a/Rules.mak b/Rules.mak
index ea7b5176c..a945eb9d2 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -179,11 +179,15 @@ PIEFLAG_NAME:=-fPIE
ifeq ($(TARGET_ARCH),i386)
OPTIMIZATION+=$(call check_gcc,-fomit-frame-pointer,)
+ifeq ($(CONFIG_386)$(CONFIG_486)$(CONFIG_586)$(CONFIG_586MMX),y)
+ # Non-SSE capable processor.
# NB: this may make SSE insns segfault!
# -O1 -march=pentium3, -Os -msse etc are known to be affected.
- # TODO: conditionally bump to 4
- # (see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685)
+ # See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13685
+ OPTIMIZATION+=$(call check_gcc,-mpreferred-stack-boundary=2,)
+else
OPTIMIZATION+=$(call check_gcc,-mpreferred-stack-boundary=4,)
+endif
# Choice of alignment (please document why!)
# -falign-labels: in-line labels