Re: [PATCH 4/6] Add support for LZO-compressed kernels for ARM

Russell King - ARM Linux
2009-08-07T20:01:31Z

On Fri, Aug 07, 2009 at 03:55:24PM +0200, Albin Tonnerre wrote:
> That's true for the actual kernel image, but not for the bootstrap code we use
> when compiling compressed kernels. arch/arm/boot/compressed/Makefile uses
> libgcc, unless I'm overlooking something here:
>
> arm-unknown-linux-uclibcgnueabi-ld -EL --defsym zreladdr=0x20008000
> --defsym initrd_phys=0x20410000 --defsym params_phys=0x20000100 -p
> --no-undefined -X
> /home/albin/x-tools/arm-unknown-linux-uclibcgnueabi/lib/gcc/arm-unknown-linux-uclibcgnueabi/4.3.2/libgcc.a
> -T arch/arm/boot/compressed/vmlinux.lds arch/arm/boot/compressed/head.o
> arch/arm/boot/compressed/piggy.gzip.o arch/arm/boot/compressed/misc.o -o
> arch/arm/boot/compressed/vmlinux

It's because libgcc appears in the wrong place in the command line, and
due to the way kbuild works, we can't get it into the right place easily.

Linkers are sensitive to the order of archives on the command line - its
pointless having an archive as the first file argument because none of
the contained objects will ever be pulled in.

Sam - any ideas how to solve this?