From: Nathan Chancellor natechancellor@gmail.com Date: Mon, 4 Jan 2021 17:09:36 -0700
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).
Addressed in v2, thanks!
Cheers, Nathan
Al