• Linus Torvalds's avatar
    Merge tag 'core-build-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 34eb62d8
    Linus Torvalds authored
    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
      ...
    34eb62d8
vmlinux.lds.S 6.63 KB