lkml.org 
[lkml]   [2009]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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 = .;


\
 
 \ /
  Last update: 2009-09-14 22:33    [W:0.091 / U:0.564 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site