This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: current binutils trunk fails to build bootable kernel image for some configurations


On Thu, Jul 23, 2009 at 07:05:22AM +0200, Sam Ravnborg wrote:
> On Thu, Jul 23, 2009 at 10:19:39AM +0930, Alan Modra wrote:
> >   .data_nosave ALIGN(PAGE_SIZE) : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
> 
> Do you recall when this started to be supported?

Forever.

> I think I tried this and it failed - but I may be wrong here.

I can think of at least two things that might cause my suggestion to
fail.
1) .data_nosave input sections may have alignments greater than
PAGE_SIZE, but we're setting the start address explicity.
2) following sections won't be aligned to PAGE_SIZE if .data_nosave is
empty.

Hmm, there is another option that I'd forgotten about.

  .data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) ALIGN(PAGE_SIZE) {

This avoids (1) above since it only increases alignment.  Support for
this form of alignment was added 2005-09.

> Also - do there exist an option to tell what sections has not been
> covered by a linker script?

No.  You could put

  /DISCARD/ : { *(*) }

at the end of your script, then generate a map file.  Discarded
sections are reported.

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]