diff options
| -rw-r--r-- | arch/arm/Kconfig | 1 | ||||
| -rw-r--r-- | arch/arm/kernel/vmlinux.lds.S | 19 | ||||
| -rw-r--r-- | scripts/sortextable.c | 1 | 
3 files changed, 11 insertions, 10 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 73067efd484..208414c0506 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -5,6 +5,7 @@ config ARM  	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE  	select ARCH_HAVE_CUSTOM_GPIO_H  	select ARCH_WANT_IPC_PARSE_VERSION +	select BUILDTIME_EXTABLE_SORT if MMU  	select CPU_PM if (SUSPEND || CPU_IDLE)  	select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN  	select GENERIC_ATOMIC64 if (CPU_V6 || !CPU_32v6K || !AEABI) diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 36ff15bbfdd..b9f38e388b4 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S @@ -114,6 +114,15 @@ SECTIONS  	RO_DATA(PAGE_SIZE) +	. = ALIGN(4); +	__ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { +		__start___ex_table = .; +#ifdef CONFIG_MMU +		*(__ex_table) +#endif +		__stop___ex_table = .; +	} +  #ifdef CONFIG_ARM_UNWIND  	/*  	 * Stack unwinding tables @@ -220,16 +229,6 @@ SECTIONS  		READ_MOSTLY_DATA(L1_CACHE_BYTES)  		/* -		 * The exception fixup table (might need resorting at runtime) -		 */ -		. = ALIGN(4); -		__start___ex_table = .; -#ifdef CONFIG_MMU -		*(__ex_table) -#endif -		__stop___ex_table = .; - -		/*  		 * and the usual data section  		 */  		DATA_DATA diff --git a/scripts/sortextable.c b/scripts/sortextable.c index f19ddc47304..1f10e89d15b 100644 --- a/scripts/sortextable.c +++ b/scripts/sortextable.c @@ -248,6 +248,7 @@ do_file(char const *const fname)  	case EM_S390:  		custom_sort = sort_relative_table;  		break; +	case EM_ARM:  	case EM_MIPS:  		break;  	}  /* end switch */  |