mirror-linux/arch/arm64/kernel/vdso
Nathan Chancellor ca0f4fe7cf arm64: Handle .ARM.attributes section in linker scripts
A recent LLVM commit [1] started generating an .ARM.attributes section
similar to the one that exists for 32-bit, which results in orphan
section warnings (or errors if CONFIG_WERROR is enabled) from the linker
because it is not handled in the arm64 linker scripts.

  ld.lld: error: arch/arm64/kernel/vdso/vgettimeofday.o:(.ARM.attributes) is being placed in '.ARM.attributes'
  ld.lld: error: arch/arm64/kernel/vdso/vgetrandom.o:(.ARM.attributes) is being placed in '.ARM.attributes'

  ld.lld: error: vmlinux.a(lib/vsprintf.o):(.ARM.attributes) is being placed in '.ARM.attributes'
  ld.lld: error: vmlinux.a(lib/win_minmax.o):(.ARM.attributes) is being placed in '.ARM.attributes'
  ld.lld: error: vmlinux.a(lib/xarray.o):(.ARM.attributes) is being placed in '.ARM.attributes'

Discard the new sections in the necessary linker scripts to resolve the
warnings, as the kernel and vDSO do not need to retain it, similar to
the .note.gnu.property section.

Cc: stable@vger.kernel.org
Fixes: b3e5d80d0c ("arm64/build: Warn on orphan section placement")
Link: ee99c4d484 [1]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20250206-arm64-handle-arm-attributes-in-linker-script-v3-1-d53d169913eb@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2025-02-07 09:56:57 +00:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Makefile arm64: vDSO: Wire up getrandom() vDSO implementation 2024-09-13 17:28:36 +02:00
gen_vdso_offsets.sh arm64: Support running gen_vdso_offsets.sh with BSD userland. 2021-01-20 12:23:27 +00:00
note.S arm64: vdso: Annotate for BTI 2020-05-07 17:53:20 +01:00
sigreturn.S arm64: vdso: Disable dwarf unwinding through the sigreturn trampoline 2020-06-23 14:47:03 +01:00
vdso.lds.S arm64: Handle .ARM.attributes section in linker scripts 2025-02-07 09:56:57 +00:00
vgetrandom-chacha.S arm64: vDSO: Wire up getrandom() vDSO implementation 2024-09-13 17:28:36 +02:00
vgetrandom.c arm64: vDSO: Wire up getrandom() vDSO implementation 2024-09-13 17:28:36 +02:00
vgettimeofday.c arm64: vdso: Clear common make C=2 warnings 2023-07-20 11:48:26 +01:00