Re: sh: include empty_zero_page in text

From: Paul Mundt
Date: Thu Jun 11 2009 - 16:34:12 EST


On Thu, Jun 11, 2009 at 10:10:48PM +0200, Sam Ravnborg wrote:
> On Thu, Jun 11, 2009 at 07:03:02PM +0000, Linux Kernel Mailing List wrote:
> > Gitweb: http://git.kernel.org/linus/53c0054c3f11b49fc09f24e46f58661def952728
> > Commit: 53c0054c3f11b49fc09f24e46f58661def952728
> > Parent: 7bce6c2740fab36708233e998a9e53115649b193
> > Author: Magnus Damm <damm@xxxxxxxxxx>
> > AuthorDate: Mon May 11 08:45:27 2009 +0000
> > Committer: Paul Mundt <lethal@xxxxxxxxxxxx>
> > CommitDate: Mon May 11 18:42:14 2009 +0900
> >
> > sh: include empty_zero_page in text
> >
> > Include empty_zero_page in _text. This fixes a problem
> > introduced by c3e2586b794b12ffcdf69b4e547030b51e18e6d9
> > which results in broken boot on R2D-Plus.
> >
> > Signed-off-by: Magnus Damm <damm@xxxxxxxxxx>
> > Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>
> > ---
> > arch/sh/kernel/vmlinux.lds.S | 3 ++-
> > 1 files changed, 2 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
> > index d737230..f53c76a 100644
> > --- a/arch/sh/kernel/vmlinux.lds.S
> > +++ b/arch/sh/kernel/vmlinux.lds.S
> > @@ -26,12 +26,13 @@ SECTIONS
> > . = CONFIG_PAGE_OFFSET + CONFIG_MEMORY_START + CONFIG_ZERO_PAGE_OFFSET;
> > #endif
> >
> > + _text = .; /* Text and read-only data */
> > +
> > .empty_zero_page : AT(ADDR(.empty_zero_page) - LOAD_OFFSET) {
> > *(.empty_zero_page)
> > } = 0
> >
> > .text : AT(ADDR(.text) - LOAD_OFFSET) {
> > - _text = .; /* Text and read-only data */
> > HEAD_TEXT
> > TEXT_TEXT
>
> This change turned _text to be an absolute symbol.
> Do you support rolocatable kernels then this may fail.
>
It actually was an absolute before, while on sh64 it was not. We will
probably need to do a bit of work with the empty zero page handling on
these boards with older boot loaders to permit text to be positioned
later down. The relocatable kernel support we have only started
experimenting with, so yes, this is something that will have to be sorted
out there as well.
--
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/