Re: [PATCH mips-next 0/4] MIPS: vmlinux.lds.S sections fix & cleanup

From: Nathan Chancellor
Date: Mon Jan 04 2021 - 19:10:58 EST


On Mon, Jan 04, 2021 at 12:18:10PM +0000, Alexander Lobakin wrote:
> This series hunts the problems discovered after manual enabling of
> ARCH_WANT_LD_ORPHAN_WARN, notably the missing PAGE_ALIGNED_DATA()
> section affecting VDSO placement (marked for stable).
>
> Compile and runtime tested on MIPS32R2 CPS board with no issues.
>
> Alexander Lobakin (4):
> MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section
> MIPS: vmlinux.lds.S: add ".rel.dyn" to DISCARDS
> MIPS: vmlinux.lds.S: add ".gnu.attributes" to DISCARDS
> MIPS: select ARCH_WANT_LD_ORPHAN_WARN
>
> arch/mips/Kconfig | 1 +
> arch/mips/kernel/vmlinux.lds.S | 5 ++++-
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> --
> 2.30.0
>

Glad to see ARCH_WANT_LD_ORPHAN_WARN catching on :)

I took this for a spin with clang with malta_kvm_guest_defconfig and I
only see one section unaccounted for:

$ make -skj"$(nproc)" ARCH=mips CROSS_COMPILE=mipsel-linux-gnu- LLVM=1 O=out/mips distclean malta_kvm_guest_defconfig all
...
ld.lld: warning: <internal>:(.got) is being placed in '.got'
ld.lld: warning: <internal>:(.got) is being placed in '.got'
ld.lld: warning: <internal>:(.got) is being placed in '.got'

Looks like most architectures place it in .got (ia64, nios2, powerpc)
or .text (arm64).

Cheers,
Nathan