On Sun, 2012-04-22 at 08:20 -0400, John David Anglin wrote: > On 19-Apr-12, at 4:26 AM, Guy Martin wrote: > > > Hi all, > > > > I compiled a kernel with a few additional features and I was unable to > > boot it. It seems that if the entry point is not 0x00100000 in > > vmlinux, > > the boot process fails right after "Total Memory: 2048 MB". > > This is the only common denominator I could find. > > > > I've been able to reproduce this with : > > - C3600 and J5600 > > - kernel 3.2.12 and 3.3.1 > > - gcc 4.5.3 > > - ld 2.21 and 2.22 > > - palo 1.17 and 1.18 > > > Could you try the attached patch? It adjusts the section arrangement so > that the long branch stubs don't appear at the start of .text. As a > result, > _stext and stext now are at 10100000. > > The problem arises from section merging and a few branch distances > in the kernel exceeding the PA 2.0 limit. > > The patch might not work if the long branch stubs don't work... > > Another approach might be to add -mlong-calls to CFLAGS. However, > these calls are less efficient. OK, to add this to the fixes repo, I need a change log and a signoff (from Dave). I think the changelog would be: --- fix boot failure on 32 bit caused by out of range branch stubs In certain configurations, the resulting kernel becomes too large to boot because the branch stubs are all placed at the very start of the image. Fix this by placing the branch stubs after the head text so the distances are a bit shorter. --- Is that about right? Thanks, James -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html