linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [HOW] binutils-2.17 breaks the 2.6.26 kernel
@ 2008-07-16 16:21 Milton Miller
  2008-07-16 23:41 ` Segher Boessenkool
  2008-07-17  0:38 ` Jon Smirl
  0 siblings, 2 replies; 6+ messages in thread
From: Milton Miller @ 2008-07-16 16:21 UTC (permalink / raw)
  To: ppcdev; +Cc: Alan Modra

Hi.

I've been working with Debian bintuils 2.17-3 (which identifies
itself as 2.17) on my build box for some time.

When testing all-yes-config, I was getting warnings, but the
vmlinux was booting via kexec.

Since I was replicating the warnings from BFD about section lmas
overlapping in vmlinux.strip.$$, I was encouraged to actually try
booting the resulting stripped kernel.  After a false start (getting
the old binary) I ended up replicating the fail-to-boot some people
have reported on linuxppc-dev.

Digging into the failure, we were trying to copy *way* too much data
in copy_and_flush from after_prom.   I found the value loaded from
_klimit was something like 0x00002fea_00400000, not quite _end that
it was initialized.

I tracked this down to the .rodata and all sections following loosing
the inter-section alignment.


/DISCARD/ {
  ....
}
text: AT( .text - LOAD_OFFSET): {
  ....
}

. = ALIGN(0x1000)   /* this align directive aparently gets lost
                        when stripping the file */

.rodata: AT (.rodata - LOAD_OFFSET): {
   ...
}

the effects of that align were dropped during strip, shifting all
following sections up in memory and the resulting failure.

I don't know if the fault is ld or strip.

The behavior came between 2.6.24 and -next-20080710, but others
have suggested their kernels don't boot in the 2.6.25 to 2.6.26
transition, and a likely candidate is the addition of AT(x) to
set the lma, although we also switched form TEXT_TEXT macro in
include/asm-generic.h to a hand-rolled .text section.

Can we come up with a workaround?

thanks,
milton

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-07-21 16:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-16 16:21 [HOW] binutils-2.17 breaks the 2.6.26 kernel Milton Miller
2008-07-16 23:41 ` Segher Boessenkool
2008-07-17  0:38 ` Jon Smirl
2008-07-17  0:49   ` Gabriel Paubert
2008-07-17 13:53   ` Segher Boessenkool
2008-07-21 16:49     ` Rune Torgersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).