Messages in this thread | | | Date | Mon, 14 Sep 2009 16:27:18 -0400 (EDT) | From | Tim Abbott <> | Subject | Re: [PATCH] cris: Cleanup linker script using new linker script macros. |
| |
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 = .;
| |