diff options
Diffstat (limited to 'arch/mips/include/asm/elf.h')
-rw-r--r-- | arch/mips/include/asm/elf.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h index f69f7acba637..a8eac1697b3d 100644 --- a/arch/mips/include/asm/elf.h +++ b/arch/mips/include/asm/elf.h | |||
@@ -247,10 +247,8 @@ extern struct mips_abi mips_abi_n32; | |||
247 | 247 | ||
248 | #ifdef CONFIG_32BIT | 248 | #ifdef CONFIG_32BIT |
249 | 249 | ||
250 | #define SET_PERSONALITY(ex, ibcs2) \ | 250 | #define SET_PERSONALITY(ex) \ |
251 | do { \ | 251 | do { \ |
252 | if (ibcs2) \ | ||
253 | set_personality(PER_SVR4); \ | ||
254 | set_personality(PER_LINUX); \ | 252 | set_personality(PER_LINUX); \ |
255 | \ | 253 | \ |
256 | current->thread.abi = &mips_abi; \ | 254 | current->thread.abi = &mips_abi; \ |
@@ -296,7 +294,7 @@ do { \ | |||
296 | #define __SET_PERSONALITY32(ex) do { } while (0) | 294 | #define __SET_PERSONALITY32(ex) do { } while (0) |
297 | #endif | 295 | #endif |
298 | 296 | ||
299 | #define SET_PERSONALITY(ex, ibcs2) \ | 297 | #define SET_PERSONALITY(ex) \ |
300 | do { \ | 298 | do { \ |
301 | clear_thread_flag(TIF_32BIT_REGS); \ | 299 | clear_thread_flag(TIF_32BIT_REGS); \ |
302 | clear_thread_flag(TIF_32BIT_ADDR); \ | 300 | clear_thread_flag(TIF_32BIT_ADDR); \ |
@@ -306,9 +304,7 @@ do { \ | |||
306 | else \ | 304 | else \ |
307 | current->thread.abi = &mips_abi; \ | 305 | current->thread.abi = &mips_abi; \ |
308 | \ | 306 | \ |
309 | if (ibcs2) \ | 307 | if (current->personality != PER_LINUX32) \ |
310 | set_personality(PER_SVR4); \ | ||
311 | else if (current->personality != PER_LINUX32) \ | ||
312 | set_personality(PER_LINUX); \ | 308 | set_personality(PER_LINUX); \ |
313 | } while (0) | 309 | } while (0) |
314 | 310 | ||