diff options
Diffstat (limited to 'include/asm-x86/elf.h')
-rw-r--r-- | include/asm-x86/elf.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/asm-x86/elf.h b/include/asm-x86/elf.h index cd678b2d6a7..5c4745bec90 100644 --- a/include/asm-x86/elf.h +++ b/include/asm-x86/elf.h @@ -148,8 +148,9 @@ do { \ static inline void start_ia32_thread(struct pt_regs *regs, u32 ip, u32 sp) { - asm volatile("movl %0,%%fs" :: "r" (0)); - asm volatile("movl %0,%%es; movl %0,%%ds" : : "r" (__USER32_DS)); + loadsegment(fs, 0); + loadsegment(ds, __USER32_DS); + loadsegment(es, __USER32_DS); load_gs_index(0); regs->ip = ip; regs->sp = sp; |