[GIT PULL] Clang feature updates for v5.14-rc1 (take 2)
From: Kees Cook
Date: Tue Jun 29 2021 - 16:55:28 EST
Hi Linus,
Please pull these Clang feature updates for v5.14-rc1 (take 2). This is
everything except the big PGO portion from the original pull request
and includes an additional CFI fix that had gotten lost.
Thanks!
-Kees
The following changes since commit d07f6ca923ea0927a1024dfccafc5b53b61cfecc:
Linux 5.13-rc2 (2021-05-16 15:27:44 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git tags/clang-features-v5.14-rc1
for you to fetch changes up to fca41af18e10318e4de090db47d9fa7169e1bf2f:
qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute (2021-06-29 13:25:20 -0700)
----------------------------------------------------------------
Clang feature updates for v5.14-rc1
- Add CC_HAS_NO_PROFILE_FN_ATTR in preparation for PGO support in
the face of the noinstr attribute, paving the way for PGO and fixing
GCOV. (Nick Desaulniers)
- x86_64 LTO coverage is expanded to 32-bit x86. (Nathan Chancellor)
- Small fixes to CFI. (Mark Rutland, Nathan Chancellor)
----------------------------------------------------------------
Mark Rutland (1):
CFI: Move function_nocfi() into compiler.h
Nathan Chancellor (3):
MAINTAINERS: Add Clang CFI section
x86, lto: Enable Clang LTO for 32-bit as well
qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute
Nick Desaulniers (3):
compiler_attributes.h: define __no_profile, add to noinstr
compiler_attributes.h: cleanups for GCC 4.9+
Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR
MAINTAINERS | 12 ++++++++++++
arch/Kconfig | 7 +++++++
arch/arm64/Kconfig | 1 +
arch/arm64/include/asm/compiler.h | 16 ++++++++++++++++
arch/arm64/include/asm/memory.h | 16 ----------------
arch/s390/Kconfig | 1 +
arch/x86/Kconfig | 5 +++--
drivers/firmware/qemu_fw_cfg.c | 8 +++-----
include/linux/compiler.h | 10 ++++++++++
include/linux/compiler_attributes.h | 19 ++++++++++++++++---
include/linux/compiler_types.h | 2 +-
include/linux/mm.h | 10 ----------
init/Kconfig | 3 +++
kernel/gcov/Kconfig | 1 +
14 files changed, 74 insertions(+), 37 deletions(-)
--
Kees Cook