diff options
-rw-r--r-- | arch/arm64/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm64/kernel/vmlinux.lds.S | 10 | ||||
-rw-r--r-- | scripts/sortextable.c | 5 |
3 files changed, 7 insertions, 9 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 56b3f6d447ae..c3e3a17215a0 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig | |||
@@ -7,6 +7,7 @@ config ARM64 | |||
7 | select ARM_AMBA | 7 | select ARM_AMBA |
8 | select ARM_ARCH_TIMER | 8 | select ARM_ARCH_TIMER |
9 | select ARM_GIC | 9 | select ARM_GIC |
10 | select BUILDTIME_EXTABLE_SORT | ||
10 | select CLONE_BACKWARDS | 11 | select CLONE_BACKWARDS |
11 | select COMMON_CLK | 12 | select COMMON_CLK |
12 | select GENERIC_CLOCKEVENTS | 13 | select GENERIC_CLOCKEVENTS |
diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S index 3fae2be8b016..5e06a1786e26 100644 --- a/arch/arm64/kernel/vmlinux.lds.S +++ b/arch/arm64/kernel/vmlinux.lds.S | |||
@@ -56,7 +56,7 @@ SECTIONS | |||
56 | } | 56 | } |
57 | 57 | ||
58 | RO_DATA(PAGE_SIZE) | 58 | RO_DATA(PAGE_SIZE) |
59 | 59 | EXCEPTION_TABLE(8) | |
60 | _etext = .; /* End of text and rodata section */ | 60 | _etext = .; /* End of text and rodata section */ |
61 | 61 | ||
62 | . = ALIGN(PAGE_SIZE); | 62 | . = ALIGN(PAGE_SIZE); |
@@ -99,14 +99,6 @@ SECTIONS | |||
99 | READ_MOSTLY_DATA(64) | 99 | READ_MOSTLY_DATA(64) |
100 | 100 | ||
101 | /* | 101 | /* |
102 | * The exception fixup table (might need resorting at runtime) | ||
103 | */ | ||
104 | . = ALIGN(32); | ||
105 | __start___ex_table = .; | ||
106 | *(__ex_table) | ||
107 | __stop___ex_table = .; | ||
108 | |||
109 | /* | ||
110 | * and the usual data section | 102 | * and the usual data section |
111 | */ | 103 | */ |
112 | DATA_DATA | 104 | DATA_DATA |
diff --git a/scripts/sortextable.c b/scripts/sortextable.c index 1f10e89d15b4..f9ce1160419b 100644 --- a/scripts/sortextable.c +++ b/scripts/sortextable.c | |||
@@ -31,6 +31,10 @@ | |||
31 | #include <tools/be_byteshift.h> | 31 | #include <tools/be_byteshift.h> |
32 | #include <tools/le_byteshift.h> | 32 | #include <tools/le_byteshift.h> |
33 | 33 | ||
34 | #ifndef EM_AARCH64 | ||
35 | #define EM_AARCH64 183 | ||
36 | #endif | ||
37 | |||
34 | static int fd_map; /* File descriptor for file being modified. */ | 38 | static int fd_map; /* File descriptor for file being modified. */ |
35 | static int mmap_failed; /* Boolean flag. */ | 39 | static int mmap_failed; /* Boolean flag. */ |
36 | static void *ehdr_curr; /* current ElfXX_Ehdr * for resource cleanup */ | 40 | static void *ehdr_curr; /* current ElfXX_Ehdr * for resource cleanup */ |
@@ -249,6 +253,7 @@ do_file(char const *const fname) | |||
249 | custom_sort = sort_relative_table; | 253 | custom_sort = sort_relative_table; |
250 | break; | 254 | break; |
251 | case EM_ARM: | 255 | case EM_ARM: |
256 | case EM_AARCH64: | ||
252 | case EM_MIPS: | 257 | case EM_MIPS: |
253 | break; | 258 | break; |
254 | } /* end switch */ | 259 | } /* end switch */ |