diff options
author | Matt Fleming <matt.fleming@intel.com> | 2013-01-08 10:14:22 +0000 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2013-01-08 10:37:06 +0000 |
commit | 8789d2689564c13754bac94c8309b0de1e34a42a (patch) | |
tree | 3e9c5a4a6d78ea898063444626388a232f681170 /mk | |
parent | c5f62920d2a8ffba0e9c3282403a8676c6073de5 (diff) | |
download | syslinux-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.mk | 4 |
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,) |