diff options
Diffstat (limited to 'arch/sparc/include/asm/elf_64.h')
-rw-r--r-- | arch/sparc/include/asm/elf_64.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/sparc/include/asm/elf_64.h b/arch/sparc/include/asm/elf_64.h index 0818a1308f4e..425c2f9be6d5 100644 --- a/arch/sparc/include/asm/elf_64.h +++ b/arch/sparc/include/asm/elf_64.h | |||
@@ -195,7 +195,7 @@ static inline unsigned int sparc64_elf_hwcap(void) | |||
195 | 195 | ||
196 | #define ELF_PLATFORM (NULL) | 196 | #define ELF_PLATFORM (NULL) |
197 | 197 | ||
198 | #define SET_PERSONALITY(ex, ibcs2) \ | 198 | #define SET_PERSONALITY(ex) \ |
199 | do { unsigned long new_flags = current_thread_info()->flags; \ | 199 | do { unsigned long new_flags = current_thread_info()->flags; \ |
200 | new_flags &= _TIF_32BIT; \ | 200 | new_flags &= _TIF_32BIT; \ |
201 | if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ | 201 | if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ |
@@ -208,9 +208,7 @@ do { unsigned long new_flags = current_thread_info()->flags; \ | |||
208 | else \ | 208 | else \ |
209 | clear_thread_flag(TIF_ABI_PENDING); \ | 209 | clear_thread_flag(TIF_ABI_PENDING); \ |
210 | /* flush_thread will update pgd cache */ \ | 210 | /* flush_thread will update pgd cache */ \ |
211 | if (ibcs2) \ | 211 | if (current->personality != PER_LINUX32) \ |
212 | set_personality(PER_SVR4); \ | ||
213 | else if (current->personality != PER_LINUX32) \ | ||
214 | set_personality(PER_LINUX); \ | 212 | set_personality(PER_LINUX); \ |
215 | } while (0) | 213 | } while (0) |
216 | 214 | ||