linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for -rc] kbuild: fix sh64 section mismatch problems
@ 2007-06-11 19:55 Sam Ravnborg
  2007-06-13  6:15 ` [git pull for 2.6.22-rc4 - resend] " Sam Ravnborg
  0 siblings, 1 reply; 5+ messages in thread
From: Sam Ravnborg @ 2007-06-11 19:55 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton, Paul Mundt; +Cc: Kaz Kojima, LKML

Hi Linus.

Please apply following 2 liners fix.
It will fix a lot of false section mismatch warnings on sh64 and
Paul asked to have in included before the relase hit the street.

Please pull this single patch from:
	git://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix.git

	Sam

Patch below for reference:

 modpost.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

>From 2648a53acf16a837e11836203aadb219bd951a1e Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <sam@ravnborg.org>
Date: Mon, 11 Jun 2007 21:52:04 +0200
Subject: [PATCH] kbuild: fix sh64 section mismatch problems

There's a special .cranges section that is almost always generated,
with data being moved to the appropriate section by the linker at a later
stage.

To give a bit of background, sh64 has both a native SHmedia instruction
set (32-bit instructions) and SHcompact (which is compatability with
normal SH -- 16-bit, a massively reduced register set, etc.). code ranges
are emitted when we're using the 32-bit ABI, but not the 64-bit one.

It is a special staging section used solely by binutils where code with
different flags get placed (more specifically differing flags for input
and output sections), before being lazily merged by the linker.

The closest I've been able to find to documentation is:
  http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/emultempl/sh64elf.em?rev=1.10&content-type=text/x-cvsweb-markup&cvsroot=src

It's an array of 8-byte Elf32_CRange structure given in
  http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-sh64.h?rev=1.4&content-type=text/x-cvsweb-markup&cvsroot=src
that describes for which ISA a range is used.

Silence the warnings by allowing references from .init.text to .cranges.

The following warnings are fixed:

WARNING: init/built-in.o(.cranges+0x0): Section mismatch: reference to .init.text:
WARNING: init/built-in.o(.cranges+0xa): Section mismatch: reference to .init.text:
WARNING: init/built-in.o(.cranges+0x14): Section mismatch: reference to .init.text:
WARNING: init/built-in.o(.cranges+0x1e): Section mismatch: reference to .init.text:
WARNING: init/built-in.o(.cranges+0x28): Section mismatch: reference to .init.text:
WARNING: init/built-in.o(.cranges+0x32): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0x50): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0x5a): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0x64): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0xfa): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0x104): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0x10e): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0x154): Section mismatch: reference to .init.text:
WARNING: kernel/built-in.o(.cranges+0x15e): Section mismatch: reference to .init.text:
WARNING: mm/built-in.o(.cranges+0x6e): Section mismatch: reference to .init.text:
WARNING: mm/built-in.o(.cranges+0x78): Section mismatch: reference to .init.text:
WARNING: mm/built-in.o(.cranges+0x82): Section mismatch: reference to .init.text:
WARNING: mm/built-in.o(.cranges+0xaa): Section mismatch: reference to .init.text:
WARNING: fs/built-in.o(.cranges+0x136): Section mismatch: reference to .init.text:
WARNING: fs/built-in.o(.cranges+0x140): Section mismatch: reference to .init.text:
WARNING: fs/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text:
WARNING: fs/built-in.o(.cranges+0x168): Section mismatch: reference to .init.text:
WARNING: fs/built-in.o(.cranges+0x1f4): Section mismatch: reference to .init.text:
WARNING: fs/built-in.o(.cranges+0x1fe): Section mismatch: reference to .init.text:
WARNING: net/built-in.o(.cranges+0x302): Section mismatch: reference to .init.text:
WARNING: net/built-in.o(.cranges+0x30c): Section mismatch: reference to .init.text:
WARNING: net/built-in.o(.cranges+0x316): Section mismatch: reference to .init.text:
WARNING: net/built-in.o(.cranges+0x3a2): Section mismatch: reference to .init.text:
WARNING: net/built-in.o(.cranges+0x3ac): Section mismatch: reference to .init.text:
WARNING: net/built-in.o(.cranges+0x4ce): Section mismatch: reference to .init.text:
WARNING: net/built-in.o(.cranges+0x4d8): Section mismatch: reference to .init.text:

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Cc: Kaz Kojima <kkojima@rr.iij4u.or.jp>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
---
 scripts/mod/modpost.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 8e5610d..3645e98 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1052,6 +1052,7 @@ static int init_section_ref_ok(const char *name)
 		".plt",  /* seen on ARCH=um build on x86_64. Harmless */
 		"__ftr_fixup",		/* powerpc cpu feature fixup */
 		"__fw_ftr_fixup",	/* powerpc firmware feature fixup */
+		".cranges",	/* used by sh64 */
 		NULL
 	};
 	/* Start of section names */
@@ -1132,6 +1133,7 @@ static int exit_section_ref_ok(const char *name)
 		".fixup",
 		".smp_locks",
 		".plt",  /* seen on ARCH=um build on x86_64. Harmless */
+		".cranges",	/* used by sh64 */
 		NULL
 	};
 	/* Start of section names */
-- 
1.5.1.rc3.1544.g8a923


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [git pull for 2.6.22-rc4 - resend] kbuild: fix sh64 section mismatch problems
  2007-06-11 19:55 [PATCH for -rc] kbuild: fix sh64 section mismatch problems Sam Ravnborg
@ 2007-06-13  6:15 ` Sam Ravnborg
  2007-06-15  1:46   ` Paul Mundt
  0 siblings, 1 reply; 5+ messages in thread
From: Sam Ravnborg @ 2007-06-13  6:15 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton, Paul Mundt; +Cc: Kaz Kojima, LKML

Resend of the below pull request.

	Sam

On Mon, Jun 11, 2007 at 09:55:52PM +0200, Sam Ravnborg wrote:
> Hi Linus.
> 
> Please apply following 2 liners fix.
> It will fix a lot of false section mismatch warnings on sh64 and
> Paul asked to have in included before the relase hit the street.
> 
> Please pull this single patch from:
> 	git://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix.git
> 
> 	Sam
> 
> Patch below for reference:
> 
>  modpost.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> >From 2648a53acf16a837e11836203aadb219bd951a1e Mon Sep 17 00:00:00 2001
> From: Sam Ravnborg <sam@ravnborg.org>
> Date: Mon, 11 Jun 2007 21:52:04 +0200
> Subject: [PATCH] kbuild: fix sh64 section mismatch problems
> 
> There's a special .cranges section that is almost always generated,
> with data being moved to the appropriate section by the linker at a later
> stage.
> 
> To give a bit of background, sh64 has both a native SHmedia instruction
> set (32-bit instructions) and SHcompact (which is compatability with
> normal SH -- 16-bit, a massively reduced register set, etc.). code ranges
> are emitted when we're using the 32-bit ABI, but not the 64-bit one.
> 
> It is a special staging section used solely by binutils where code with
> different flags get placed (more specifically differing flags for input
> and output sections), before being lazily merged by the linker.
> 
> The closest I've been able to find to documentation is:
>   http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/emultempl/sh64elf.em?rev=1.10&content-type=text/x-cvsweb-markup&cvsroot=src
> 
> It's an array of 8-byte Elf32_CRange structure given in
>   http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-sh64.h?rev=1.4&content-type=text/x-cvsweb-markup&cvsroot=src
> that describes for which ISA a range is used.
> 
> Silence the warnings by allowing references from .init.text to .cranges.
> 
> The following warnings are fixed:
> 
> WARNING: init/built-in.o(.cranges+0x0): Section mismatch: reference to .init.text:
> WARNING: init/built-in.o(.cranges+0xa): Section mismatch: reference to .init.text:
> WARNING: init/built-in.o(.cranges+0x14): Section mismatch: reference to .init.text:
> WARNING: init/built-in.o(.cranges+0x1e): Section mismatch: reference to .init.text:
> WARNING: init/built-in.o(.cranges+0x28): Section mismatch: reference to .init.text:
> WARNING: init/built-in.o(.cranges+0x32): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0x50): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0x5a): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0x64): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0xfa): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0x104): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0x10e): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0x154): Section mismatch: reference to .init.text:
> WARNING: kernel/built-in.o(.cranges+0x15e): Section mismatch: reference to .init.text:
> WARNING: mm/built-in.o(.cranges+0x6e): Section mismatch: reference to .init.text:
> WARNING: mm/built-in.o(.cranges+0x78): Section mismatch: reference to .init.text:
> WARNING: mm/built-in.o(.cranges+0x82): Section mismatch: reference to .init.text:
> WARNING: mm/built-in.o(.cranges+0xaa): Section mismatch: reference to .init.text:
> WARNING: fs/built-in.o(.cranges+0x136): Section mismatch: reference to .init.text:
> WARNING: fs/built-in.o(.cranges+0x140): Section mismatch: reference to .init.text:
> WARNING: fs/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text:
> WARNING: fs/built-in.o(.cranges+0x168): Section mismatch: reference to .init.text:
> WARNING: fs/built-in.o(.cranges+0x1f4): Section mismatch: reference to .init.text:
> WARNING: fs/built-in.o(.cranges+0x1fe): Section mismatch: reference to .init.text:
> WARNING: net/built-in.o(.cranges+0x302): Section mismatch: reference to .init.text:
> WARNING: net/built-in.o(.cranges+0x30c): Section mismatch: reference to .init.text:
> WARNING: net/built-in.o(.cranges+0x316): Section mismatch: reference to .init.text:
> WARNING: net/built-in.o(.cranges+0x3a2): Section mismatch: reference to .init.text:
> WARNING: net/built-in.o(.cranges+0x3ac): Section mismatch: reference to .init.text:
> WARNING: net/built-in.o(.cranges+0x4ce): Section mismatch: reference to .init.text:
> WARNING: net/built-in.o(.cranges+0x4d8): Section mismatch: reference to .init.text:
> 
> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
> Cc: Kaz Kojima <kkojima@rr.iij4u.or.jp>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> ---
>  scripts/mod/modpost.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index 8e5610d..3645e98 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -1052,6 +1052,7 @@ static int init_section_ref_ok(const char *name)
>  		".plt",  /* seen on ARCH=um build on x86_64. Harmless */
>  		"__ftr_fixup",		/* powerpc cpu feature fixup */
>  		"__fw_ftr_fixup",	/* powerpc firmware feature fixup */
> +		".cranges",	/* used by sh64 */
>  		NULL
>  	};
>  	/* Start of section names */
> @@ -1132,6 +1133,7 @@ static int exit_section_ref_ok(const char *name)
>  		".fixup",
>  		".smp_locks",
>  		".plt",  /* seen on ARCH=um build on x86_64. Harmless */
> +		".cranges",	/* used by sh64 */
>  		NULL
>  	};
>  	/* Start of section names */
> -- 
> 1.5.1.rc3.1544.g8a923
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [git pull for 2.6.22-rc4 - resend] kbuild: fix sh64 section mismatch problems
  2007-06-13  6:15 ` [git pull for 2.6.22-rc4 - resend] " Sam Ravnborg
@ 2007-06-15  1:46   ` Paul Mundt
  2007-06-15  1:53     ` Linus Torvalds
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Mundt @ 2007-06-15  1:46 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Linus Torvalds, Andrew Morton, Kaz Kojima, LKML

On Wed, Jun 13, 2007 at 08:15:07AM +0200, Sam Ravnborg wrote:
> Resend of the below pull request.
> 
> 	Sam
> 
> On Mon, Jun 11, 2007 at 09:55:52PM +0200, Sam Ravnborg wrote:
> > Hi Linus.
> > 
> > Please apply following 2 liners fix.
> > It will fix a lot of false section mismatch warnings on sh64 and
> > Paul asked to have in included before the relase hit the street.
> > 
> > Please pull this single patch from:
> > 	git://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix.git
> > 
And another re-request.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [git pull for 2.6.22-rc4 - resend] kbuild: fix sh64 section mismatch problems
  2007-06-15  1:46   ` Paul Mundt
@ 2007-06-15  1:53     ` Linus Torvalds
  2007-06-15  1:57       ` Paul Mundt
  0 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2007-06-15  1:53 UTC (permalink / raw)
  To: Paul Mundt; +Cc: Sam Ravnborg, Andrew Morton, Kaz Kojima, LKML



On Fri, 15 Jun 2007, Paul Mundt wrote:
> > > 
> > > Please pull this single patch from:
> > > 	git://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix.git
> > > 
> And another re-request.

I get irritated when people send me multiple requests with bogus URL's.

At least get the URL right.

		Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [git pull for 2.6.22-rc4 - resend] kbuild: fix sh64 section mismatch problems
  2007-06-15  1:53     ` Linus Torvalds
@ 2007-06-15  1:57       ` Paul Mundt
  0 siblings, 0 replies; 5+ messages in thread
From: Paul Mundt @ 2007-06-15  1:57 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Sam Ravnborg, Andrew Morton, Kaz Kojima, LKML

On Thu, Jun 14, 2007 at 06:53:40PM -0700, Linus Torvalds wrote:
> On Fri, 15 Jun 2007, Paul Mundt wrote:
> > > > 
> > > > Please pull this single patch from:
> > > > 	git://master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fix.git
> > > > 
> > And another re-request.
> 
> I get irritated when people send me multiple requests with bogus URL's.
> 
> At least get the URL right.
> 
> 		Linus

Oops, that should be:

	master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild-fix.git

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-06-15  1:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-11 19:55 [PATCH for -rc] kbuild: fix sh64 section mismatch problems Sam Ravnborg
2007-06-13  6:15 ` [git pull for 2.6.22-rc4 - resend] " Sam Ravnborg
2007-06-15  1:46   ` Paul Mundt
2007-06-15  1:53     ` Linus Torvalds
2007-06-15  1:57       ` Paul Mundt

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).