Messages in this thread | | | Date | Thu, 23 Jul 2009 15:31:22 +0930 | From | Alan Modra <> | Subject | 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
| |