microblaze: extable: sort the exception table at build time

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 adace89562 ("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>
This commit is contained in:
Michal Simek 2014-01-23 15:52:46 -08:00 committed by Linus Torvalds
parent 3fdb38bd1f
commit 372c7209d6
2 changed files with 6 additions and 0 deletions

View File

@ -30,6 +30,7 @@ config MICROBLAZE
select MODULES_USE_ELF_RELA select MODULES_USE_ELF_RELA
select CLONE_BACKWARDS3 select CLONE_BACKWARDS3
select CLKSRC_OF select CLKSRC_OF
select BUILDTIME_EXTABLE_SORT
config SWAP config SWAP
def_bool n def_bool n

View File

@ -39,6 +39,10 @@
#define EM_AARCH64 183 #define EM_AARCH64 183
#endif #endif
#ifndef EM_MICROBLAZE
#define EM_MICROBLAZE 189
#endif
static int fd_map; /* File descriptor for file being modified. */ static int fd_map; /* File descriptor for file being modified. */
static int mmap_failed; /* Boolean flag. */ static int mmap_failed; /* Boolean flag. */
static void *ehdr_curr; /* current ElfXX_Ehdr * for resource cleanup */ 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_ARCOMPACT:
case EM_ARM: case EM_ARM:
case EM_AARCH64: case EM_AARCH64:
case EM_MICROBLAZE:
case EM_MIPS: case EM_MIPS:
break; break;
} /* end switch */ } /* end switch */