powerpc/vmlinux.lds: Explicitly retain .gnu.hash
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 27 Feb 2020 04:59:32 +0000 (15:59 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 1 Apr 2020 03:30:50 +0000 (14:30 +1100)
commitead983604c5a390f1e3ce085945b60e82f08dbbe
treed9170d74742f91b2c0b88642c5f9ebb0c97ebfba
parentccbed90b8207851fa759e81cc9ab083f9b6496c1
powerpc/vmlinux.lds: Explicitly retain .gnu.hash

Relocatable kernel builds produce a warning about .gnu.hash being an
orphan section:

  ld: warning: orphan section `.gnu.hash' from `linker stubs' being placed in section `.gnu.hash'

If we try to discard it the build fails:

  ld -EL -m elf64lppc -pie --orphan-handling=warn --build-id -o
    .tmp_vmlinux1 -T ./arch/powerpc/kernel/vmlinux.lds --whole-archive
    arch/powerpc/kernel/head_64.o arch/powerpc/kernel/entry_64.o
    ...
    sound/built-in.a net/built-in.a virt/built-in.a --no-whole-archive
    --start-group lib/lib.a --end-group
  ld: could not find section .gnu.hash

So add an entry to explicitly retain it, as we do for .hash.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200227045933.22967-1-mpe@ellerman.id.au
arch/powerpc/kernel/vmlinux.lds.S