aboutsummaryrefslogtreecommitdiff
path: root/Makefile.main
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.main')
-rw-r--r--Makefile.main11
1 files changed, 10 insertions, 1 deletions
diff --git a/Makefile.main b/Makefile.main
index d71635b..5656cb7 100644
--- a/Makefile.main
+++ b/Makefile.main
@@ -71,8 +71,12 @@ endif
CFLAGS := -fno-strict-aliasing -pie -mbig-endian -m64
CFLAGS += -Wl,--oformat,elf64-powerpc
CFLAGS += -ffixed-r13
-CFLAGS += $(call try-cflag,$(CC),-mabi=elfv1)
CFLAGS += $(call try-cflag,$(CC),-std=gnu11)
+ifeq ($(ELF_ABI_v2),1)
+CFLAGS += $(call try-cflag,$(CC),-mabi=elfv2)
+else
+CFLAGS += $(call try-cflag,$(CC),-mabi=elfv1)
+endif
ifeq ($(SKIBOOT_GCOV),1)
CFLAGS += -fprofile-arcs -ftest-coverage -DSKIBOOT_GCOV=1
@@ -109,6 +113,11 @@ LDRFLAGS=-melf64ppc
#LDFLAGS += -Wl,-v -Wl,-Map,foomap
AFLAGS := -D__ASSEMBLY__ -mbig-endian -m64
+ifeq ($(ELF_ABI_v2),1)
+AFLAGS += $(call try-cflag,$(CC),-mabi=elfv2)
+else
+AFLAGS += $(call try-cflag,$(CC),-mabi=elfv1)
+endif
# Special tool flags:
# Do not use the floating point unit