Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[build] Conditionalise use of -mabi=lp64 for ARM64 builds
The -mabi option was added in GCC 4.9.  Test for the existence of this
option to allow for building with earlier versions of GCC.

Reported-by: Benjamin S. Allen <bsallen@alcf.anl.gov>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
  • Loading branch information
mcb30 committed Jul 28, 2017
1 parent 9ccd8fe commit b6fc8be
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion src/arch/arm64/Makefile
Expand Up @@ -4,10 +4,21 @@ SRCDIRS += arch/arm64/core

# ARM64-specific flags
#
CFLAGS += -mabi=lp64 -mlittle-endian -mcmodel=small
CFLAGS += -mlittle-endian -mcmodel=small
CFLAGS += -fomit-frame-pointer
ASFLAGS += -mabi=lp64 -EL

# We want to specify the LP64 model. There is an explicit -mabi=lp64
# on GCC 4.9 and later, and no guarantee as to which is the default
# model. In earlier versions of GCC, there is no -mabi option and the
# default appears to be LP64 anyway.
#
ifeq ($(CCTYPE),gcc)
LP64_TEST = $(CC) -mabi=lp64 -x c -c /dev/null -o /dev/null >/dev/null 2>&1
LP64_FLAGS := $(shell $(LP64_TEST) && $(ECHO) '-mabi=lp64')
WORKAROUND_CFLAGS += $(LP64_FLAGS)
endif

# EFI requires -fshort-wchar, and nothing else currently uses wchar_t
#
CFLAGS += -fshort-wchar
Expand Down

0 comments on commit b6fc8be

Please sign in to comment.