aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/kernel/head.S
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-08-29 04:26:01 -0400
committerPaul Mackerras <paulus@samba.org>2005-08-29 23:08:53 -0400
commit1e4a79e0458beca871c662028610ae3a88e3f1bf (patch)
treefe4b4940e5673a658d9bd07feebc3ba596f9d225 /arch/ppc64/kernel/head.S
parent2739e8cf113ce6e931608986a28bab5a42c0acd9 (diff)
[PATCH] fix iSeries build for gcc-3.4
gcc 3.4 (at least the build we are using) puts the gcc generated .ident string into a .note section at the end of the files it compiles (gcc 3.3.3-hammer and gcc 4.0.2 Debian puts it in the .text section). This means that the lparmap.s file we produce in the iSeries build may end with a .note section. When we include it into head.S, the assembler can no longer resolve some of the conditional branches since the target label ends up too far away. This patch just forces us back to the .text section after including lparmap.s. The breakage was caused by my patch "iSeries build with newer assemblers and compilers" (sha1-id: 2ad56496627630ebc99f06af5f81ca23e17e014e). Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/kernel/head.S')
-rw-r--r--arch/ppc64/kernel/head.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/ppc64/kernel/head.S b/arch/ppc64/kernel/head.S
index d98a9986c14..03695977562 100644
--- a/arch/ppc64/kernel/head.S
+++ b/arch/ppc64/kernel/head.S
@@ -1276,6 +1276,11 @@ fwnmi_data_area:
1276#ifdef CONFIG_PPC_ISERIES 1276#ifdef CONFIG_PPC_ISERIES
1277 . = LPARMAP_PHYS 1277 . = LPARMAP_PHYS
1278#include "lparmap.s" 1278#include "lparmap.s"
1279/*
1280 * This ".text" is here for old compilers that generate a trailing
1281 * .note section when compiling .c files to .s
1282 */
1283 .text
1279#endif /* CONFIG_PPC_ISERIES */ 1284#endif /* CONFIG_PPC_ISERIES */
1280 1285
1281 . = 0x8000 1286 . = 0x8000