2009-04-28 04:56:50

by Paul Mackerras

[permalink] [raw]
Subject: Please revert edada399 and 9203fc9c

Linus,

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.

Commit edada399 breaks the build because it moves 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.

Clearly these patches were never even build-tested. They were never
acked by the powerpc maintainer (Ben) - because he was on vacation -
and they weren't sent to the deputy maintainer (me) or the relevant
mailing list (linuxppc-dev).

And they are clearly not fixes for regressions or serious bugs, so why
are these patches going in after -rc3 anyway?

Paul.


2009-04-28 08:33:32

by Sam Ravnborg

[permalink] [raw]
Subject: Re: Please revert edada399 and 9203fc9c

On Tue, Apr 28, 2009 at 02:56:33PM +1000, Paul Mackerras wrote:
> Linus,
>
> 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.
>
> Commit edada399 breaks the build because it moves 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.
>
> Clearly these patches were never even build-tested. They were never
> acked by the powerpc maintainer (Ben) - because he was on vacation -
> and they weren't sent to the deputy maintainer (me) or the relevant
> mailing list (linuxppc-dev).

This is partly my fault :-(
I acked them as I did not see the issue with conditional branches.
Could I ask you to add a comment to the lds file about this.

Sam

2009-04-28 15:48:39

by Tim Abbott

[permalink] [raw]
Subject: Re: Please revert edada399 and 9203fc9c

> 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
[email protected] 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 <[email protected]>
---
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

2009-04-28 20:53:35

by Benjamin Herrenschmidt

[permalink] [raw]
Subject: Re: Please revert edada399 and 9203fc9c

On Tue, 2009-04-28 at 10:35 +0200, Sam Ravnborg wrote:

> This is partly my fault :-(
> I acked them as I did not see the issue with conditional branches.
> Could I ask you to add a comment to the lds file about this.

I'm back :-)

Not a huge deal per-se, it's just that the patches were merged in Linus
tree only a few hours after being initially submitted it seems, which
doesn't leave much chance for anybody to test, to hit -next, or anything
like that... that was a little bit too trigger happy .

Cheers,
Ben.

2009-04-29 00:26:04

by Linus Torvalds

[permalink] [raw]
Subject: Re: Please revert edada399 and 9203fc9c



On Tue, 28 Apr 2009, Paul Mackerras wrote:
>
> And they are clearly not fixes for regressions or serious bugs, so why
> are these patches going in after -rc3 anyway?

Yeah, my bad. They looked so obviously trivial, but obviously weren't.

I'm not taking any more of them.

Linus