summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/elf.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-01-29 06:14:43 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2010-01-29 16:22:01 (GMT)
commit05d43ed8a89c159ff641d472f970e3f1baa66318 (patch)
tree78b6619e51bb77c2e5350a63b1b11c23a4a113e2 /arch/x86/include/asm/elf.h
parent221af7f87b97431e3ee21ce4b0e77d5411cf1549 (diff)
downloadlinux-fsl-qoriq-05d43ed8a89c159ff641d472f970e3f1baa66318.tar.xz
x86: get rid of the insane TIF_ABI_PENDING bit
Now that the previous commit made it possible to do the personality setting at the point of no return, we do just that for ELF binaries. And suddenly all the reasons for that insane TIF_ABI_PENDING bit go away, and we can just make SET_PERSONALITY() just do the obvious thing for a 32-bit compat process. Everything becomes much more straightforward this way. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/include/asm/elf.h')
-rw-r--r--arch/x86/include/asm/elf.h10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h
index b4501ee..1994d3f 100644
--- a/arch/x86/include/asm/elf.h
+++ b/arch/x86/include/asm/elf.h
@@ -181,14 +181,8 @@ do { \
void start_thread_ia32(struct pt_regs *regs, u32 new_ip, u32 new_sp);
#define compat_start_thread start_thread_ia32
-#define COMPAT_SET_PERSONALITY(ex) \
-do { \
- if (test_thread_flag(TIF_IA32)) \
- clear_thread_flag(TIF_ABI_PENDING); \
- else \
- set_thread_flag(TIF_ABI_PENDING); \
- current->personality |= force_personality32; \
-} while (0)
+void set_personality_ia32(void);
+#define COMPAT_SET_PERSONALITY(ex) set_personality_ia32()
#define COMPAT_ELF_PLATFORM ("i686")