diff options
Diffstat (limited to 'include/asm-x86/elf.h')
| -rw-r--r-- | include/asm-x86/elf.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/include/asm-x86/elf.h b/include/asm-x86/elf.h index 7be4733c793e..5c4745bec906 100644 --- a/include/asm-x86/elf.h +++ b/include/asm-x86/elf.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | #ifndef _ASM_X86_ELF_H | 1 | #ifndef ASM_X86__ELF_H |
| 2 | #define _ASM_X86_ELF_H | 2 | #define ASM_X86__ELF_H |
| 3 | 3 | ||
| 4 | /* | 4 | /* |
| 5 | * ELF register definitions.. | 5 | * ELF register definitions.. |
| @@ -148,8 +148,9 @@ do { \ | |||
| 148 | 148 | ||
| 149 | static inline void start_ia32_thread(struct pt_regs *regs, u32 ip, u32 sp) | 149 | static inline void start_ia32_thread(struct pt_regs *regs, u32 ip, u32 sp) |
| 150 | { | 150 | { |
| 151 | asm volatile("movl %0,%%fs" :: "r" (0)); | 151 | loadsegment(fs, 0); |
| 152 | asm volatile("movl %0,%%es; movl %0,%%ds" : : "r" (__USER32_DS)); | 152 | loadsegment(ds, __USER32_DS); |
| 153 | loadsegment(es, __USER32_DS); | ||
| 153 | load_gs_index(0); | 154 | load_gs_index(0); |
| 154 | regs->ip = ip; | 155 | regs->ip = ip; |
| 155 | regs->sp = sp; | 156 | regs->sp = sp; |
| @@ -332,4 +333,4 @@ extern int syscall32_setup_pages(struct linux_binprm *, int exstack); | |||
| 332 | extern unsigned long arch_randomize_brk(struct mm_struct *mm); | 333 | extern unsigned long arch_randomize_brk(struct mm_struct *mm); |
| 333 | #define arch_randomize_brk arch_randomize_brk | 334 | #define arch_randomize_brk arch_randomize_brk |
| 334 | 335 | ||
| 335 | #endif | 336 | #endif /* ASM_X86__ELF_H */ |
