Message ID | 20161128003505.61590f63@roar.ozlabs.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Hi, On bissecting kernel on Debian (gcc version 6.3.0 20170516) I've got the same error on linking kernels <= v4.9 as reported previously in this thread: ld: arch/powerpc/boot/zImage.pseries: Not enough room for program headers, try linking with -N ld: final link failed: Bad value arch/powerpc/boot/Makefile:364: recipe for target 'arch/powerpc/boot/zImage.pseries' failed make[1]: *** [arch/powerpc/boot/zImage.pseries] Error 1 arch/powerpc/Makefile:278: recipe for target 'zImage' failed make: *** [zImage] Error 2 Applying the fix proposed by Nicholas resolved the issue. However that patch is not present - afaics - in > v4.9 (where it builds fine). Any clue on why that is happening on <= v4.9 but not on kernels above that? Thank you. Regards, Gustavo
No sure if in reply-to took correct effect, so I'm posting the thread ref explicit: https://lists.ozlabs.org/pipermail/linuxppc-dev/2016-November/151672.html On 17-07-2017 09:57, Gustavo Romero wrote: > Hi, > > On bissecting kernel on Debian (gcc version 6.3.0 20170516) I've got the same > error on linking kernels <= v4.9 as reported previously in this thread: > > ld: arch/powerpc/boot/zImage.pseries: Not enough room for program headers, try linking with -N > ld: final link failed: Bad value > arch/powerpc/boot/Makefile:364: recipe for target 'arch/powerpc/boot/zImage.pseries' failed > make[1]: *** [arch/powerpc/boot/zImage.pseries] Error 1 > arch/powerpc/Makefile:278: recipe for target 'zImage' failed > make: *** [zImage] Error 2 > > Applying the fix proposed by Nicholas resolved the issue. > > However that patch is not present - afaics - in > v4.9 (where it builds fine). > > Any clue on why that is happening on <= v4.9 but not on kernels above that? > > Thank you. > > > Regards, > Gustavo >
diff --git a/arch/powerpc/boot/zImage.lds.S b/arch/powerpc/boot/zImage.lds.S index 861e721..8963544 100644 --- a/arch/powerpc/boot/zImage.lds.S +++ b/arch/powerpc/boot/zImage.lds.S @@ -7,6 +7,13 @@ OUTPUT_ARCH(powerpc:common) #endif ENTRY(_zimage_start) EXTERN(_zimage_start) + +PHDRS +{ + text PT_LOAD FLAGS(5); /* R_E */ + data PT_LOAD FLAGS(6); /* RW_ */ +} + SECTIONS { .text : @@ -15,7 +22,7 @@ SECTIONS *(.text) *(.fixup) _etext = .; - } + } :text . = ALIGN(4096); .data : { @@ -25,7 +32,7 @@ SECTIONS #ifndef CONFIG_PPC64_BOOT_WRAPPER *(.got2) #endif - } + } :data .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .dynamic : @@ -34,7 +41,6 @@ SECTIONS *(.dynamic) } .hash : { *(.hash) } - .interp : { *(.interp) } .rela.dyn : { #ifdef CONFIG_PPC64_BOOT_WRAPPER @@ -86,4 +92,9 @@ SECTIONS *(COMMON) _end = . ; } + + /DISCARD/ : + { + *(.interp) + } }