Merge tag 'core-build-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 12 Oct 2020 20:39:19 +0000 (13:39 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 12 Oct 2020 20:39:19 +0000 (13:39 -0700)
commit34eb62d868d729e9a252aa497277081fb652eeed
treedc21a8dc5607e213abff5922cbbfd571b199faa2
parente6412f9833db23740ee848ab3d6e7af18dff82a6
parent6e0bf0e0e55000742a53c5f3b58f8669e0091a11
Merge tag 'core-build-2020-10-12' of git://git./linux/kernel/git/tip/tip

Pull orphan section checking from Ingo Molnar:
 "Orphan link sections were a long-standing source of obscure bugs,
  because the heuristics that various linkers & compilers use to handle
  them (include these bits into the output image vs discarding them
  silently) are both highly idiosyncratic and also version dependent.

  Instead of this historically problematic mess, this tree by Kees Cook
  (et al) adds build time asserts and build time warnings if there's any
  orphan section in the kernel or if a section is not sized as expected.

  And because we relied on so many silent assumptions in this area, fix
  a metric ton of dependencies and some outright bugs related to this,
  before we can finally enable the checks on the x86, ARM and ARM64
  platforms"

* tag 'core-build-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
  x86/boot/compressed: Warn on orphan section placement
  x86/build: Warn on orphan section placement
  arm/boot: Warn on orphan section placement
  arm/build: Warn on orphan section placement
  arm64/build: Warn on orphan section placement
  x86/boot/compressed: Add missing debugging sections to output
  x86/boot/compressed: Remove, discard, or assert for unwanted sections
  x86/boot/compressed: Reorganize zero-size section asserts
  x86/build: Add asserts for unwanted sections
  x86/build: Enforce an empty .got.plt section
  x86/asm: Avoid generating unused kprobe sections
  arm/boot: Handle all sections explicitly
  arm/build: Assert for unwanted sections
  arm/build: Add missing sections
  arm/build: Explicitly keep .ARM.attributes sections
  arm/build: Refactor linker script headers
  arm64/build: Assert for unwanted sections
  arm64/build: Add missing DWARF sections
  arm64/build: Use common DISCARDS in linker script
  arm64/build: Remove .eh_frame* sections due to unwind tables
  ...
arch/arm64/Makefile
arch/arm64/kernel/vmlinux.lds.S
arch/arm64/mm/mmu.c
arch/openrisc/kernel/vmlinux.lds.S
arch/riscv/kernel/vmlinux.lds.S
arch/x86/boot/compressed/Makefile
arch/x86/include/asm/asm.h
drivers/firmware/efi/libstub/Makefile
include/asm-generic/vmlinux.lds.h