Re: [PATCH] cris: Cleanup linker script using new linker scriptmacros.

From: Tim Abbott
Date: Mon Sep 14 2009 - 16:27:37 EST


On Mon, 14 Sep 2009, Jesper Nilsson wrote:

> On Mon, Sep 07, 2009 at 05:06:33AM +0200, Tim Abbott wrote:
> > . = ALIGN (4);
> > ___data_start = . ;
> > __Sdata = . ;
> > - .data : { /* Data */
> > - DATA_DATA
> > - }
> > + RW_DATA_SECTION(0, PAGE_SIZE, PAGE_SIZE)
>
> This causes some problems, and I'm not ldscript guru enough to immediately
> grasp the problem. What I get is this:
>
> ...
> LD vmlinux
> arch/cris/kernel/vmlinux.lds:326 cannot move location counter backwards (from c017e000 to 00000000)
> make[1]: *** [vmlinux] Error 1
> make: *** [sub-make] Error 2

Hmm. I spent a bit looking at it, and I don't have a guess for what the
problem is there.

> I've dropped that part of the patch, and I'll try to
> boot test the rest of the patch this week.

Yeah, it's probably fine to just drop it for now, since it has fairly
small cleanup impact on cris.

However, just dropping that hunk is not going to work -- you'll need to
re-add the .data.init_task hunk below (which had been part of
RW_DATA_SECTION).

-Tim Abbott

> > __edata = . ; /* End of data section. */
> > _edata = . ;
> >
> > - . = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned. */
> > - .data.init_task : { *(.data.init_task) }
> > -
> > . = ALIGN(PAGE_SIZE); /* Init code and data. */
> > __init_begin = .;
--
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/