diff options
author | Brian Gerst <brgerst@gmail.com> | 2009-01-19 00:38:59 +0900 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-01-19 00:38:59 +0900 |
commit | 87b264065880fa696c121dad8498a60524e0f6de (patch) | |
tree | 5a40a9ca966e5feda1040f9ef2c7798ac4d1e234 /arch/x86/include/asm/system.h | |
parent | c2558e0eba66b49993e619da66c95a50a97830a3 (diff) | |
download | linux-87b264065880fa696c121dad8498a60524e0f6de.tar.gz linux-87b264065880fa696c121dad8498a60524e0f6de.tar.bz2 linux-87b264065880fa696c121dad8498a60524e0f6de.zip |
x86-64: Use absolute displacements for per-cpu accesses.
Accessing memory through %gs should not use rip-relative addressing.
Adding a P prefix for the argument tells gcc to not add (%rip) to
the memory references.
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/system.h')
-rw-r--r-- | arch/x86/include/asm/system.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/system.h b/arch/x86/include/asm/system.h index 4399aac680e9..d1dc27dba36d 100644 --- a/arch/x86/include/asm/system.h +++ b/arch/x86/include/asm/system.h @@ -94,7 +94,7 @@ do { \ "call __switch_to\n\t" \ ".globl thread_return\n" \ "thread_return:\n\t" \ - "movq "__percpu_seg_str"%P[current_task],%%rsi\n\t" \ + "movq "__percpu_arg([current_task])",%%rsi\n\t" \ "movq %P[thread_info](%%rsi),%%r8\n\t" \ LOCK_PREFIX "btr %[tif_fork],%P[ti_flags](%%r8)\n\t" \ "movq %%rax,%%rdi\n\t" \ |