|
@@ -28,17 +28,25 @@ PERF_MAKE_FLAGS = \
|
|
|
NO_LIBPYTHON=1 \
|
|
|
NO_LIBBIONIC=1
|
|
|
|
|
|
-# We need to pass an argument to ld for setting the endianness when
|
|
|
-# building it for MIPS architecture, otherwise the default one will
|
|
|
-# always be used (which is big endian) and the compilation for little
|
|
|
-# endian will always fail showing an error like this one:
|
|
|
-# LD foo.o
|
|
|
-# mips-linux-gnu-ld: foo.o: compiled for a little endian system and
|
|
|
-# target is big endian
|
|
|
-ifeq ($(BR2_mips)$(BR2_mips64),y)
|
|
|
-PERF_MAKE_FLAGS += LD="$(TARGET_LD) -EB"
|
|
|
-else ifeq ($(BR2_mipsel)$(BR2_mips64el),y)
|
|
|
-PERF_MAKE_FLAGS += LD="$(TARGET_LD) -EL"
|
|
|
+# We need to pass an argument to ld for setting the emulation when
|
|
|
+# building for MIPS architecture, otherwise the default one will always
|
|
|
+# be used and the compilation for most variants will fail.
|
|
|
+ifeq ($(BR2_mips),y)
|
|
|
+PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf32btsmip"
|
|
|
+else ifeq ($(BR2_mipsel),y)
|
|
|
+PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf32ltsmip"
|
|
|
+else ifeq ($(BR2_mips64),y)
|
|
|
+ifeq ($(BR2_MIPS_NABI32),y)
|
|
|
+PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf32btsmipn32"
|
|
|
+else
|
|
|
+PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf64btsmip"
|
|
|
+endif
|
|
|
+else ifeq ($(BR2_mips64el),y)
|
|
|
+ifeq ($(BR2_MIPS_NABI32),y)
|
|
|
+PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf32ltsmipn32"
|
|
|
+else
|
|
|
+PERF_MAKE_FLAGS += LD="$(TARGET_LD) -m elf64ltsmip"
|
|
|
+endif
|
|
|
endif
|
|
|
|
|
|
# The call to backtrace() function fails for ARC, because for some
|