Commit 1bac3b383a93a4a920ffc57441eb133c78567fbd

Authored by Andi Kleen
Committed by Andi Kleen
1 parent 92715e282b

[PATCH] x86: Work around gcc 4.2 over aggressive optimizer

The new PDA code uses a dummy _proxy_pda variable to describe
memory references to the PDA. It is never referenced
in inline assembly, but exists as input/output arguments.
gcc 4.2 in some cases can CSE references to this which causes
unresolved symbols.  Define it to zero to avoid this.

Signed-off-by: Andi Kleen <ak@suse.de>

Showing 2 changed files with 2 additions and 0 deletions Side-by-side Diff

arch/i386/kernel/vmlinux.lds.S
... ... @@ -26,6 +26,7 @@
26 26 OUTPUT_ARCH(i386)
27 27 ENTRY(phys_startup_32)
28 28 jiffies = jiffies_64;
  29 +_proxy_pda = 0;
29 30  
30 31 PHDRS {
31 32 text PT_LOAD FLAGS(5); /* R_E */
arch/x86_64/kernel/vmlinux.lds.S
... ... @@ -13,6 +13,7 @@
13 13 OUTPUT_ARCH(i386:x86-64)
14 14 ENTRY(phys_startup_64)
15 15 jiffies_64 = jiffies;
  16 +_proxy_pda = 0;
16 17 PHDRS {
17 18 text PT_LOAD FLAGS(5); /* R_E */
18 19 data PT_LOAD FLAGS(7); /* RWE */