diff options
-rw-r--r-- | arch/arm/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/avr32/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/cris/kernel/process.c | 5 | ||||
-rw-r--r-- | arch/frv/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/h8300/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/ia64/kernel/init_task.c | 3 | ||||
-rw-r--r-- | arch/m32r/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/m68k/kernel/process.c | 6 | ||||
-rw-r--r-- | arch/m68knommu/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/microblaze/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/mips/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/mn10300/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/parisc/kernel/init_task.c | 4 | ||||
-rw-r--r-- | arch/powerpc/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/powerpc/kernel/machine_kexec_64.c | 5 | ||||
-rw-r--r-- | arch/s390/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/score/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/sh/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/sparc/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/um/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/x86/kernel/init_task.c | 5 | ||||
-rw-r--r-- | arch/xtensa/kernel/init_task.c | 5 |
22 files changed, 46 insertions, 62 deletions
diff --git a/arch/arm/kernel/init_task.c b/arch/arm/kernel/init_task.c index 3f470866bb89..e7cbb50dc356 100644 --- a/arch/arm/kernel/init_task.c +++ b/arch/arm/kernel/init_task.c | |||
@@ -24,9 +24,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
24 | * | 24 | * |
25 | * The things we do for performance.. | 25 | * The things we do for performance.. |
26 | */ | 26 | */ |
27 | union thread_union init_thread_union | 27 | union thread_union init_thread_union __init_task_data = |
28 | __attribute__((__section__(".data.init_task"))) = | 28 | { INIT_THREAD_INFO(init_task) }; |
29 | { INIT_THREAD_INFO(init_task) }; | ||
30 | 29 | ||
31 | /* | 30 | /* |
32 | * Initial task structure. | 31 | * Initial task structure. |
diff --git a/arch/avr32/kernel/init_task.c b/arch/avr32/kernel/init_task.c index 57ec9f2dcd95..6b2343e6fe33 100644 --- a/arch/avr32/kernel/init_task.c +++ b/arch/avr32/kernel/init_task.c | |||
@@ -18,9 +18,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
18 | /* | 18 | /* |
19 | * Initial thread structure. Must be aligned on an 8192-byte boundary. | 19 | * Initial thread structure. Must be aligned on an 8192-byte boundary. |
20 | */ | 20 | */ |
21 | union thread_union init_thread_union | 21 | union thread_union init_thread_union __init_task_data = |
22 | __attribute__((__section__(".data.init_task"))) = | 22 | { INIT_THREAD_INFO(init_task) }; |
23 | { INIT_THREAD_INFO(init_task) }; | ||
24 | 23 | ||
25 | /* | 24 | /* |
26 | * Initial task structure. | 25 | * Initial task structure. |
diff --git a/arch/cris/kernel/process.c b/arch/cris/kernel/process.c index 51dcd04d2777..c99aeab7cef7 100644 --- a/arch/cris/kernel/process.c +++ b/arch/cris/kernel/process.c | |||
@@ -45,9 +45,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
45 | * way process stacks are handled. This is done by having a special | 45 | * way process stacks are handled. This is done by having a special |
46 | * "init_task" linker map entry.. | 46 | * "init_task" linker map entry.. |
47 | */ | 47 | */ |
48 | union thread_union init_thread_union | 48 | union thread_union init_thread_union __init_task_data = |
49 | __attribute__((__section__(".data.init_task"))) = | 49 | { INIT_THREAD_INFO(init_task) }; |
50 | { INIT_THREAD_INFO(init_task) }; | ||
51 | 50 | ||
52 | /* | 51 | /* |
53 | * Initial task structure. | 52 | * Initial task structure. |
diff --git a/arch/frv/kernel/init_task.c b/arch/frv/kernel/init_task.c index 1d3df1d9495c..3c3e0b336a9d 100644 --- a/arch/frv/kernel/init_task.c +++ b/arch/frv/kernel/init_task.c | |||
@@ -19,9 +19,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
19 | * way process stacks are handled. This is done by having a special | 19 | * way process stacks are handled. This is done by having a special |
20 | * "init_task" linker map entry.. | 20 | * "init_task" linker map entry.. |
21 | */ | 21 | */ |
22 | union thread_union init_thread_union | 22 | union thread_union init_thread_union __init_task_data = |
23 | __attribute__((__section__(".data.init_task"))) = | 23 | { INIT_THREAD_INFO(init_task) }; |
24 | { INIT_THREAD_INFO(init_task) }; | ||
25 | 24 | ||
26 | /* | 25 | /* |
27 | * Initial task structure. | 26 | * Initial task structure. |
diff --git a/arch/h8300/kernel/init_task.c b/arch/h8300/kernel/init_task.c index 089c65ed6eb3..54c1062ee80e 100644 --- a/arch/h8300/kernel/init_task.c +++ b/arch/h8300/kernel/init_task.c | |||
@@ -31,7 +31,6 @@ EXPORT_SYMBOL(init_task); | |||
31 | * way process stacks are handled. This is done by having a special | 31 | * way process stacks are handled. This is done by having a special |
32 | * "init_task" linker map entry.. | 32 | * "init_task" linker map entry.. |
33 | */ | 33 | */ |
34 | union thread_union init_thread_union | 34 | union thread_union init_thread_union __init_task_data = |
35 | __attribute__((__section__(".data.init_task"))) = | 35 | { INIT_THREAD_INFO(init_task) }; |
36 | { INIT_THREAD_INFO(init_task) }; | ||
37 | 36 | ||
diff --git a/arch/ia64/kernel/init_task.c b/arch/ia64/kernel/init_task.c index c475fc281be7..e253ab8fcbc8 100644 --- a/arch/ia64/kernel/init_task.c +++ b/arch/ia64/kernel/init_task.c | |||
@@ -33,7 +33,8 @@ union { | |||
33 | struct thread_info thread_info; | 33 | struct thread_info thread_info; |
34 | } s; | 34 | } s; |
35 | unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)]; | 35 | unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)]; |
36 | } init_task_mem asm ("init_task") __attribute__((section(".data.init_task"))) = {{ | 36 | } init_task_mem asm ("init_task") __init_task_data = |
37 | {{ | ||
37 | .task = INIT_TASK(init_task_mem.s.task), | 38 | .task = INIT_TASK(init_task_mem.s.task), |
38 | .thread_info = INIT_THREAD_INFO(init_task_mem.s.task) | 39 | .thread_info = INIT_THREAD_INFO(init_task_mem.s.task) |
39 | }}; | 40 | }}; |
diff --git a/arch/m32r/kernel/init_task.c b/arch/m32r/kernel/init_task.c index fce57e5d3f91..6c42d5f8df50 100644 --- a/arch/m32r/kernel/init_task.c +++ b/arch/m32r/kernel/init_task.c | |||
@@ -20,9 +20,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
20 | * way process stacks are handled. This is done by having a special | 20 | * way process stacks are handled. This is done by having a special |
21 | * "init_task" linker map entry.. | 21 | * "init_task" linker map entry.. |
22 | */ | 22 | */ |
23 | union thread_union init_thread_union | 23 | union thread_union init_thread_union __init_task_data = |
24 | __attribute__((__section__(".data.init_task"))) = | 24 | { INIT_THREAD_INFO(init_task) }; |
25 | { INIT_THREAD_INFO(init_task) }; | ||
26 | 25 | ||
27 | /* | 26 | /* |
28 | * Initial task structure. | 27 | * Initial task structure. |
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c index 72bad65dba3a..41230c595a8e 100644 --- a/arch/m68k/kernel/process.c +++ b/arch/m68k/kernel/process.c | |||
@@ -42,9 +42,9 @@ | |||
42 | */ | 42 | */ |
43 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 43 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
44 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 44 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
45 | union thread_union init_thread_union | 45 | union thread_union init_thread_union __init_task_data |
46 | __attribute__((section(".data.init_task"), aligned(THREAD_SIZE))) | 46 | __attribute__((aligned(THREAD_SIZE))) = |
47 | = { INIT_THREAD_INFO(init_task) }; | 47 | { INIT_THREAD_INFO(init_task) }; |
48 | 48 | ||
49 | /* initial task structure */ | 49 | /* initial task structure */ |
50 | struct task_struct init_task = INIT_TASK(init_task); | 50 | struct task_struct init_task = INIT_TASK(init_task); |
diff --git a/arch/m68knommu/kernel/init_task.c b/arch/m68knommu/kernel/init_task.c index 45e97a207fed..cbf9dc3cc51d 100644 --- a/arch/m68knommu/kernel/init_task.c +++ b/arch/m68knommu/kernel/init_task.c | |||
@@ -31,7 +31,6 @@ EXPORT_SYMBOL(init_task); | |||
31 | * way process stacks are handled. This is done by having a special | 31 | * way process stacks are handled. This is done by having a special |
32 | * "init_task" linker map entry.. | 32 | * "init_task" linker map entry.. |
33 | */ | 33 | */ |
34 | union thread_union init_thread_union | 34 | union thread_union init_thread_union __init_task_data = |
35 | __attribute__((__section__(".data.init_task"))) = | 35 | { INIT_THREAD_INFO(init_task) }; |
36 | { INIT_THREAD_INFO(init_task) }; | ||
37 | 36 | ||
diff --git a/arch/microblaze/kernel/init_task.c b/arch/microblaze/kernel/init_task.c index 67da22579b62..b5d711f94ff8 100644 --- a/arch/microblaze/kernel/init_task.c +++ b/arch/microblaze/kernel/init_task.c | |||
@@ -19,9 +19,8 @@ | |||
19 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 19 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
20 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 20 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
21 | 21 | ||
22 | union thread_union init_thread_union | 22 | union thread_union init_thread_union __init_task_data = |
23 | __attribute__((__section__(".data.init_task"))) = | 23 | { INIT_THREAD_INFO(init_task) }; |
24 | { INIT_THREAD_INFO(init_task) }; | ||
25 | 24 | ||
26 | struct task_struct init_task = INIT_TASK(init_task); | 25 | struct task_struct init_task = INIT_TASK(init_task); |
27 | EXPORT_SYMBOL(init_task); | 26 | EXPORT_SYMBOL(init_task); |
diff --git a/arch/mips/kernel/init_task.c b/arch/mips/kernel/init_task.c index 5b457a40c784..6d6ca5305895 100644 --- a/arch/mips/kernel/init_task.c +++ b/arch/mips/kernel/init_task.c | |||
@@ -21,9 +21,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
21 | * | 21 | * |
22 | * The things we do for performance.. | 22 | * The things we do for performance.. |
23 | */ | 23 | */ |
24 | union thread_union init_thread_union | 24 | union thread_union init_thread_union __init_task_data |
25 | __attribute__((__section__(".data.init_task"), | 25 | __attribute__((__aligned__(THREAD_SIZE))) = |
26 | __aligned__(THREAD_SIZE))) = | ||
27 | { INIT_THREAD_INFO(init_task) }; | 26 | { INIT_THREAD_INFO(init_task) }; |
28 | 27 | ||
29 | /* | 28 | /* |
diff --git a/arch/mn10300/kernel/init_task.c b/arch/mn10300/kernel/init_task.c index 80d423b80af3..a481b043bea7 100644 --- a/arch/mn10300/kernel/init_task.c +++ b/arch/mn10300/kernel/init_task.c | |||
@@ -27,9 +27,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
27 | * way process stacks are handled. This is done by having a special | 27 | * way process stacks are handled. This is done by having a special |
28 | * "init_task" linker map entry.. | 28 | * "init_task" linker map entry.. |
29 | */ | 29 | */ |
30 | union thread_union init_thread_union | 30 | union thread_union init_thread_union __init_task_data = |
31 | __attribute__((__section__(".data.init_task"))) = | 31 | { INIT_THREAD_INFO(init_task) }; |
32 | { INIT_THREAD_INFO(init_task) }; | ||
33 | 32 | ||
34 | /* | 33 | /* |
35 | * Initial task structure. | 34 | * Initial task structure. |
diff --git a/arch/parisc/kernel/init_task.c b/arch/parisc/kernel/init_task.c index 82974b20fc10..d020eae6525c 100644 --- a/arch/parisc/kernel/init_task.c +++ b/arch/parisc/kernel/init_task.c | |||
@@ -43,8 +43,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
43 | * way process stacks are handled. This is done by having a special | 43 | * way process stacks are handled. This is done by having a special |
44 | * "init_task" linker map entry.. | 44 | * "init_task" linker map entry.. |
45 | */ | 45 | */ |
46 | union thread_union init_thread_union | 46 | union thread_union init_thread_union __init_task_data |
47 | __attribute__((aligned(128))) __attribute__((__section__(".data.init_task"))) = | 47 | __attribute__((aligned(128))) = |
48 | { INIT_THREAD_INFO(init_task) }; | 48 | { INIT_THREAD_INFO(init_task) }; |
49 | 49 | ||
50 | #if PT_NLEVELS == 3 | 50 | #if PT_NLEVELS == 3 |
diff --git a/arch/powerpc/kernel/init_task.c b/arch/powerpc/kernel/init_task.c index ffc4253fef55..2375b7eb1c76 100644 --- a/arch/powerpc/kernel/init_task.c +++ b/arch/powerpc/kernel/init_task.c | |||
@@ -16,9 +16,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
16 | * way process stacks are handled. This is done by having a special | 16 | * way process stacks are handled. This is done by having a special |
17 | * "init_task" linker map entry.. | 17 | * "init_task" linker map entry.. |
18 | */ | 18 | */ |
19 | union thread_union init_thread_union | 19 | union thread_union init_thread_union __init_task_data = |
20 | __attribute__((__section__(".data.init_task"))) = | 20 | { INIT_THREAD_INFO(init_task) }; |
21 | { INIT_THREAD_INFO(init_task) }; | ||
22 | 21 | ||
23 | /* | 22 | /* |
24 | * Initial task structure. | 23 | * Initial task structure. |
diff --git a/arch/powerpc/kernel/machine_kexec_64.c b/arch/powerpc/kernel/machine_kexec_64.c index 49e705fcee6d..040bd1de8d99 100644 --- a/arch/powerpc/kernel/machine_kexec_64.c +++ b/arch/powerpc/kernel/machine_kexec_64.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/kexec.h> | 13 | #include <linux/kexec.h> |
14 | #include <linux/smp.h> | 14 | #include <linux/smp.h> |
15 | #include <linux/thread_info.h> | 15 | #include <linux/thread_info.h> |
16 | #include <linux/init_task.h> | ||
16 | #include <linux/errno.h> | 17 | #include <linux/errno.h> |
17 | 18 | ||
18 | #include <asm/page.h> | 19 | #include <asm/page.h> |
@@ -249,8 +250,8 @@ static void kexec_prepare_cpus(void) | |||
249 | * We could use a smaller stack if we don't care about anything using | 250 | * We could use a smaller stack if we don't care about anything using |
250 | * current, but that audit has not been performed. | 251 | * current, but that audit has not been performed. |
251 | */ | 252 | */ |
252 | static union thread_union kexec_stack | 253 | static union thread_union kexec_stack __init_task_data = |
253 | __attribute__((__section__(".data.init_task"))) = { }; | 254 | { }; |
254 | 255 | ||
255 | /* Our assembly helper, in kexec_stub.S */ | 256 | /* Our assembly helper, in kexec_stub.S */ |
256 | extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, | 257 | extern NORET_TYPE void kexec_sequence(void *newstack, unsigned long start, |
diff --git a/arch/s390/kernel/init_task.c b/arch/s390/kernel/init_task.c index fe787f9e5f3f..4d1c9fb0b540 100644 --- a/arch/s390/kernel/init_task.c +++ b/arch/s390/kernel/init_task.c | |||
@@ -25,9 +25,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
25 | * way process stacks are handled. This is done by having a special | 25 | * way process stacks are handled. This is done by having a special |
26 | * "init_task" linker map entry.. | 26 | * "init_task" linker map entry.. |
27 | */ | 27 | */ |
28 | union thread_union init_thread_union | 28 | union thread_union init_thread_union __init_task_data = |
29 | __attribute__((__section__(".data.init_task"))) = | 29 | { INIT_THREAD_INFO(init_task) }; |
30 | { INIT_THREAD_INFO(init_task) }; | ||
31 | 30 | ||
32 | /* | 31 | /* |
33 | * Initial task structure. | 32 | * Initial task structure. |
diff --git a/arch/score/kernel/init_task.c b/arch/score/kernel/init_task.c index ff952f6c63fd..baa03ee217d1 100644 --- a/arch/score/kernel/init_task.c +++ b/arch/score/kernel/init_task.c | |||
@@ -34,9 +34,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
34 | * way process stacks are handled. This is done by having a special | 34 | * way process stacks are handled. This is done by having a special |
35 | * "init_task" linker map entry.. | 35 | * "init_task" linker map entry.. |
36 | */ | 36 | */ |
37 | union thread_union init_thread_union | 37 | union thread_union init_thread_union __init_task_data = |
38 | __attribute__((__section__(".data.init_task"), __aligned__(THREAD_SIZE))) = | 38 | { INIT_THREAD_INFO(init_task) }; |
39 | { INIT_THREAD_INFO(init_task) }; | ||
40 | 39 | ||
41 | /* | 40 | /* |
42 | * Initial task structure. | 41 | * Initial task structure. |
diff --git a/arch/sh/kernel/init_task.c b/arch/sh/kernel/init_task.c index 1719957c0a69..11f2ea556a6b 100644 --- a/arch/sh/kernel/init_task.c +++ b/arch/sh/kernel/init_task.c | |||
@@ -17,9 +17,8 @@ struct pt_regs fake_swapper_regs; | |||
17 | * way process stacks are handled. This is done by having a special | 17 | * way process stacks are handled. This is done by having a special |
18 | * "init_task" linker map entry.. | 18 | * "init_task" linker map entry.. |
19 | */ | 19 | */ |
20 | union thread_union init_thread_union | 20 | union thread_union init_thread_union __init_task_data = |
21 | __attribute__((__section__(".data.init_task"))) = | 21 | { INIT_THREAD_INFO(init_task) }; |
22 | { INIT_THREAD_INFO(init_task) }; | ||
23 | 22 | ||
24 | /* | 23 | /* |
25 | * Initial task structure. | 24 | * Initial task structure. |
diff --git a/arch/sparc/kernel/init_task.c b/arch/sparc/kernel/init_task.c index 28125c5b3d3c..5fe3d65581f7 100644 --- a/arch/sparc/kernel/init_task.c +++ b/arch/sparc/kernel/init_task.c | |||
@@ -18,6 +18,5 @@ EXPORT_SYMBOL(init_task); | |||
18 | * If this is not aligned on a 8k boundry, then you should change code | 18 | * If this is not aligned on a 8k boundry, then you should change code |
19 | * in etrap.S which assumes it. | 19 | * in etrap.S which assumes it. |
20 | */ | 20 | */ |
21 | union thread_union init_thread_union | 21 | union thread_union init_thread_union __init_task_data = |
22 | __attribute__((section (".data.init_task"))) | 22 | { INIT_THREAD_INFO(init_task) }; |
23 | = { INIT_THREAD_INFO(init_task) }; | ||
diff --git a/arch/um/kernel/init_task.c b/arch/um/kernel/init_task.c index b25121b537d8..8aa77b61a5ff 100644 --- a/arch/um/kernel/init_task.c +++ b/arch/um/kernel/init_task.c | |||
@@ -30,9 +30,8 @@ EXPORT_SYMBOL(init_task); | |||
30 | * "init_task" linker map entry.. | 30 | * "init_task" linker map entry.. |
31 | */ | 31 | */ |
32 | 32 | ||
33 | union thread_union init_thread_union | 33 | union thread_union init_thread_union __init_task_data = |
34 | __attribute__((__section__(".data.init_task"))) = | 34 | { INIT_THREAD_INFO(init_task) }; |
35 | { INIT_THREAD_INFO(init_task) }; | ||
36 | 35 | ||
37 | union thread_union cpu0_irqstack | 36 | union thread_union cpu0_irqstack |
38 | __attribute__((__section__(".data.init_irqstack"))) = | 37 | __attribute__((__section__(".data.init_irqstack"))) = |
diff --git a/arch/x86/kernel/init_task.c b/arch/x86/kernel/init_task.c index 270ff83efc11..3a54dcb9cd0e 100644 --- a/arch/x86/kernel/init_task.c +++ b/arch/x86/kernel/init_task.c | |||
@@ -20,9 +20,8 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | |||
20 | * way process stacks are handled. This is done by having a special | 20 | * way process stacks are handled. This is done by having a special |
21 | * "init_task" linker map entry.. | 21 | * "init_task" linker map entry.. |
22 | */ | 22 | */ |
23 | union thread_union init_thread_union | 23 | union thread_union init_thread_union __init_task_data = |
24 | __attribute__((__section__(".data.init_task"))) = | 24 | { INIT_THREAD_INFO(init_task) }; |
25 | { INIT_THREAD_INFO(init_task) }; | ||
26 | 25 | ||
27 | /* | 26 | /* |
28 | * Initial task structure. | 27 | * Initial task structure. |
diff --git a/arch/xtensa/kernel/init_task.c b/arch/xtensa/kernel/init_task.c index c4302f0e4ba0..cd122fb7e48a 100644 --- a/arch/xtensa/kernel/init_task.c +++ b/arch/xtensa/kernel/init_task.c | |||
@@ -23,9 +23,8 @@ | |||
23 | 23 | ||
24 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 24 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
25 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 25 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
26 | union thread_union init_thread_union | 26 | union thread_union init_thread_union __init_task_data = |
27 | __attribute__((__section__(".data.init_task"))) = | 27 | { INIT_THREAD_INFO(init_task) }; |
28 | { INIT_THREAD_INFO(init_task) }; | ||
29 | 28 | ||
30 | struct task_struct init_task = INIT_TASK(init_task); | 29 | struct task_struct init_task = INIT_TASK(init_task); |
31 | 30 | ||