Просмотр исходного кода

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>
Ingo Molnar 14 лет назад
Родитель
Сommit
6b35eb9ddc
1 измененных файлов с 2 добавлено и 9 удалено
  1. 2 9
      arch/x86/kernel/vmlinux.lds.S

+ 2 - 9
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
 #ifdef CONFIG_X86_32
 OUTPUT_ARCH(i386)
 OUTPUT_ARCH(i386)
 ENTRY(phys_startup_32)
 ENTRY(phys_startup_32)
+jiffies = jiffies_64;
 #else
 #else
 OUTPUT_ARCH(i386:x86-64)
 OUTPUT_ARCH(i386:x86-64)
 ENTRY(phys_startup_64)
 ENTRY(phys_startup_64)
+jiffies_64 = jiffies;
 #endif
 #endif
 
 
 #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
 #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA)
@@ -140,15 +142,6 @@ SECTIONS
 		CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
 		CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
 
 
 		DATA_DATA
 		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
 		CONSTRUCTORS
 
 
 		/* rarely changed data like cpu maps */
 		/* rarely changed data like cpu maps */