current binutils trunk fails to build bootable kernel image for some configurations
Alan Modra
amodra@bigpond.net.au
Thu Jul 23 06:27:00 GMT 2009
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
More information about the Binutils
mailing list