aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/kernel/init_task.c3
-rw-r--r--arch/sparc/kernel/vmlinux.lds.S9
2 files changed, 10 insertions, 2 deletions
diff --git a/arch/sparc/kernel/init_task.c b/arch/sparc/kernel/init_task.c
index 8e64ebc445ef..62126e4cec54 100644
--- a/arch/sparc/kernel/init_task.c
+++ b/arch/sparc/kernel/init_task.c
@@ -23,6 +23,5 @@ EXPORT_SYMBOL(init_task);
23 * in etrap.S which assumes it. 23 * in etrap.S which assumes it.
24 */ 24 */
25union thread_union init_thread_union 25union thread_union init_thread_union
26 __attribute__((section (".text\"\n\t#"))) 26 __attribute__((section (".data.init_task")))
27 __attribute__((aligned (THREAD_SIZE)))
28 = { INIT_THREAD_INFO(init_task) }; 27 = { INIT_THREAD_INFO(init_task) };
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S
index 4bfbeffb7320..59c8d090920c 100644
--- a/arch/sparc/kernel/vmlinux.lds.S
+++ b/arch/sparc/kernel/vmlinux.lds.S
@@ -1,7 +1,9 @@
1/* ld script for sparc32/sparc64 kernel */ 1/* ld script for sparc32/sparc64 kernel */
2 2
3#include <asm-generic/vmlinux.lds.h> 3#include <asm-generic/vmlinux.lds.h>
4
4#include <asm/page.h> 5#include <asm/page.h>
6#include <asm/thread_info.h>
5 7
6#ifdef CONFIG_SPARC32 8#ifdef CONFIG_SPARC32
7#define INITIAL_ADDRESS 0x10000 + SIZEOF_HEADERS 9#define INITIAL_ADDRESS 0x10000 + SIZEOF_HEADERS
@@ -65,8 +67,15 @@ SECTIONS
65 .data.read_mostly : { 67 .data.read_mostly : {
66 *(.data.read_mostly) 68 *(.data.read_mostly)
67 } 69 }
70 /* End of data section */
68 _edata = .; 71 _edata = .;
69 PROVIDE (edata = .); 72 PROVIDE (edata = .);
73
74 /* init_task */
75 . = ALIGN(THREAD_SIZE);
76 .data.init_task : {
77 *(.data.init_task)
78 }
70 .fixup : { 79 .fixup : {
71 __start___fixup = .; 80 __start___fixup = .;
72 *(.fixup) 81 *(.fixup)