Re: Please revert edada399 and 9203fc9c

From: Tim Abbott
Date: Tue Apr 28 2009 - 11:48:40 EST


> Please revert commits edada399 ("powerpc: Use TEXT_TEXT macro in
> linker script.") and 9203fc9c ("powerpc: Use __REF macro instead of
> old .text.init.refok."), which depends on edada399.

Paul,

Sorry for breaking the build. I will be sure to CC you and
linuxppc-dev@xxxxxxxxxx on future powerpc patches in this section name
cleanup project.

I think just reverting commits edada399 and 9203fc9c will cause a section
mismatch warning since commit 27b18332 removed the support code for the
.text.init.refok section. The following patch I believe should fix this
by effectively reverting just commit edada399. Can someone who has a
64-bit powerpc machine confirm?

-Tim Abbott

--

powerpc: Revert switch to TEXT_TEXT in linker script

Commit edada399 broke the build on 64-bit powerpc because it moved the
__ftr_alt_* sections of a file away from the .text section, causing
link failures due to relative conditional branch targets being too far
away from the branch instructions. This happens on pretty much all
64-bit powerpc configs.

This change reverts commit edada399 while preserving the update from
the *.refok sections to .ref.text that has happened since.

Signed-off-by: Tim Abbott <tabbott@xxxxxxx>
---
arch/powerpc/kernel/vmlinux.lds.S | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 433ae11..a047a6c 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -54,8 +54,8 @@ SECTIONS
ALIGN_FUNCTION();
HEAD_TEXT
_text = .;
- TEXT_TEXT
- *(.fixup __ftr_alt_*)
+ /* careful! __ftr_alt_* sections need to be close to .text */
+ *(.text .fixup __ftr_alt_* .ref.text)
SCHED_TEXT
LOCK_TEXT
KPROBES_TEXT
--
1.6.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/