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:
"arm64: extable: sort the exception table at build time"
(sha1: adace89562c7a9645b8dc84f6e1ac7ba8756094e)

Signed-off-by: Michal Simek <michal.si...@xilinx.com>
---

 arch/microblaze/Kconfig | 1 +
 scripts/sortextable.c   | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
index e23cccd..8d581ab 100644
--- a/arch/microblaze/Kconfig
+++ b/arch/microblaze/Kconfig
@@ -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
diff --git a/scripts/sortextable.c b/scripts/sortextable.c
index 7941fbd..cc49062 100644
--- a/scripts/sortextable.c
+++ b/scripts/sortextable.c
@@ -39,6 +39,10 @@
 #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 */
--
1.8.2.3

Attachment: pgpJ_TdClRHoy.pgp
Description: PGP signature

Reply via email to