Re: [PATCH 2/4] powerpc: enable text relative kallsyms for ppc64

From: Michael Ellerman
Date: Wed Jan 20 2016 - 23:01:19 EST


On Wed, 2016-01-20 at 10:05 +0100, Ard Biesheuvel wrote:

> This enables the newly introduced text-relative kallsyms support when
> building 64-bit targets. This cuts the size of the kallsyms address
> table in half, and drastically reduces the size of the PIE dynamic
> relocation section when building with CONFIG_RELOCATABLE=y (by about
> 3 MB for ppc64_defconfig)
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> ---
>
> Results for ppc64_defconfig:
>
> BEFORE:
> =======
> $ size vmlinux
> text data bss dec hex filename
> 19827996 2008456 849612 22686064 15a2970 vmlinux
>
> $ readelf -S .tmp_kallsyms2.o
> There are 9 section headers, starting at offset 0x4513f8:
>
> Section Headers:
> [Nr] Name Type Address Offset
> Size EntSize Flags Link Info Align
> ...
> [ 4] .rodata PROGBITS 0000000000000000 00000100
> 00000000001fcf00 0000000000000000 A 0 0 256
> [ 5] .rela.rodata RELA 0000000000000000 001fd1d8
> 0000000000254220 0000000000000018 I 7 4 8
> [ 6] .shstrtab STRTAB 0000000000000000 001fd000
> 0000000000000039 0000000000000000 0 0 1
> ...
>
> $ ls -l arch/powerpc/boot/zImage
> -rwxrwxr-x 2 ard ard 7533160 Jan 20 08:43 arch/powerpc/boot/zImage
>
> AFTER:
> ======
> $ size vmlinux
> text data bss dec hex filename
> 16979516 2009992 849612 19839120 12eb890 vmlinux
>
> $ readelf -S .tmp_kallsyms2.o
> There are 8 section headers, starting at offset 0x199bb0:
>
> Section Headers:
> [Nr] Name Type Address Offset
> Size EntSize Flags Link Info Align
> ...
> [ 4] .rodata PROGBITS 0000000000000000 00000100
> 0000000000199900 0000000000000000 A 0 0 256
> [ 5] .shstrtab STRTAB 0000000000000000 00199a00
> 0000000000000034 0000000000000000 0 0 1
> ...
>
> $ ls -l arch/powerpc/boot/zImage
> -rwxrwxr-x 2 ard ard 6985672 Jan 20 08:45 arch/powerpc/boot/zImage


Nice space saving, thanks very much.

I've booted this on a bunch of machines and it seems to be working fine.

Tested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> (powerpc)

cheers