diff options
| -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 */ |
