microblaze: extable: sort the exception table at build time
authorMichal Simek <michal.simek@xilinx.com>
Thu, 23 Jan 2014 23:52:46 +0000 (15:52 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 24 Jan 2014 00:36:50 +0000 (16:36 -0800)
Sort the exception table at build-time rather than during boot.

Microblaze is the same case as AARCH64 that's why EM_MICROBLAZE
conditional check was added to allow cross-compilation on machines which
are not running the latest libc-dev.

Inspired by AARCH64 commit adace89562c7 ("arm64: extable: sort the
exception table at build time").

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: David Daney <david.daney@cavium.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/microblaze/Kconfig
scripts/sortextable.c

index e23cccd..8d581ab 100644 (file)
@@ -30,6 +30,7 @@ config MICROBLAZE
        select MODULES_USE_ELF_RELA
        select CLONE_BACKWARDS3
        select CLKSRC_OF
+       select BUILDTIME_EXTABLE_SORT
 
 config SWAP
        def_bool n
index 7941fbd..cc49062 100644 (file)
 #define EM_AARCH64     183
 #endif
 
+#ifndef EM_MICROBLAZE
+#define EM_MICROBLAZE  189
+#endif
+
 static int fd_map;     /* File descriptor for file being modified. */
 static int mmap_failed; /* Boolean flag. */
 static void *ehdr_curr; /* current ElfXX_Ehdr *  for resource cleanup */
@@ -275,6 +279,7 @@ do_file(char const *const fname)
        case EM_ARCOMPACT:
        case EM_ARM:
        case EM_AARCH64:
+       case EM_MICROBLAZE:
        case EM_MIPS:
                break;
        }  /* end switch */