Hi Helge, On Wed, Jul 31, 2019 at 09:36:01PM +0200, Helge Deller wrote: > * Helge Deller <deller@xxxxxx>: > > * Sven Schnelle <svens@xxxxxxxxxxxxxx>: > > > When compiling the kernel with debug information i got the following error: > > > > > > hppa-linux-gnu-ld: section .text LMA [0000000000e78000,0000000000e7b41f] overlaps section .rodata.compressed LMA [00000000000e0078,00000000015ad43d] > > > make[3]: *** [/home/svens/parisc-linux/src/arch/parisc/boot/compressed/Makefile:28: arch/parisc/boot/compressed/vmlinux] Error 1 > > > make[2]: *** [/home/svens/parisc-linux/src/arch/parisc/boot/Makefile:17: arch/parisc/boot/compressed/vmlinux] Error 2 > > > make[2]: Target 'arch/parisc/boot/bzImage' not remade because of errors. > > > > > > While this might also be fixed by adjusting the linker script, i think we > > > should strip the debug information when generating the compressed image. This > > > reduces the size of vmlinuz/lifimage from ~69MB to 6.6MB when full debug > > > information is enabled. > > > > I think keeping debug info is good. > > Can you test this patch instead? > > It converts a 141MB vmlinux boot file (with debug info) to a 32M vmlinuz for me. > > > > Ideally I would prefer something like > > . = MIN_OR_HIGHER_THAN_CURRENT_ADDR((SZ_end - SZparisc_kernel_start + KERNEL_BINARY_TEXT_START)); > > to avoid the ifdef, but I'm missing the linker script expert knowledge... > > Here is an updated patch without ifdefs: > Helge > > diff --git a/arch/parisc/boot/compressed/vmlinux.lds.S b/arch/parisc/boot/compressed/vmlinux.lds.S > index bfd7872739a3..2ac3a643f2eb 100644 > --- a/arch/parisc/boot/compressed/vmlinux.lds.S > +++ b/arch/parisc/boot/compressed/vmlinux.lds.S > @@ -48,8 +48,8 @@ SECTIONS > *(.rodata.compressed) > } > > - /* bootloader code and data starts behind area of extracted kernel */ > - . = (SZ_end - SZparisc_kernel_start + KERNEL_BINARY_TEXT_START); > + /* bootloader code and data starts at least behind area of extracted kernel */ > + . = MAX(ABSOLUTE(.), (SZ_end - SZparisc_kernel_start + KERNEL_BINARY_TEXT_START)); > > /* align on next page boundary */ > . = ALIGN(4096); With full debug and a 64 Bit Build i get now (vmlinux is 128M): LD vmlinux SORTEX vmlinux SYSMAP System.map /sbin/palo -f ./palo.conf palo version 2.00 http://www.parisc-linux.org - Mon, 01 Jan 2018 21:07:58 +0100 uncompressing Linux kernel................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ Decompression error: uncompressed image too long - wouldn't fit into destination vmlinuz is not a recognizable executable (ELF32 or ELF64) make[1]: *** [arch/parisc/Makefile:130: lifimage] Error 2 make[1]: Leaving directory '/home/svens/parisc-linux/build64' make: *** [Makefile:179: sub-make] Error 2