diff options
Diffstat (limited to 'arch/x86/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/x86/kernel/vmlinux.lds.S | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S index bf4700755184..b34ab80fddd5 100644 --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S | |||
@@ -34,11 +34,9 @@ OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT) | |||
34 | #ifdef CONFIG_X86_32 | 34 | #ifdef CONFIG_X86_32 |
35 | OUTPUT_ARCH(i386) | 35 | OUTPUT_ARCH(i386) |
36 | ENTRY(phys_startup_32) | 36 | ENTRY(phys_startup_32) |
37 | jiffies = jiffies_64; | ||
38 | #else | 37 | #else |
39 | OUTPUT_ARCH(i386:x86-64) | 38 | OUTPUT_ARCH(i386:x86-64) |
40 | ENTRY(phys_startup_64) | 39 | ENTRY(phys_startup_64) |
41 | jiffies_64 = jiffies; | ||
42 | #endif | 40 | #endif |
43 | 41 | ||
44 | #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) | 42 | #if defined(CONFIG_X86_64) && defined(CONFIG_DEBUG_RODATA) |
@@ -142,6 +140,15 @@ SECTIONS | |||
142 | CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) | 140 | CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES) |
143 | 141 | ||
144 | DATA_DATA | 142 | DATA_DATA |
143 | /* | ||
144 | * Workaround a binutils (2.20.51.0.12 to 2.21.51.0.3) bug. | ||
145 | * This makes jiffies relocatable in such binutils | ||
146 | */ | ||
147 | #ifdef CONFIG_X86_32 | ||
148 | jiffies = jiffies_64; | ||
149 | #else | ||
150 | jiffies_64 = jiffies; | ||
151 | #endif | ||
145 | CONSTRUCTORS | 152 | CONSTRUCTORS |
146 | 153 | ||
147 | /* rarely changed data like cpu maps */ | 154 | /* rarely changed data like cpu maps */ |