aboutsummaryrefslogtreecommitdiffstats
path: root/mk
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2013-01-08 10:14:22 +0000
committerMatt Fleming <matt.fleming@intel.com>2013-01-08 10:37:06 +0000
commit8789d2689564c13754bac94c8309b0de1e34a42a (patch)
tree3e9c5a4a6d78ea898063444626388a232f681170 /mk
parentc5f62920d2a8ffba0e9c3282403a8676c6073de5 (diff)
downloadsyslinux-8789d2689564c13754bac94c8309b0de1e34a42a.tar.gz
syslinux-8789d2689564c13754bac94c8309b0de1e34a42a.tar.xz
syslinux-8789d2689564c13754bac94c8309b0de1e34a42a.zip
mk/embedded.mk: Don't use -mregparm in core
Unfortunately commit 4eb06d95d882 ("mk: Add -fPIC for x86_64 to embedded.mk") left -mregparm enabled when compiling objects in core/, which means that when compiling for i386 those objects are compiled with a different ABI compared with everything else, leading to hangs when booting under 32-bit EFI. We should only enable -mregparm for code that absolutely requires it, such as dos/crt0.S which would need to be re-written to use another ABI. Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'mk')
-rw-r--r--mk/embedded.mk4
1 files changed, 1 insertions, 3 deletions
diff --git a/mk/embedded.mk b/mk/embedded.mk
index ffebe83c..5a7632e9 100644
--- a/mk/embedded.mk
+++ b/mk/embedded.mk
@@ -38,9 +38,7 @@ GCCOPT += $(call gcc_ok,-ffreestanding,)
GCCOPT += $(call gcc_ok,-fno-stack-protector,)
GCCOPT += $(call gcc_ok,-fwrapv,)
GCCOPT += $(call gcc_ok,-freg-struct-return,)
-# FIXME: regparam for i386 and x86_64 could be different
-GCCOPT += -Os -fomit-frame-pointer -mregparm=3 -DREGPARM=3 \
- -msoft-float
+GCCOPT += -Os -fomit-frame-pointer -msoft-float
GCCOPT += $(call gcc_ok,-fno-exceptions,)
GCCOPT += $(call gcc_ok,-fno-asynchronous-unwind-tables,)
GCCOPT += $(call gcc_ok,-fno-strict-aliasing,)