|
@@ -101,6 +101,7 @@ endif
|
|
|
ifeq ($(ARCH),x86_64)
|
|
|
GCCVERSION := $(shell $(CC) -dumpversion | cut -f1 -d.)
|
|
|
GCCMINOR := $(shell $(CC) -dumpversion | cut -f2 -d.)
|
|
|
+ USING_CLANG := $(shell $(CC) -v 2>&1 | grep -q 'clang version' && echo clang)
|
|
|
|
|
|
# Rely on GCC MS ABI support?
|
|
|
GCCNEWENOUGH := $(shell ( [ $(GCCVERSION) -gt "4" ] \
|
|
@@ -109,6 +110,8 @@ ifeq ($(ARCH),x86_64)
|
|
|
&& echo 1)
|
|
|
ifeq ($(GCCNEWENOUGH),1)
|
|
|
CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11
|
|
|
+ else ifeq ($(USING_CLANG),clang)
|
|
|
+ CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11
|
|
|
endif
|
|
|
|
|
|
CFLAGS += -mno-red-zone
|
|
@@ -159,7 +162,7 @@ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
|
|
|
else
|
|
|
CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
|
|
|
-fshort-wchar -fno-strict-aliasing \
|
|
|
- -fno-merge-constants -ffreestanding -fno-stack-protector \
|
|
|
+ -fno-merge-all-constants -ffreestanding -fno-stack-protector \
|
|
|
-fno-stack-check
|
|
|
endif
|
|
|
|