diff options
Diffstat (limited to 'arch/arc/kernel')
| -rw-r--r-- | arch/arc/kernel/arcksyms.c | 2 | ||||
| -rw-r--r-- | arch/arc/kernel/process.c | 2 | ||||
| -rw-r--r-- | arch/arc/kernel/setup.c | 6 | 
3 files changed, 7 insertions, 3 deletions
diff --git a/arch/arc/kernel/arcksyms.c b/arch/arc/kernel/arcksyms.c index 4d9e77724bed..000dd041ab42 100644 --- a/arch/arc/kernel/arcksyms.c +++ b/arch/arc/kernel/arcksyms.c @@ -28,6 +28,7 @@ extern void __muldf3(void);  extern void __divdf3(void);  extern void __floatunsidf(void);  extern void __floatunsisf(void); +extern void __udivdi3(void);  EXPORT_SYMBOL(__ashldi3);  EXPORT_SYMBOL(__ashrdi3); @@ -45,6 +46,7 @@ EXPORT_SYMBOL(__muldf3);  EXPORT_SYMBOL(__divdf3);  EXPORT_SYMBOL(__floatunsidf);  EXPORT_SYMBOL(__floatunsisf); +EXPORT_SYMBOL(__udivdi3);  /* ARC optimised assembler routines */  EXPORT_SYMBOL(memset); diff --git a/arch/arc/kernel/process.c b/arch/arc/kernel/process.c index b5db9e7fd649..be1972bd2729 100644 --- a/arch/arc/kernel/process.c +++ b/arch/arc/kernel/process.c @@ -199,7 +199,7 @@ int elf_check_arch(const struct elf32_hdr *x)  	}  	eflags = x->e_flags; -	if ((eflags & EF_ARC_OSABI_MSK) < EF_ARC_OSABI_CURRENT) { +	if ((eflags & EF_ARC_OSABI_MSK) != EF_ARC_OSABI_CURRENT) {  		pr_err("ABI mismatch - you need newer toolchain\n");  		force_sigsegv(SIGSEGV, current);  		return 0; diff --git a/arch/arc/kernel/setup.c b/arch/arc/kernel/setup.c index a946400a86d0..f52a0d0dc462 100644 --- a/arch/arc/kernel/setup.c +++ b/arch/arc/kernel/setup.c @@ -291,8 +291,10 @@ static char *arc_extn_mumbojumbo(int cpu_id, char *buf, int len)  			       cpu->dccm.base_addr, TO_KB(cpu->dccm.sz),  			       cpu->iccm.base_addr, TO_KB(cpu->iccm.sz)); -	n += scnprintf(buf + n, len - n, -		       "OS ABI [v3]\t: no-legacy-syscalls\n"); +	n += scnprintf(buf + n, len - n, "OS ABI [v%d]\t: %s\n", +			EF_ARC_OSABI_CURRENT >> 8, +			EF_ARC_OSABI_CURRENT == EF_ARC_OSABI_V3 ? +			"no-legacy-syscalls" : "64-bit data any register aligned");  	return buf;  }  | 
