|
@@ -122,12 +122,22 @@ cflags-y += -ffreestanding
|
|
# are used, so we kludge that here. A bug has been filed at
|
|
# are used, so we kludge that here. A bug has been filed at
|
|
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.
|
|
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.
|
|
#
|
|
#
|
|
|
|
+# clang doesn't suffer from these issues and our checks against -dumpmachine
|
|
|
|
+# don't work so well when cross compiling, since without providing --target
|
|
|
|
+# clang's output will be based upon the build machine. So for clang we simply
|
|
|
|
+# unconditionally specify -EB or -EL as appropriate.
|
|
|
|
+#
|
|
|
|
+ifeq ($(cc-name),clang)
|
|
|
|
+cflags-$(CONFIG_CPU_BIG_ENDIAN) += -EB
|
|
|
|
+cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -EL
|
|
|
|
+else
|
|
undef-all += -UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__
|
|
undef-all += -UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__
|
|
undef-all += -UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__
|
|
undef-all += -UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__
|
|
predef-be += -DMIPSEB -D_MIPSEB -D__MIPSEB -D__MIPSEB__
|
|
predef-be += -DMIPSEB -D_MIPSEB -D__MIPSEB -D__MIPSEB__
|
|
predef-le += -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__
|
|
predef-le += -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__
|
|
cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB $(undef-all) $(predef-be))
|
|
cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB $(undef-all) $(predef-be))
|
|
cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL $(undef-all) $(predef-le))
|
|
cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL $(undef-all) $(predef-le))
|
|
|
|
+endif
|
|
|
|
|
|
cflags-$(CONFIG_SB1XXX_CORELIS) += $(call cc-option,-mno-sched-prolog) \
|
|
cflags-$(CONFIG_SB1XXX_CORELIS) += $(call cc-option,-mno-sched-prolog) \
|
|
-fno-omit-frame-pointer
|
|
-fno-omit-frame-pointer
|