summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2010-07-13 11:39:42 +0200
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2010-07-23 13:45:12 +1000
commitda5e37efe8704fc2b354626467f80f73c5e3c020 (patch)
tree093fdbf2ef2d30e6405ceaaa2ccfbe658a7fdd7b
parent3fdfd99051fbc210464378cd44a4b8914282bac3 (diff)
downloadlinux-3.10-da5e37efe8704fc2b354626467f80f73c5e3c020.tar.gz
linux-3.10-da5e37efe8704fc2b354626467f80f73c5e3c020.tar.bz2
linux-3.10-da5e37efe8704fc2b354626467f80f73c5e3c020.zip
vmlinux.lds: fix .data..init_task output section (fix popwerpc boot)
The .data..init_task output section was missing a load offset causing a popwerpc target to fail to boot. Sean MacLennan tracked it down to the definition of INIT_TASK_DATA_SECTION(). There are only two users of INIT_TASK_DATA_SECTION() in the kernel today: cris and popwerpc. cris do not support relocatable kernels and is thus not impacted by this change. Fix INIT_TASK_DATA_SECTION() to specify load offset like all other output sections. Reported-by: Sean MacLennan <smaclennan@pikatech.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--include/asm-generic/vmlinux.lds.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 48c5299cbf2..cdfff74e973 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -435,7 +435,7 @@
*/
#define INIT_TASK_DATA_SECTION(align) \
. = ALIGN(align); \
- .data..init_task : { \
+ .data..init_task : AT(ADDR(.data..init_task) - LOAD_OFFSET) { \
INIT_TASK_DATA(align) \
}