Patches contributed by Eötvös Lorand University


commit 075de90c46562de1435db16c2129ec4ff92e5bd2
Merge: c7f9a6f377fa 36532461a0f6
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Feb 7 08:45:48 2011 +0100

    Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/core

commit c7f9a6f377fa64e5a74f8c128d4349765c28fab1
Merge: fe4b04fa31a6 8dbdea8444d3
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Feb 7 08:44:11 2011 +0100

    Merge branch 'linus' into perf/core
    
    Merge reason: Pick up perf fixes that are now upstream
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit 55835eb62fad1253c9e657a667549945e4be9759
Merge: 83a06bf50bdf f266a5110d45
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sun Feb 6 12:59:22 2011 +0100

    Merge branch 'timers/locking'

commit 862b6f62bf0cd768910b087f6d051f420206c4d6
Merge: 1ebdfa803dc5 3d56e331b653
Author: Ingo Molnar <mingo@elte.hu>
Date:   Fri Feb 4 19:02:53 2011 +0100

    Merge branch 'tip/perf/urgent-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/urgent

commit 1ebdfa803dc5ced604ebadd26fcb8cdca8e09b85
Merge: aba99437f5af 52bcd9947bff
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Feb 3 20:57:34 2011 +0100

    Merge branch 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/urgent

commit b84defe6036e6dea782d41b80a4590e54f249671
Merge: 8104a4775ad8 cdb0861c85c0
Author: Ingo Molnar <mingo@elte.hu>
Date:   Wed Feb 2 07:11:02 2011 +0100

    Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/core

commit 8104a4775ad8a7863af0b898224b15aa708582db
Merge: f6bbc1daac96 ebf53826e105
Author: Ingo Molnar <mingo@elte.hu>
Date:   Wed Feb 2 07:10:03 2011 +0100

    Merge commit 'v2.6.38-rc3' into perf/core
    
    Merge reason: Pick up latest fixes.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

commit d380eaaea70d775c0520dcb5702ea5d2a56b7be9
Merge: dda991169691 ef1d1af28ca3
Author: Ingo Molnar <mingo@elte.hu>
Date:   Thu Jan 27 19:23:20 2011 +0100

    Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/core

commit 01bb2dc4e47639c8e7eddb1718720a051bcdc955
Merge: 806839b22cbd ffb5e0fb44d0
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jan 22 11:08:52 2011 +0100

    Merge branch 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 into perf/urgent

commit 6b35eb9ddcddde7b510726de03fae071178f1ec4
Author: Ingo Molnar <mingo@elte.hu>
Date:   Wed Jan 19 10:09:42 2011 +0100

    Revert "x86: Make relocatable kernel work with new binutils"
    
    This reverts commit 86b1e8dd83cb ("x86: Make relocatable kernel work with
    new binutils").
    
    Markus Trippelsdorf reported a boot failure caused by this patch.
    
    The real solution to the original patch will likely involve an
    arch-generic solution to define an overlaid jiffies_64 and jiffies
    variables.
    
    Until that's done and tested on all architectures revert this commit to
    solve the regression.
    
    Reported-and-bisected-by: Markus Trippelsdorf <markus@trippelsdorf.de>
    Acked-by: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Shaohua Li <shaohua.li@intel.com>
    Cc: "Lu, Hongjiu" <hongjiu.lu@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>,
    Cc: Sam Ravnborg <sam@ravnborg.org>
    LKML-Reference: <4D36A759.60704@intel.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index b34ab80fddd5..bf4700755184 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -34,9 +34,11 @@ OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
 #ifdef CONFIG_X86_32
 OUTPUT_ARCH(i386)
 ENTRY(phys_startup_32)
+jiffies = jiffies_64;
 #else
 OUTPUT_ARCH(i386:x86-64)
 ENTRY(phys_startup_64)
+jiffies_64 = jiffies;
 #endif
 
 #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
@@ -140,15 +142,6 @@ SECTIONS
 		CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
 
 		DATA_DATA
-		/*
-		 * Workaround a binutils (2.20.51.0.12 to 2.21.51.0.3) bug.
-		 * This makes jiffies relocatable in such binutils
-		 */
-#ifdef CONFIG_X86_32
-		jiffies = jiffies_64;
-#else
-		jiffies_64 = jiffies;
-#endif
 		CONSTRUCTORS
 
 		/* rarely changed data like cpu maps */