* [PATCH] PARISC: fix boot failure on 32-bit systems caused by branch stubs placed before .text
@ 2012-05-17 14:34 John David Anglin
0 siblings, 0 replies; only message in thread
From: John David Anglin @ 2012-05-17 14:34 UTC (permalink / raw)
To: linux-parisc; +Cc: James Bottomley, Guy Martin
[-- Attachment #1: Type: text/plain, Size: 486 bytes --]
In certain configurations, the resulting kernel becomes too large to
boot because
the linker places the long branch stubs for the merged .text section at
the very start
of the image. As a result, the initial transfer of control jumps to an
unexpected
location. Fix this by placing the head text in a separate section so
the stubs for
.text are not at the start of the image.
Signed-off-by: John David Anglin <dave.anglin@bell.net>
--
John David Anglin dave.anglin@bell.net
[-- Attachment #2: vmlinux.lds.S.diff.txt --]
[-- Type: text/plain, Size: 681 bytes --]
arch/parisc/kernel/vmlinux.lds.S | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S
index fa6f2b8..64a9998 100644
--- a/arch/parisc/kernel/vmlinux.lds.S
+++ b/arch/parisc/kernel/vmlinux.lds.S
@@ -50,8 +50,10 @@ SECTIONS
. = KERNEL_BINARY_TEXT_START;
_text = .; /* Text and read-only data */
- .text ALIGN(16) : {
+ .head ALIGN(16) : {
HEAD_TEXT
+ } = 0
+ .text ALIGN(16) : {
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
@@ -65,7 +67,7 @@ SECTIONS
*(.fixup)
*(.lock.text) /* out-of-line lock text */
*(.gnu.warning)
- } = 0
+ }
/* End of text section */
_etext = .;
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-05-17 14:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-17 14:34 [PATCH] PARISC: fix boot failure on 32-bit systems caused by branch stubs placed before .text John David Anglin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).