[PATCH v1 00/13] tools header compiler.h update

From: Ian Rogers
Date: Sat Mar 09 2024 - 21:05:44 EST


Update tools/include/linux/compiler.h so that the definition of
noinline can be updated to avoid an LLVM libc breakage. Fix build
issues and try to synchronize other pieces on the way. For atomic.h,
don't try to synchronize and just punt to stdatomic.h that we can
assume is present since the move to C11.

Ian Rogers (13):
tools bpf: Synchronize bpf.h with kernel uapi version
libbpf: Make __printf define conditional
libperf xyarray: Use correct stddef.h include
perf expr: Add missing stdbool.h include
perf expr: Tidy up header guard
perf debug: Add missing linux/types.h include
perf cacheline: Add missing linux/types.h include
perf arm-spe: Add missing linux/types.h include
tools headers: Rewrite linux/atomic.h using C11's stdatomic.h
asm-generic: Avoid transitive dependency for unaligned.h
tools headers: Sync linux/overflow.h
tools headers: Sync compiler.h headers
tools headers: Rename noinline to __noinline

include/asm-generic/unaligned.h | 2 +
tools/arch/x86/include/asm/atomic.h | 84 ----
tools/include/asm-generic/atomic-gcc.h | 95 ----
tools/include/asm-generic/bitops/non-atomic.h | 1 +
tools/include/asm-generic/unaligned.h | 2 +
tools/include/asm/atomic.h | 11 -
tools/include/asm/rwonce.h | 63 +++
tools/include/linux/atomic.h | 107 ++++-
tools/include/linux/compiler-clang.h | 124 +++++
tools/include/linux/compiler-gcc.h | 145 +++++-
tools/include/linux/compiler.h | 221 ++-------
tools/include/linux/compiler_attributes.h | 449 ++++++++++++++++++
tools/include/linux/compiler_types.h | 171 ++++++-
tools/include/linux/overflow.h | 331 ++++++++++---
tools/include/linux/rbtree.h | 1 +
tools/include/linux/string.h | 1 +
tools/include/linux/types.h | 17 +-
tools/include/uapi/linux/bpf.h | 1 +
tools/lib/bpf/libbpf.c | 4 +-
tools/lib/perf/include/internal/xyarray.h | 2 +-
tools/perf/arch/x86/tests/bp-modify.c | 4 +-
tools/perf/bench/find-bit-bench.c | 2 +-
tools/perf/check-headers.sh | 4 +
tools/perf/tests/bp_account.c | 2 +-
tools/perf/tests/bp_signal.c | 2 +-
tools/perf/tests/bp_signal_overflow.c | 2 +-
tools/perf/tests/dwarf-unwind.c | 12 +-
tools/perf/tests/workloads/leafloop.c | 8 +-
tools/perf/tests/workloads/thloop.c | 4 +-
.../util/arm-spe-decoder/arm-spe-decoder.h | 1 +
.../arm-spe-decoder/arm-spe-pkt-decoder.c | 8 +-
tools/perf/util/cacheline.h | 1 +
tools/perf/util/debug.h | 1 +
tools/perf/util/expr.h | 8 +-
.../selftests/kvm/include/kvm_util_base.h | 3 +-
35 files changed, 1388 insertions(+), 506 deletions(-)
delete mode 100644 tools/arch/x86/include/asm/atomic.h
delete mode 100644 tools/include/asm-generic/atomic-gcc.h
delete mode 100644 tools/include/asm/atomic.h
create mode 100644 tools/include/asm/rwonce.h
create mode 100644 tools/include/linux/compiler-clang.h
create mode 100644 tools/include/linux/compiler_attributes.h

--
2.44.0.278.ge034bb2e1d-goog