This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: current binutils trunk fails to build bootable kernel image for some configurations
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: Sam Ravnborg <sam at ravnborg dot org>
- Cc: Matthias Klose <doko at ubuntu dot com>, binutils <binutils at sourceware dot org>, Bastian Blank <waldi at debian dot org>, Linus Torvalds <torvalds at linux-foundation dot org>, linux-kernel at vger dot kernel dot org, Kiko Piris <kernel at pirispons dot net>, Damien Wyart <damien dot wyart at free dot fr>, Greg KH <gregkh at suse dot de>, Wolfgang Walter <wolfgang dot walter at stwm dot de>
- Date: Thu, 23 Jul 2009 15:31:22 +0930
- Subject: Re: current binutils trunk fails to build bootable kernel image for some configurations
- References: <4A6746B9.9010603@ubuntu.com> <20090723004939.GF13233@bubble.grove.modra.org> <20090723050522.GA8887@merkur.ravnborg.org>
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