diff options
author | jmbills <jason.m.bills@intel.com> | 2022-01-18 21:55:05 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-18 21:55:05 +0300 |
commit | 7cf0c1cd0ce835d1833509b7b911e8a97380278b (patch) | |
tree | 0b45c3beaa9874facc4ed1a2395a31e42be0135d /poky/meta/recipes-kernel | |
parent | 4dac5fcd49b5e2de1074f1363775ec0f19041072 (diff) | |
parent | 1fc0d70f658da30091bcd49f9bf29aecd6b99ba7 (diff) | |
download | openbmc-7cf0c1cd0ce835d1833509b7b911e8a97380278b.tar.xz |
Merge pull request #76 from Intel-BMC/update1-0.86
Update
Diffstat (limited to 'poky/meta/recipes-kernel')
25 files changed, 1518 insertions, 172 deletions
diff --git a/poky/meta/recipes-kernel/dtc/dtc.inc b/poky/meta/recipes-kernel/dtc/dtc.inc index 12508b235..bfdc9f863 100644 --- a/poky/meta/recipes-kernel/dtc/dtc.inc +++ b/poky/meta/recipes-kernel/dtc/dtc.inc @@ -2,7 +2,7 @@ SUMMARY = "Device Tree Compiler" HOMEPAGE = "https://devicetree.org/" DESCRIPTION = "The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels." SECTION = "bootloader" -LICENSE = "GPLv2 | BSD" +LICENSE = "GPLv2 | BSD-2-Clause" DEPENDS = "flex-native bison-native" SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git \ diff --git a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb index d12ad4e6f..95ff5e6ef 100644 --- a/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb +++ b/poky/meta/recipes-kernel/kexec/kexec-tools_2.0.22.bb @@ -54,8 +54,8 @@ do_install:append () { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper - install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_unitdir}/system/kdump.service - sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_unitdir}/system/kdump.service + install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_system_unitdir}/kdump.service + sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_system_unitdir}/kdump.service fi } @@ -69,7 +69,7 @@ FILES:kdump = "${sbindir}/kdump \ ${sysconfdir}/sysconfig/kdump.conf \ ${sysconfdir}/init.d/kdump \ ${libexecdir}/kdump-helper \ - ${systemd_unitdir}/system/kdump.service \ + ${systemd_system_unitdir}/kdump.service \ " FILES:vmcore-dmesg = "${sbindir}/vmcore-dmesg" diff --git a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.14.bb index 556ca07f2..282c04d79 100644 --- a/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.13.bb +++ b/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.14.bb @@ -14,5 +14,7 @@ SRC_URI:append = "\ LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -SRC_URI[md5sum] = "76c60fb304510a7bbd9c838790bc5fe4" -SRC_URI[sha256sum] = "3f6baa97f37518439f51df2e4f3d65a822ca5ff016aa8e60d2cc53b95a6c89d9" +SRC_URI[md5sum] = "a082ef5748b813abca0649dab8be5f52" +SRC_URI[sha256sum] = "7e068b5e0d26a62b10e5320b25dce57588cbbc6f781c090442138c9c9c3271b2" + + diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index 091178700..f58b5ab0b 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "5.14+" +LINUX_VERSION ?= "5.15+" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb index d1100817d..097dd7b5f 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.10.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "c8efa3efd890f35f8037a8c3533ba52e6de83fdf" +SRCREV_machine ?= "31e2870ebfd892708e8c5f3aced96565e2456ed9" SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.10.60" +LINUX_VERSION ?= "5.10.63" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.14.bb index e59536cc3..a147e632e 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.13.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.14.bb @@ -1,4 +1,4 @@ -KBRANCH ?= "v5.13/standard/preempt-rt/base" +KBRANCH ?= "v5.14/standard/preempt-rt/base" require recipes-kernel/linux/linux-yocto.inc @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "1c1c5e42a518434b8c24d511aae442ac19386977" -SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3" +SRCREV_machine ?= "7630ebb9fd510cf7aa31b6f1dd472f3b0442afb3" +SRCREV_meta ?= "42d2cf670ed06f4dddd2a035611a519ea68e2d26" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}" + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.14;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.13.12" +LINUX_VERSION ?= "5.14.6" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb index b2af273aa..0693a5761 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.10.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.10.60" +LINUX_VERSION ?= "5.10.63" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,8 +15,8 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine:qemuarm ?= "ffaf70463da1502399f192470dae2d2fbdc7cfbc" -SRCREV_machine ?= "f92b026dba8bd4e55a5cc88b6231f9118a6ac26b" +SRCREV_machine:qemuarm ?= "96ec3026283d29493f757a077f9c51e6d698c634" +SRCREV_machine ?= "29ff88e6cdf170fbf71e27de32c09e4f6db95078" SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.14.bb index 201f7efcb..20ff40d26 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.13.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.14.bb @@ -1,12 +1,12 @@ -KBRANCH ?= "v5.13/standard/tiny/base" -KBRANCH:qemuarm ?= "v5.13/standard/tiny/arm-versatile-926ejs" +KBRANCH ?= "v5.14/standard/tiny/base" +KBRANCH:qemuarm ?= "v5.14/standard/tiny/arm-versatile-926ejs" LINUX_KERNEL_TYPE = "tiny" KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.13.12" +LINUX_VERSION ?= "5.14.6" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,14 +15,14 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine:qemuarm ?= "c0183d7ce4d9aa263ec9c8f8b7dc8f6df4302095" -SRCREV_machine ?= "a4458dd292e90a28566ef9283a15c435c11bca2d" -SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3" +SRCREV_machine:qemuarm ?= "ee2ccc84e65ade5ba0f8e1a700fba29a755746a1" +SRCREV_machine ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818" +SRCREV_meta ?= "42d2cf670ed06f4dddd2a035611a519ea68e2d26" PV = "${LINUX_VERSION}+git${SRCPV}" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}" + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.14;destsuffix=${KMETA}" COMPATIBLE_MACHINE = "qemux86|qemux86-64|qemuarm|qemuarmv5" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb index f1fe87abd..7c163436f 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.10.bb @@ -13,16 +13,16 @@ KBRANCH:qemux86 ?= "v5.10/standard/base" KBRANCH:qemux86-64 ?= "v5.10/standard/base" KBRANCH:qemumips64 ?= "v5.10/standard/mti-malta64" -SRCREV_machine:qemuarm ?= "1d02041bcc6eb8969d832e89b5c893d717b7ed04" -SRCREV_machine:qemuarm64 ?= "2675ef4d9aefc588d16d085718866a33c62c10e6" -SRCREV_machine:qemumips ?= "b503b2da9b2487453a9d9b0fa99654f00e1ad311" -SRCREV_machine:qemuppc ?= "4ef9462af524cbbfcb719304a923e51f88cc3e68" -SRCREV_machine:qemuriscv64 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b" -SRCREV_machine:qemuriscv32 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b" -SRCREV_machine:qemux86 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b" -SRCREV_machine:qemux86-64 ?= "65ba2a0d8428c23b7b4375994d417157a35a251b" -SRCREV_machine:qemumips64 ?= "2d0707a62d33b1626329fde6ed9e906f5aba3022" -SRCREV_machine ?= "65ba2a0d8428c23b7b4375994d417157a35a251b" +SRCREV_machine:qemuarm ?= "36e0cc294f77cf72b01a1f9ea62bb13d1ab0693e" +SRCREV_machine:qemuarm64 ?= "a1c9c936088b6cf4ec56f5180672d6f0e8e3b955" +SRCREV_machine:qemumips ?= "4962920baaee3235448b48e992a3da0259dcfa57" +SRCREV_machine:qemuppc ?= "57b30ad7f8a6c3be0ad8eac742476da3f97c23f3" +SRCREV_machine:qemuriscv64 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4" +SRCREV_machine:qemuriscv32 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4" +SRCREV_machine:qemux86 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4" +SRCREV_machine:qemux86-64 ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4" +SRCREV_machine:qemumips64 ?= "a615aa60bc10bea5262f2d65da7ddff4ba32146e" +SRCREV_machine ?= "164ed895bc1e94722e80fe6496b176f6bb815cd4" SRCREV_meta ?= "bce2813b162bb472c137fb503951295a931c25b6" # remap qemuarm to qemuarma15 for the 5.8 kernel @@ -32,7 +32,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.10;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.10.60" +LINUX_VERSION ?= "5.10.63" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.14.bb index f20d7b18b..0c6fbff75 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.13.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.14.bb @@ -1,29 +1,29 @@ -KBRANCH ?= "v5.13/standard/base" +KBRANCH ?= "v5.14/standard/base" require recipes-kernel/linux/linux-yocto.inc # board specific branches -KBRANCH:qemuarm ?= "v5.13/standard/arm-versatile-926ejs" -KBRANCH:qemuarm64 ?= "v5.13/standard/qemuarm64" -KBRANCH:qemumips ?= "v5.13/standard/mti-malta32" -KBRANCH:qemuppc ?= "v5.13/standard/qemuppc" -KBRANCH:qemuriscv64 ?= "v5.13/standard/base" -KBRANCH:qemuriscv32 ?= "v5.13/standard/base" -KBRANCH:qemux86 ?= "v5.13/standard/base" -KBRANCH:qemux86-64 ?= "v5.13/standard/base" -KBRANCH:qemumips64 ?= "v5.13/standard/mti-malta64" +KBRANCH:qemuarm ?= "v5.14/standard/arm-versatile-926ejs" +KBRANCH:qemuarm64 ?= "v5.14/standard/qemuarm64" +KBRANCH:qemumips ?= "v5.14/standard/mti-malta32" +KBRANCH:qemuppc ?= "v5.14/standard/qemuppc" +KBRANCH:qemuriscv64 ?= "v5.14/standard/base" +KBRANCH:qemuriscv32 ?= "v5.14/standard/base" +KBRANCH:qemux86 ?= "v5.14/standard/base" +KBRANCH:qemux86-64 ?= "v5.14/standard/base" +KBRANCH:qemumips64 ?= "v5.14/standard/mti-malta64" -SRCREV_machine:qemuarm ?= "7bf87cf7827b03e8eca31063b118ebc11d5c5ee5" -SRCREV_machine:qemuarm64 ?= "448966e7f96755f3b735a43c3d3895cb29c0e76e" -SRCREV_machine:qemumips ?= "6fd77ca515af94b780f49d6403a0bafdee1c60c2" -SRCREV_machine:qemuppc ?= "14ecf9f266afdcfd8ca9308ed90f4a7a5a2adcd0" -SRCREV_machine:qemuriscv64 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124" -SRCREV_machine:qemuriscv32 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124" -SRCREV_machine:qemux86 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124" -SRCREV_machine:qemux86-64 ?= "49ec738aa7f6a59d11b46f61dea82965018f3124" -SRCREV_machine:qemumips64 ?= "95713ce4053b8acd170fc99503f9b076e5f3cec3" -SRCREV_machine ?= "49ec738aa7f6a59d11b46f61dea82965018f3124" -SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3" +SRCREV_machine:qemuarm ?= "8226a3a65df2dbae0fe71e9ff54cba70a9ba85e5" +SRCREV_machine:qemuarm64 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818" +SRCREV_machine:qemumips ?= "b5389debd85300e24b877f25c2e90381f1df7678" +SRCREV_machine:qemuppc ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818" +SRCREV_machine:qemuriscv64 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818" +SRCREV_machine:qemuriscv32 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818" +SRCREV_machine:qemux86 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818" +SRCREV_machine:qemux86-64 ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818" +SRCREV_machine:qemumips64 ?= "56cc67b699194944809832f4c8f58b9828f02bf9" +SRCREV_machine ?= "7ae156be3bdbf033839f7f3ec2e9a0ffffb18818" +SRCREV_meta ?= "42d2cf670ed06f4dddd2a035611a519ea68e2d26" # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll # get the <version>/base branch, which is pure upstream -stable, and the same @@ -31,18 +31,18 @@ SRCREV_meta ?= "c38435a3cacf424fa686ecac9a95ef8349b83bb3" # normal PREFERRED_VERSION settings. BBCLASSEXTEND = "devupstream:target" DEFAULT_PREFERENCE:class-devupstream = "-1" -SRCREV_machine:class-devupstream ?= "f428e49b8cb1fbd9b4b4b29ea31b6991d2ff7de1" +SRCREV_machine:class-devupstream ?= "6a7ababc0268063d0798c46d5859a90ee996612f" PN:class-devupstream = "linux-yocto-upstream" -KBRANCH:class-devupstream = "v5.13/base" +KBRANCH:class-devupstream = "v5.14/base" # remap qemuarm to qemuarma15 for the 5.8 kernel # KMACHINE:qemuarm ?= "qemuarma15" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.13;destsuffix=${KMETA}" + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.14;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -LINUX_VERSION ?= "5.13.12" +LINUX_VERSION ?= "5.14.6" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch new file mode 100644 index 000000000..4e52e5f12 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch @@ -0,0 +1,394 @@ +From 8be4c8a38ee1e297578e094a6e4c143ec5259aba Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Mon, 13 Sep 2021 12:00:38 -0400 +Subject: [PATCH 1/2] fix: cpu/hotplug: Remove deprecated CPU-hotplug + functions. (v5.15) + +The CPU-hotplug functions get|put_online_cpus() were deprecated in v4.13 +and removed in v5.15. + +See upstream commits : + +commit 8c854303ce0e38e5bbedd725ff39da7e235865d8 +Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Date: Tue Aug 3 16:16:21 2021 +0200 + + cpu/hotplug: Remove deprecated CPU-hotplug functions. + + No users in tree use the deprecated CPU-hotplug functions anymore. + + Remove them. + +Introduced in v4.13 : + + commit 8f553c498e1772cccb39a114da4a498d22992758 + Author: Thomas Gleixner <tglx@linutronix.de> + Date: Wed May 24 10:15:12 2017 +0200 + + cpu/hotplug: Provide cpus_read|write_[un]lock() + + The counting 'rwsem' hackery of get|put_online_cpus() is going to be + replaced by percpu rwsem. + + Rename the functions to make it clear that it's locking and not some + refcount style interface. These new functions will be used for the + preparatory patches which make the code ready for the percpu rwsem + conversion. + + Rename all instances in the cpu hotplug code while at it. + +Upstream-Status: backport [https://git.lttng.org/?p=lttng-modules.git;a=commit;h=ffcc873470121ef1ebb110df3d9038a38d9cb7cb] + +Change-Id: I5a37cf5afc075a402b7347989fac637dfa60a1ed +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +--- + include/wrapper/cpu.h | 44 +++++++++++++++++++++++ + src/lib/ringbuffer/ring_buffer_backend.c | 8 ++--- + src/lib/ringbuffer/ring_buffer_frontend.c | 17 ++++----- + src/lib/ringbuffer/ring_buffer_iterator.c | 15 ++++---- + src/lttng-context-perf-counters.c | 11 +++--- + src/lttng-statedump-impl.c | 6 ++-- + 6 files changed, 74 insertions(+), 27 deletions(-) + create mode 100644 include/wrapper/cpu.h + +diff --git a/include/wrapper/cpu.h b/include/wrapper/cpu.h +new file mode 100644 +index 00000000..cbee1962 +--- /dev/null ++++ b/include/wrapper/cpu.h +@@ -0,0 +1,44 @@ ++/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) ++ * ++ * wrapper/cpu.h ++ * ++ * Copyright (C) 2021 Michael Jeanson <mjeanson@efficios.com> ++ */ ++ ++#ifndef _LTTNG_WRAPPER_CPU_H ++#define _LTTNG_WRAPPER_CPU_H ++ ++#include <linux/cpu.h> ++#include <lttng/kernel-version.h> ++ ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0)) ++ ++static inline ++void lttng_cpus_read_lock(void) ++{ ++ cpus_read_lock(); ++} ++ ++static inline ++void lttng_cpus_read_unlock(void) ++{ ++ cpus_read_unlock(); ++} ++ ++#else /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0) */ ++ ++static inline ++void lttng_cpus_read_lock(void) ++{ ++ get_online_cpus(); ++} ++ ++static inline ++void lttng_cpus_read_unlock(void) ++{ ++ put_online_cpus(); ++} ++ ++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0) */ ++ ++#endif /* _LTTNG_WRAPPER_CPU_H */ +diff --git a/src/lib/ringbuffer/ring_buffer_backend.c b/src/lib/ringbuffer/ring_buffer_backend.c +index 26efb2bc..9a339be0 100644 +--- a/src/lib/ringbuffer/ring_buffer_backend.c ++++ b/src/lib/ringbuffer/ring_buffer_backend.c +@@ -12,10 +12,10 @@ + #include <linux/delay.h> + #include <linux/errno.h> + #include <linux/slab.h> +-#include <linux/cpu.h> + #include <linux/mm.h> + #include <linux/vmalloc.h> + ++#include <wrapper/cpu.h> + #include <wrapper/mm.h> + #include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <ringbuffer/config.h> +@@ -445,14 +445,14 @@ int channel_backend_init(struct channel_backend *chanb, + chanb->cpu_hp_notifier.priority = 5; + register_hotcpu_notifier(&chanb->cpu_hp_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(i) { + ret = lib_ring_buffer_create(per_cpu_ptr(chanb->buf, i), + chanb, i); + if (ret) + goto free_bufs; /* cpu hotplug locked */ + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(i) { + ret = lib_ring_buffer_create(per_cpu_ptr(chanb->buf, i), +@@ -485,7 +485,7 @@ free_bufs: + */ + #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ + #ifdef CONFIG_HOTPLUG_CPU +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + unregister_hotcpu_notifier(&chanb->cpu_hp_notifier); + #endif + #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ +diff --git a/src/lib/ringbuffer/ring_buffer_frontend.c b/src/lib/ringbuffer/ring_buffer_frontend.c +index e9056118..87a575d0 100644 +--- a/src/lib/ringbuffer/ring_buffer_frontend.c ++++ b/src/lib/ringbuffer/ring_buffer_frontend.c +@@ -48,6 +48,7 @@ + #include <ringbuffer/iterator.h> + #include <ringbuffer/nohz.h> + #include <wrapper/atomic.h> ++#include <wrapper/cpu.h> + #include <wrapper/kref.h> + #include <wrapper/percpu-defs.h> + #include <wrapper/timer.h> +@@ -724,7 +725,7 @@ static void channel_unregister_notifiers(struct lttng_kernel_ring_buffer_channel + int cpu; + + #ifdef CONFIG_HOTPLUG_CPU +- get_online_cpus(); ++ lttng_cpus_read_lock(); + chan->cpu_hp_enable = 0; + for_each_online_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, +@@ -732,7 +733,7 @@ static void channel_unregister_notifiers(struct lttng_kernel_ring_buffer_channel + lib_ring_buffer_stop_switch_timer(buf); + lib_ring_buffer_stop_read_timer(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + unregister_cpu_notifier(&chan->cpu_hp_notifier); + #else + for_each_possible_cpu(cpu) { +@@ -772,14 +773,14 @@ void lib_ring_buffer_set_quiescent_channel(struct lttng_kernel_ring_buffer_chann + const struct lttng_kernel_ring_buffer_config *config = &chan->backend.config; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); + + lib_ring_buffer_set_quiescent(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + struct lttng_kernel_ring_buffer *buf = chan->backend.buf; + +@@ -794,14 +795,14 @@ void lib_ring_buffer_clear_quiescent_channel(struct lttng_kernel_ring_buffer_cha + const struct lttng_kernel_ring_buffer_config *config = &chan->backend.config; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); + + lib_ring_buffer_clear_quiescent(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + struct lttng_kernel_ring_buffer *buf = chan->backend.buf; + +@@ -899,7 +900,7 @@ struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kerne + chan->cpu_hp_notifier.priority = 6; + register_cpu_notifier(&chan->cpu_hp_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); +@@ -909,7 +910,7 @@ struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kerne + spin_unlock(&per_cpu(ring_buffer_nohz_lock, cpu)); + } + chan->cpu_hp_enable = 1; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, +diff --git a/src/lib/ringbuffer/ring_buffer_iterator.c b/src/lib/ringbuffer/ring_buffer_iterator.c +index 25839af6..60c95ca6 100644 +--- a/src/lib/ringbuffer/ring_buffer_iterator.c ++++ b/src/lib/ringbuffer/ring_buffer_iterator.c +@@ -10,6 +10,7 @@ + */ + + #include <ringbuffer/iterator.h> ++#include <wrapper/cpu.h> + #include <wrapper/file.h> + #include <wrapper/uaccess.h> + #include <linux/jiffies.h> +@@ -440,13 +441,13 @@ int channel_iterator_init(struct lttng_kernel_ring_buffer_channel *chan) + chan->hp_iter_notifier.priority = 10; + register_cpu_notifier(&chan->hp_iter_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + buf = per_cpu_ptr(chan->backend.buf, cpu); + lib_ring_buffer_iterator_init(chan, buf); + } + chan->hp_iter_enable = 1; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(cpu) { + buf = per_cpu_ptr(chan->backend.buf, cpu); +@@ -519,7 +520,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + CHAN_WARN_ON(chan, config->output != RING_BUFFER_ITERATOR); + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + /* Allow CPU hotplug to keep track of opened reader */ + chan->iter.read_open = 1; + for_each_channel_cpu(cpu, chan) { +@@ -529,7 +530,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + goto error; + buf->iter.read_open = 1; + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + buf = channel_get_ring_buffer(config, chan, 0); + ret = lib_ring_buffer_iterator_open(buf); +@@ -538,7 +539,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + error: + /* Error should always happen on CPU 0, hence no close is required. */ + CHAN_WARN_ON(chan, cpu != 0); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + return ret; + } + EXPORT_SYMBOL_GPL(channel_iterator_open); +@@ -550,7 +551,7 @@ void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan) + int cpu; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + buf = channel_get_ring_buffer(config, chan, cpu); + if (buf->iter.read_open) { +@@ -559,7 +560,7 @@ void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan) + } + } + chan->iter.read_open = 0; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + buf = channel_get_ring_buffer(config, chan, 0); + lib_ring_buffer_iterator_release(buf); +diff --git a/src/lttng-context-perf-counters.c b/src/lttng-context-perf-counters.c +index b0227d47..372f05e0 100644 +--- a/src/lttng-context-perf-counters.c ++++ b/src/lttng-context-perf-counters.c +@@ -16,6 +16,7 @@ + #include <lttng/events.h> + #include <lttng/events-internal.h> + #include <ringbuffer/frontend_types.h> ++#include <wrapper/cpu.h> + #include <wrapper/vmalloc.h> + #include <wrapper/perf.h> + #include <lttng/tracer.h> +@@ -97,10 +98,10 @@ void lttng_destroy_perf_counter_ctx_field(void *priv) + { + int cpu; + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) + perf_event_release_kernel(events[cpu]); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #ifdef CONFIG_HOTPLUG_CPU + unregister_cpu_notifier(&perf_field->nb); + #endif +@@ -304,7 +305,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, + perf_field->nb.priority = 0; + register_cpu_notifier(&perf_field->nb); + #endif +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + events[cpu] = wrapper_perf_event_create_kernel_counter(attr, + cpu, NULL, overflow_callback); +@@ -317,7 +318,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, + goto counter_busy; + } + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + perf_field->hp_enable = 1; + } + #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ +@@ -351,7 +352,7 @@ counter_error: + if (events[cpu] && !IS_ERR(events[cpu])) + perf_event_release_kernel(events[cpu]); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #ifdef CONFIG_HOTPLUG_CPU + unregister_cpu_notifier(&perf_field->nb); + #endif +diff --git a/src/lttng-statedump-impl.c b/src/lttng-statedump-impl.c +index 4dfbca0b..2b42783a 100644 +--- a/src/lttng-statedump-impl.c ++++ b/src/lttng-statedump-impl.c +@@ -23,7 +23,6 @@ + #include <linux/file.h> + #include <linux/interrupt.h> + #include <linux/irqnr.h> +-#include <linux/cpu.h> + #include <linux/netdevice.h> + #include <linux/inetdevice.h> + #include <linux/mm.h> +@@ -34,6 +33,7 @@ + + #include <lttng/events.h> + #include <lttng/tracer.h> ++#include <wrapper/cpu.h> + #include <wrapper/irqdesc.h> + #include <wrapper/fdtable.h> + #include <wrapper/namespace.h> +@@ -770,7 +770,7 @@ int do_lttng_statedump(struct lttng_kernel_session *session) + * is to guarantee that each CPU has been in a state where is was in + * syscall mode (i.e. not in a trap, an IRQ or a soft IRQ). + */ +- get_online_cpus(); ++ lttng_cpus_read_lock(); + atomic_set(&kernel_threads_to_run, num_online_cpus()); + for_each_online_cpu(cpu) { + INIT_DELAYED_WORK(&cpu_work[cpu], lttng_statedump_work_func); +@@ -778,7 +778,7 @@ int do_lttng_statedump(struct lttng_kernel_session *session) + } + /* Wait for all threads to run */ + __wait_event(statedump_wq, (atomic_read(&kernel_threads_to_run) == 0)); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + /* Our work is done */ + trace_lttng_statedump_end(session); + return 0; +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch new file mode 100644 index 000000000..5b5edc531 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch @@ -0,0 +1,829 @@ +From c570be0da77e963d77bac099d468bc0cd5f1bd63 Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Mon, 13 Sep 2021 14:16:22 -0400 +Subject: [PATCH 2/2] fix: Revert "Makefile: Enable -Wimplicit-fallthrough for + Clang" (v5.15) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Starting with v5.15, "-Wimplicit-fallthrough=5" was added to the build +flags which requires the use of "__attribute__((__fallthrough__))" to +annotate fallthrough case statements. + +See upstream commit by the man himself: + + commit d936eb23874433caa3e3d841cfa16f5434b85dcf + Author: Linus Torvalds <torvalds@linux-foundation.org> + Date: Thu Jul 15 18:05:31 2021 -0700 + + Revert "Makefile: Enable -Wimplicit-fallthrough for Clang" + + This reverts commit b7eb335e26a9c7f258c96b3962c283c379d3ede0. + + It turns out that the problem with the clang -Wimplicit-fallthrough + warning is not about the kernel source code, but about clang itself, and + that the warning is unusable until clang fixes its broken ways. + + In particular, when you enable this warning for clang, you not only get + warnings about implicit fallthroughs. You also get this: + + warning: fallthrough annotation in unreachable code [-Wimplicit-fallthrough] + + which is completely broken becasue it + + (a) doesn't even tell you where the problem is (seriously: no line + numbers, no filename, no nothing). + + (b) is fundamentally broken anyway, because there are perfectly valid + reasons to have a fallthrough statement even if it turns out that + it can perhaps not be reached. + + In the kernel, an example of that second case is code in the scheduler: + + switch (state) { + case cpuset: + if (IS_ENABLED(CONFIG_CPUSETS)) { + cpuset_cpus_allowed_fallback(p); + state = possible; + break; + } + fallthrough; + case possible: + + where if CONFIG_CPUSETS is enabled you actually never hit the + fallthrough case at all. But that in no way makes the fallthrough + wrong. + + So the warning is completely broken, and enabling it for clang is a very + bad idea. + + In the meantime, we can keep the gcc option enabled, and make the gcc + build use + + -Wimplicit-fallthrough=5 + + which means that we will at least continue to require a proper + fallthrough statement, and that gcc won't silently accept the magic + comment versions. Because gcc does this all correctly, and while the odd + "=5" part is kind of obscure, it's documented in [1]: + + "-Wimplicit-fallthrough=5 doesn’t recognize any comments as + fallthrough comments, only attributes disable the warning" + + so if clang ever fixes its bad behavior we can try enabling it there again. + +Upstream-Status: backport [https://git.lttng.org/?p=lttng-modules.git;a=commit;h=c190d76e8c7b44d62b3651ab845b765c1b1f8104] + +Change-Id: Iea69849592fb69ac04fb9bb28efcd6b8dce8ba88 +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +--- + include/counter/counter-api.h | 4 +- + include/lttng/events-internal.h | 11 ++- + include/wrapper/compiler_attributes.h | 34 +++++++ + src/lib/counter/counter.c | 13 ++- + src/lttng-abi.c | 91 ++++++++++++------ + src/lttng-bytecode-interpreter.c | 4 +- + src/lttng-bytecode-specialize.c | 5 +- + src/lttng-events.c | 129 +++++++++++++++++--------- + src/lttng-string-utils.c | 3 +- + src/probes/lttng-kretprobes.c | 7 +- + 10 files changed, 215 insertions(+), 86 deletions(-) + create mode 100644 include/wrapper/compiler_attributes.h + +diff --git a/include/counter/counter-api.h b/include/counter/counter-api.h +index fbc65818..c9f2b141 100644 +--- a/include/counter/counter-api.h ++++ b/include/counter/counter-api.h +@@ -15,6 +15,7 @@ + #include <linux/bitops.h> + #include <counter/counter.h> + #include <counter/counter-internal.h> ++#include <wrapper/compiler_attributes.h> + #include <wrapper/limits.h> + + /* +@@ -256,7 +257,8 @@ static __always_inline int lttng_counter_add(const struct lib_counter_config *co + const size_t *dimension_indexes, int64_t v) + { + switch (config->alloc) { +- case COUNTER_ALLOC_PER_CPU: /* Fallthrough */ ++ case COUNTER_ALLOC_PER_CPU: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: + return __lttng_counter_add_percpu(config, counter, dimension_indexes, v); + case COUNTER_ALLOC_GLOBAL: +diff --git a/include/lttng/events-internal.h b/include/lttng/events-internal.h +index cd560de8..ca2190c4 100644 +--- a/include/lttng/events-internal.h ++++ b/include/lttng/events-internal.h +@@ -8,6 +8,8 @@ + #ifndef _LTTNG_EVENTS_INTERNAL_H + #define _LTTNG_EVENTS_INTERNAL_H + ++#include <wrapper/compiler_attributes.h> ++ + #include <lttng/events.h> + + struct lttng_syscall_filter; +@@ -561,9 +563,12 @@ static inline bool lttng_kernel_type_is_bytewise_integer(const struct lttng_kern + if (!type_integer) + return false; + switch (type_integer->size) { +- case 8: /* Fall-through. */ +- case 16: /* Fall-through. */ +- case 32: /* Fall-through. */ ++ case 8: ++ lttng_fallthrough; ++ case 16: ++ lttng_fallthrough; ++ case 32: ++ lttng_fallthrough; + case 64: + break; + default: +diff --git a/include/wrapper/compiler_attributes.h b/include/wrapper/compiler_attributes.h +new file mode 100644 +index 00000000..c2c96e76 +--- /dev/null ++++ b/include/wrapper/compiler_attributes.h +@@ -0,0 +1,34 @@ ++/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) ++ * ++ * wrapper/compiler_attributes.h ++ * ++ * Copyright (C) 2021 Michael Jeanson <mjeanson@efficios.com> ++ */ ++ ++#ifndef _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H ++#define _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H ++ ++#include <lttng/kernel-version.h> ++ ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0)) ++#include <linux/compiler_attributes.h> ++#endif ++ ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0)) ++ ++/* ++ * Use the kernel provided fallthrough attribute macro. ++ */ ++#define lttng_fallthrough fallthrough ++ ++#else /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0) */ ++ ++/* ++ * Fallback to the comment for kernels pre 5.15 that don't build with ++ * '-Wimplicit-fallthrough=5'. ++ */ ++#define lttng_fallthrough do {} while (0) /* fallthrough */ ++ ++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,4,0) */ ++ ++#endif /* _LTTNG_WRAPPER_COMPILER_ATTRIBUTES_H */ +diff --git a/src/lib/counter/counter.c b/src/lib/counter/counter.c +index a4500a0e..bf038aac 100644 +--- a/src/lib/counter/counter.c ++++ b/src/lib/counter/counter.c +@@ -11,6 +11,7 @@ + #include <linux/cpumask.h> + #include <counter/counter.h> + #include <counter/counter-internal.h> ++#include <wrapper/compiler_attributes.h> + #include <wrapper/vmalloc.h> + #include <wrapper/limits.h> + +@@ -324,7 +325,8 @@ int lttng_counter_aggregate(const struct lib_counter_config *config, + *underflow = false; + + switch (config->alloc) { +- case COUNTER_ALLOC_GLOBAL: /* Fallthrough */ ++ case COUNTER_ALLOC_GLOBAL: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: + /* Read global counter. */ + ret = lttng_counter_read(config, counter, dimension_indexes, +@@ -342,7 +344,8 @@ int lttng_counter_aggregate(const struct lib_counter_config *config, + switch (config->alloc) { + case COUNTER_ALLOC_GLOBAL: + break; +- case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: /* Fallthrough */ ++ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU: + //TODO: integrate with CPU hotplug and online cpus + for (cpu = 0; cpu < num_possible_cpus(); cpu++) { +@@ -448,7 +451,8 @@ int lttng_counter_clear(const struct lib_counter_config *config, + int cpu, ret; + + switch (config->alloc) { +- case COUNTER_ALLOC_GLOBAL: /* Fallthrough */ ++ case COUNTER_ALLOC_GLOBAL: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: + /* Clear global counter. */ + ret = lttng_counter_clear_cpu(config, counter, dimension_indexes, -1); +@@ -462,7 +466,8 @@ int lttng_counter_clear(const struct lib_counter_config *config, + switch (config->alloc) { + case COUNTER_ALLOC_GLOBAL: + break; +- case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: /* Fallthrough */ ++ case COUNTER_ALLOC_PER_CPU | COUNTER_ALLOC_GLOBAL: ++ lttng_fallthrough; + case COUNTER_ALLOC_PER_CPU: + //TODO: integrate with CPU hotplug and online cpus + for (cpu = 0; cpu < num_possible_cpus(); cpu++) { +diff --git a/src/lttng-abi.c b/src/lttng-abi.c +index cc453894..eac1afd1 100644 +--- a/src/lttng-abi.c ++++ b/src/lttng-abi.c +@@ -34,6 +34,7 @@ + #include <ringbuffer/vfs.h> + #include <ringbuffer/backend.h> + #include <ringbuffer/frontend.h> ++#include <wrapper/compiler_attributes.h> + #include <wrapper/poll.h> + #include <wrapper/file.h> + #include <wrapper/kref.h> +@@ -1332,7 +1333,8 @@ long lttng_metadata_ring_buffer_ioctl(struct file *filp, + */ + return -ENOSYS; + } +- case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: /* Fall-through. */ ++ case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH: + { + struct lttng_metadata_stream *stream = filp->private_data; +@@ -1441,7 +1443,8 @@ long lttng_metadata_ring_buffer_compat_ioctl(struct file *filp, + */ + return -ENOSYS; + } +- case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: /* Fall-through. */ ++ case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH_EMPTY: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_RING_BUFFER_FLUSH: + { + struct lttng_metadata_stream *stream = filp->private_data; +@@ -1758,8 +1761,10 @@ int lttng_abi_validate_event_param(struct lttng_kernel_abi_event *event_param) + switch (event_param->instrumentation) { + case LTTNG_KERNEL_ABI_SYSCALL: + switch (event_param->u.syscall.entryexit) { +- case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: /* Fall-through */ +- case LTTNG_KERNEL_ABI_SYSCALL_EXIT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_SYSCALL_EXIT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL_ENTRYEXIT: + break; + default: +@@ -1783,20 +1788,26 @@ int lttng_abi_validate_event_param(struct lttng_kernel_abi_event *event_param) + switch (event_param->u.kretprobe.entryexit) { + case LTTNG_KERNEL_ABI_SYSCALL_ENTRYEXIT: + break; +- case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: /* Fall-through */ +- case LTTNG_KERNEL_ABI_SYSCALL_EXIT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_SYSCALL_ENTRY: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_SYSCALL_EXIT: ++ lttng_fallthrough; + default: + return -EINVAL; + } + break; + +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + return -EINVAL; + } +@@ -1830,18 +1841,23 @@ int lttng_abi_create_event(struct file *channel_file, + } + + switch (event_param->instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + fops = <tng_event_recorder_enabler_fops; + break; +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + fops = <tng_event_recorder_event_fops; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + return -EINVAL; + } +@@ -1867,7 +1883,8 @@ int lttng_abi_create_event(struct file *channel_file, + goto event_error; + + switch (event_param->instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + { + struct lttng_event_enabler *event_enabler; +@@ -1887,8 +1904,10 @@ int lttng_abi_create_event(struct file *channel_file, + break; + } + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + { + struct lttng_kernel_event_recorder *event; +@@ -1908,8 +1927,10 @@ int lttng_abi_create_event(struct file *channel_file, + break; + } + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + ret = -EINVAL; + goto event_error; +@@ -2043,18 +2064,23 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file, + } + + switch (event_notifier_param->event.instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + fops = <tng_event_notifier_enabler_fops; + break; +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + fops = <tng_event_notifier_event_fops; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + ret = -EINVAL; + goto inval_instr; +@@ -2086,7 +2112,8 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file, + goto event_notifier_error; + + switch (event_notifier_param->event.instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + { + struct lttng_event_notifier_enabler *enabler; +@@ -2110,8 +2137,10 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file, + break; + } + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + { + struct lttng_kernel_event_notifier *event_notifier; +@@ -2135,8 +2164,10 @@ int lttng_abi_create_event_notifier(struct file *event_notifier_group_file, + break; + } + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + ret = -EINVAL; + goto event_notifier_error; +diff --git a/src/lttng-bytecode-interpreter.c b/src/lttng-bytecode-interpreter.c +index b46a23b7..a2a932c6 100644 +--- a/src/lttng-bytecode-interpreter.c ++++ b/src/lttng-bytecode-interpreter.c +@@ -7,6 +7,7 @@ + * Copyright (C) 2010-2016 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> + */ + ++#include <wrapper/compiler_attributes.h> + #include <wrapper/uaccess.h> + #include <wrapper/objtool.h> + #include <wrapper/types.h> +@@ -421,7 +422,8 @@ static int dynamic_get_index(struct lttng_kernel_probe_ctx *lttng_probe_ctx, + } + break; + case LOAD_ROOT_CONTEXT: +- case LOAD_ROOT_APP_CONTEXT: /* Fall-through */ ++ lttng_fallthrough; ++ case LOAD_ROOT_APP_CONTEXT: + { + ret = context_get_index(lttng_probe_ctx, + &stack_top->u.ptr, +diff --git a/src/lttng-bytecode-specialize.c b/src/lttng-bytecode-specialize.c +index c4b9d04b..f8b5f19d 100644 +--- a/src/lttng-bytecode-specialize.c ++++ b/src/lttng-bytecode-specialize.c +@@ -8,6 +8,8 @@ + */ + + #include <linux/slab.h> ++#include <wrapper/compiler_attributes.h> ++ + #include <lttng/lttng-bytecode.h> + #include <lttng/align.h> + #include <lttng/events-internal.h> +@@ -271,7 +273,8 @@ static int specialize_get_index(struct bytecode_runtime *runtime, + } + case OBJECT_TYPE_STRUCT: + /* Only generated by the specialize phase. */ +- case OBJECT_TYPE_VARIANT: /* Fall-through */ ++ case OBJECT_TYPE_VARIANT: ++ lttng_fallthrough; + default: + printk(KERN_WARNING "LTTng: bytecode: Unexpected get index type %d", + (int) stack_top->load.object_type); +diff --git a/src/lttng-events.c b/src/lttng-events.c +index e785fe4d..230e3934 100644 +--- a/src/lttng-events.c ++++ b/src/lttng-events.c +@@ -28,6 +28,7 @@ + #include <linux/vmalloc.h> + #include <linux/dmi.h> + ++#include <wrapper/compiler_attributes.h> + #include <wrapper/uuid.h> + #include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <wrapper/random.h> +@@ -659,12 +660,14 @@ int lttng_event_enable(struct lttng_kernel_event_common *event) + goto end; + } + switch (event->priv->instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + ret = -EINVAL; + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + WRITE_ONCE(event->enabled, 1); + break; +@@ -673,8 +676,10 @@ int lttng_event_enable(struct lttng_kernel_event_common *event) + ret = lttng_kretprobes_event_enable_state(event, 1); + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -719,12 +724,14 @@ int lttng_event_disable(struct lttng_kernel_event_common *event) + goto end; + } + switch (event->priv->instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + ret = -EINVAL; + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + WRITE_ONCE(event->enabled, 0); + break; +@@ -733,8 +740,10 @@ int lttng_event_disable(struct lttng_kernel_event_common *event) + ret = lttng_kretprobes_event_enable_state(event, 0); + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -873,15 +882,20 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l + event_name = event_desc->event_name; + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_UPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + event_name = event_param->name; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -1093,8 +1107,10 @@ struct lttng_kernel_event_recorder *_lttng_kernel_event_recorder_create(struct l + WARN_ON_ONCE(!ret); + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -1141,15 +1157,20 @@ struct lttng_kernel_event_notifier *_lttng_event_notifier_create( + event_name = event_desc->event_name; + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_UPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + event_name = event_notifier_param->event.name; + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -1296,9 +1317,12 @@ struct lttng_kernel_event_notifier *_lttng_event_notifier_create( + WARN_ON_ONCE(!ret); + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + ret = -EINVAL; +@@ -1423,14 +1447,18 @@ void register_event(struct lttng_kernel_event_recorder *event_recorder) + ret = lttng_syscall_filter_enable_event(event_recorder->chan, event_recorder); + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_UPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_UPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_KRETPROBE: + ret = 0; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1481,7 +1509,8 @@ int _lttng_event_unregister(struct lttng_kernel_event_recorder *event_recorder) + ret = 0; + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1512,14 +1541,18 @@ void register_event_notifier(struct lttng_kernel_event_notifier *event_notifier) + ret = lttng_syscall_filter_enable_event_notifier(event_notifier); + break; + +- case LTTNG_KERNEL_ABI_KPROBE: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KPROBE: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_UPROBE: + ret = 0; + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1559,9 +1592,12 @@ int _lttng_event_notifier_unregister( + ret = lttng_syscall_filter_disable_event_notifier(event_notifier); + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1614,8 +1650,10 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event) + lttng_uprobes_destroy_event_private(event_recorder); + break; + +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -1647,9 +1685,12 @@ void _lttng_event_destroy(struct lttng_kernel_event_common *event) + lttng_uprobes_destroy_event_notifier_private(event_notifier); + break; + +- case LTTNG_KERNEL_ABI_KRETPROBE: /* Fall-through */ +- case LTTNG_KERNEL_ABI_FUNCTION: /* Fall-through */ +- case LTTNG_KERNEL_ABI_NOOP: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_KRETPROBE: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_FUNCTION: ++ lttng_fallthrough; ++ case LTTNG_KERNEL_ABI_NOOP: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -2713,7 +2754,8 @@ void lttng_session_sync_event_enablers(struct lttng_kernel_session *session) + int nr_filters = 0; + + switch (event_recorder_priv->parent.instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + /* Enable events */ + list_for_each_entry(enabler_ref, +@@ -2807,7 +2849,8 @@ void lttng_event_notifier_group_sync_enablers(struct lttng_event_notifier_group + int nr_filters = 0, nr_captures = 0; + + switch (event_notifier_priv->parent.instrumentation) { +- case LTTNG_KERNEL_ABI_TRACEPOINT: /* Fall-through */ ++ case LTTNG_KERNEL_ABI_TRACEPOINT: ++ lttng_fallthrough; + case LTTNG_KERNEL_ABI_SYSCALL: + /* Enable event_notifiers */ + list_for_each_entry(enabler_ref, +@@ -3877,7 +3920,7 @@ int print_escaped_ctf_string(struct lttng_kernel_session *session, const char *s + if (ret) + goto error; + /* We still print the current char */ +- /* Fallthrough */ ++ lttng_fallthrough; + default: + ret = lttng_metadata_printf(session, "%c", cur); + break; +diff --git a/src/lttng-string-utils.c b/src/lttng-string-utils.c +index d9447903..65946193 100644 +--- a/src/lttng-string-utils.c ++++ b/src/lttng-string-utils.c +@@ -4,6 +4,7 @@ + */ + + #include <linux/types.h> ++#include <wrapper/compiler_attributes.h> + + #include <lttng/string-utils.h> + +@@ -302,7 +303,7 @@ retry: + p = pattern_get_char_at_cb(p_at, + pattern_get_char_at_cb_data); + +- /* Fall-through. */ ++ lttng_fallthrough; + default: + /* + * Default case which will compare the escaped +diff --git a/src/probes/lttng-kretprobes.c b/src/probes/lttng-kretprobes.c +index 0fa6a1bf..1d0a5ecb 100644 +--- a/src/probes/lttng-kretprobes.c ++++ b/src/probes/lttng-kretprobes.c +@@ -14,6 +14,7 @@ + #include <lttng/events.h> + #include <lttng/events-internal.h> + #include <ringbuffer/frontend_types.h> ++#include <wrapper/compiler_attributes.h> + #include <wrapper/vmalloc.h> + #include <wrapper/irqflags.h> + #include <lttng/tracer.h> +@@ -61,7 +62,8 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi, + return 0; + break; + } +- case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: /* Fall-through. */ ++ case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +@@ -90,7 +92,8 @@ int _lttng_kretprobes_handler(struct kretprobe_instance *krpi, + chan->ops->event_commit(&ctx); + break; + } +- case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: /* Fall-through. */ ++ case LTTNG_KERNEL_EVENT_TYPE_NOTIFIER: ++ lttng_fallthrough; + default: + WARN_ON_ONCE(1); + } +-- +2.19.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb index 72d912eaf..6dfde8dca 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.0.bb @@ -9,7 +9,10 @@ inherit module include lttng-platforms.inc -SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2" +SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ + file://0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch \ + file://0002-fix-Revert-Makefile-Enable-Wimplicit-fallthrough-for.patch \ + " # Use :append here so that the patch is applied also when using devupstream SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch" @@ -38,7 +41,7 @@ LIC_FILES_CHKSUM:class-devupstream = "file://LICENSE;md5=0464cff101a009c403cd2ed DEFAULT_PREFERENCE:class-devupstream = "-1" SRC_URI:class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.13" -SRCREV:class-devupstream = "f982b51a98a29cb4aaf607cb9bbf2b509d8e6933" -PV:class-devupstream = "2.13.0-rc2+git${SRCPV}" +SRCREV:class-devupstream = "c570be0da77e963d77bac099d468bc0cd5f1bd63" +PV:class-devupstream = "2.13.0+git${SRCPV}" S:class-devupstream = "${WORKDIR}/git" SRCREV_FORMAT ?= "lttng_git" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-src-common-correct-header-location.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-src-common-correct-header-location.patch new file mode 100644 index 000000000..925b51c3c --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-src-common-correct-header-location.patch @@ -0,0 +1,41 @@ +From 790ef313364d1f1efb6f283705bb324eea2979ba Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Sun, 5 Sep 2021 10:13:08 +0200 +Subject: [PATCH] src/common: correct header location + +sys/unistd.h is not guaranteed to exist, and does not with +e.g. musl C library. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + src/common/kernel-probe.c | 2 +- + src/common/userspace-probe.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/common/kernel-probe.c b/src/common/kernel-probe.c +index 2beb53f..44100bc 100644 +--- a/src/common/kernel-probe.c ++++ b/src/common/kernel-probe.c +@@ -20,7 +20,7 @@ + #include <lttng/kernel-probe.h> + #include <sys/stat.h> + #include <sys/types.h> +-#include <sys/unistd.h> ++#include <unistd.h> + + static + int lttng_kernel_probe_location_address_serialize( +diff --git a/src/common/userspace-probe.c b/src/common/userspace-probe.c +index 67b0ee6..66afc6f 100644 +--- a/src/common/userspace-probe.c ++++ b/src/common/userspace-probe.c +@@ -20,7 +20,7 @@ + #include <lttng/userspace-probe-internal.h> + #include <sys/stat.h> + #include <sys/types.h> +-#include <sys/unistd.h> ++#include <unistd.h> + + static + int lttng_userspace_probe_location_function_set_binary_fd_handle( diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch deleted file mode 100644 index 08c142331..000000000 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-regression-disable-the-tools-live-tests.patch +++ /dev/null @@ -1,55 +0,0 @@ -From de9fc501e775cae05f1f87534b4237cd78e8d9a8 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 24 Jan 2020 18:03:25 +0100 -Subject: [PATCH] tests/regression: disable the tools/live tests - -They have been found to sporadically fail; the issue has been -reported upstream and they will work to investigate and fix: -https://bugs.lttng.org/issues/1217 - -Upstream-Status: Inappropriate [upstream is working on a real fix] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - tests/regression/Makefile.am | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) - -diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am -index cbac90d..d467886 100644 ---- a/tests/regression/Makefile.am -+++ b/tests/regression/Makefile.am -@@ -11,16 +11,10 @@ TESTS = tools/filtering/test_invalid_filter \ - tools/filtering/test_valid_filter \ - tools/streaming/test_ust \ - tools/health/test_thread_ok \ -- tools/live/test_ust \ -- tools/live/test_ust_tracefile_count \ -- tools/live/test_lttng_ust \ - tools/tracefile-limits/test_tracefile_count \ - tools/tracefile-limits/test_tracefile_size \ -- tools/exclusion/test_exclusion \ - tools/snapshots/test_ust_fast \ -- tools/snapshots/test_ust_streaming \ - tools/save-load/test_save \ -- tools/save-load/test_load \ - tools/save-load/test_autoload \ - tools/mi/test_mi \ - tools/wildcard/test_event_wildcard \ -@@ -38,8 +32,7 @@ TESTS = tools/filtering/test_invalid_filter \ - tools/working-directory/test_relayd_working_directory \ - tools/notification/test_notification_multi_app \ - tools/clear/test_ust \ -- tools/clear/test_kernel \ -- tools/tracker/test_event_tracker -+ tools/clear/test_kernel - - if HAVE_LIBLTTNG_UST_CTL - SUBDIRS += ust -@@ -60,7 +53,6 @@ TESTS += ust/before-after/test_before_after \ - ust/multi-lib/test_multi_lib \ - ust/rotation-destroy-flush/test_rotation_destroy_flush \ - ust/namespaces/test_ns_contexts \ -- ust/namespaces/test_ns_contexts_change \ - tools/metadata/test_ust \ - tools/relayd-grouping/test_ust - endif # HAVE_LIBLTTNG_UST_CTL diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-wait-some-more-before-analysing-traces-or-star.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-wait-some-more-before-analysing-traces-or-star.patch new file mode 100644 index 000000000..c4cac9cc5 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0001-tests-wait-some-more-before-analysing-traces-or-star.patch @@ -0,0 +1,88 @@ +From 8d9daede0882d239b0a47b0f7a6db68ba4934a7d Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Sat, 4 Sep 2021 13:57:39 +0200 +Subject: [PATCH] tests: wait some more before analysing traces or starting + tracing + +Otherwise, there are sporadic race failures where lttng tracing +is stopped before all expected events are collected or is started too soon, e.g.: + +PASS: tools/tracker/test_event_tracker 205 - Traced application stopped. +PASS: tools/tracker/test_event_tracker 206 - Stop lttng tracing for session +PASS: tools/tracker/test_event_tracker 207 - Destroy session tracker +FAIL: tools/tracker/test_event_tracker 208 - Validate empty trace + +PASS: ust/namespaces/test_ns_contexts_change 42 - Stop lttng tracing for session mnt_ns +PASS: ust/namespaces/test_ns_contexts_change 43 - Destroy session mnt_ns +PASS: ust/namespaces/test_ns_contexts_change 44 - Wait after kill session daemon +PASS: ust/namespaces/test_ns_contexts_change 45 - Validate trace for event mnt_ns = 4026531840, 1000 events +PASS: ust/namespaces/test_ns_contexts_change 46 - Read a total of 1000 events, expected 1000 +PASS: ust/namespaces/test_ns_contexts_change 47 - Validate trace for event mnt_ns = 4026532303, 233 events +FAIL: ust/namespaces/test_ns_contexts_change 48 - Read a total of 233 events, expected 1000 + +This is a hack; issue should be fixed upstream with explicit syncs. +It has been reported here: https://bugs.lttng.org/issues/1217 + +Upstream-Status: Inappropriate [needs a real fix] +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + tests/regression/tools/tracker/test_event_tracker | 8 ++++++++ + tests/regression/ust/namespaces/test_ns_contexts_change | 2 ++ + 2 files changed, 10 insertions(+) + +diff --git a/tests/regression/tools/tracker/test_event_tracker b/tests/regression/tools/tracker/test_event_tracker +index feb3787..a0f2257 100755 +--- a/tests/regression/tools/tracker/test_event_tracker ++++ b/tests/regression/tools/tracker/test_event_tracker +@@ -130,6 +130,8 @@ function test_event_vpid_tracker() + + prepare_"$domain"_app + ++sleep 5 ++ + start_lttng_tracing_ok + + if [ "$expect_event" -eq 1 ]; then +@@ -173,6 +175,8 @@ function test_event_pid_tracker() + + prepare_"$domain"_app + ++sleep 5 ++ + start_lttng_tracing_ok + + if [ "$expect_event" -eq 1 ]; then +@@ -275,6 +279,8 @@ function test_event_vpid_track_untrack() + + prepare_"$domain"_app + ++sleep 5 ++ + start_lttng_tracing_ok + + lttng_track_"$domain"_ok "--vpid ${CHILD_PID}" +@@ -315,6 +321,8 @@ function test_event_pid_track_untrack() + + prepare_"$domain"_app + ++sleep 5 ++ + start_lttng_tracing_ok + + lttng_track_"$domain"_ok "--pid ${CHILD_PID}" +diff --git a/tests/regression/ust/namespaces/test_ns_contexts_change b/tests/regression/ust/namespaces/test_ns_contexts_change +index c0af15e..b111bfe 100755 +--- a/tests/regression/ust/namespaces/test_ns_contexts_change ++++ b/tests/regression/ust/namespaces/test_ns_contexts_change +@@ -79,6 +79,8 @@ function test_ns() + + touch "$file_sync_before_last" + ++sleep 5 ++ + # stop and destroy + stop_lttng_tracing_ok "$session_name" + destroy_lttng_session_ok "$session_name" +-- +2.20.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest index eaa2e7b29..c4dbe50f2 100755 --- a/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/run-ptest @@ -1,6 +1,7 @@ #!/bin/sh # Without --ignore-exit, the tap harness causes any FAILs within a # test plan to raise ERRORs; this is just noise. +export LD_LIBRARY_PATH=FIXMEPTESTPATH/tests/utils/testapp/userspace-probe-elf-binary/.libs makeargs="LOG_DRIVER_FLAGS=--ignore-exit top_srcdir=$PWD top_builddir=$PWD" make -k -t all >/dev/null 2>&1 exec make -k -s $makeargs check 2>/dev/null | sed -e 's#/tmp/tmp\...........#/tmp/tmp.XXXXXXXXXX#g' diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.0.bb index dc2e1f324..47cab42fc 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.12.4.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.0.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=40ef17463fbd6f377db3c47b1cbaded8 \ include lttng-platforms.inc -DEPENDS = "liburcu popt libxml2 util-linux" +DEPENDS = "liburcu popt libxml2 util-linux bison-native" RDEPENDS:${PN} = "libgcc" RRECOMMENDS:${PN} += "${LTTNGMODULES}" RDEPENDS:${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod ${LTTNGMODULES} sed python3-core grep" @@ -25,7 +25,7 @@ PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ " -PACKAGECONFIG ??= "${LTTNGUST}" +PACKAGECONFIG ??= "${LTTNGUST} kmod" PACKAGECONFIG[python] = "--enable-python-bindings ${PYTHON_OPTION},,python3 swig-native" PACKAGECONFIG[lttng-ust] = "--with-lttng-ust, --without-lttng-ust, lttng-ust" PACKAGECONFIG[kmod] = "--with-kmod, --without-kmod, kmod" @@ -35,14 +35,17 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ file://0001-tests-do-not-strip-a-helper-library.patch \ file://run-ptest \ file://lttng-sessiond.service \ - file://0001-tests-regression-disable-the-tools-live-tests.patch \ file://determinism.patch \ + file://0001-src-common-correct-header-location.patch \ + file://0001-tests-wait-some-more-before-analysing-traces-or-star.patch \ " -SRC_URI[sha256sum] = "d729f8c2373a41194f171aeb0da0a9bb35ac181f31afa7e260786d19a500dea1" +SRC_URI[sha256sum] = "8dc894f9a7a840e943c1c344345c75f001a9529daa9157f1a0e6175c081c29e6" inherit autotools ptest pkgconfig useradd python3-dir manpages systemd +CACHED_CONFIGUREVARS = "PGREP=/usr/bin/pgrep" + SYSTEMD_SERVICE:${PN} = "lttng-sessiond.service" SYSTEMD_AUTO_ENABLE = "disable" @@ -64,22 +67,26 @@ PRIVATE_LIBS:${PN}-ptest = "libfoo.so" do_install:append () { # install systemd unit file - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_unitdir}/system + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_system_unitdir} } do_install_ptest () { for f in Makefile tests/Makefile tests/utils/utils.sh tests/regression/tools/save-load/*.lttng \ tests/regression/tools/save-load/configuration/load-42*.lttng tests/regression/tools/health/test_health.sh \ tests/regression/tools/metadata/utils.sh tests/regression/tools/rotation/rotate_utils.sh \ + tests/regression/tools/notification/util_event_generator.sh \ tests/regression/tools/base-path/*.lttng; do install -D "${B}/$f" "${D}${PTEST_PATH}/$f" done - for f in config/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.0.xsd; do + for f in tests/utils/tap-driver.sh config/test-driver src/common/config/session.xsd src/common/mi-lttng-4.1.xsd; do install -D "${S}/$f" "${D}${PTEST_PATH}/$f" done + # Patch in the correct path for the custom libraries a helper executable needs + sed -i -e 's!FIXMEPTESTPATH!${PTEST_PATH}!' "${D}${PTEST_PATH}/run-ptest" + # Prevent 'make check' from recursing into non-test subdirectories. sed -i -e 's!^SUBDIRS = .*!SUBDIRS = tests!' "${D}${PTEST_PATH}/Makefile" @@ -107,7 +114,7 @@ do_install_ptest () { for f in $(find "${B}/tests/$d" -maxdepth 1 -executable -type f -printf '%P ') ; do cp ${B}/tests/$d/$f ${D}${PTEST_PATH}/tests/`dirname $d`/$f case $f in - *.so) + *.so|userspace-probe-elf-binary) install -d ${D}${PTEST_PATH}/tests/$d/ ln -s ../$f ${D}${PTEST_PATH}/tests/$d/$f # Remove any rpath/runpath to pass QA check. @@ -175,3 +182,8 @@ do_install_ptest () { esac done } + +INHIBIT_PACKAGE_STRIP_FILES = "\ + ${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/userspace-probe-elf-binary \ + ${PKGD}${PTEST_PATH}/tests/utils/testapp/userspace-probe-elf-binary/.libs/userspace-probe-elf-binary \ + " diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch new file mode 100644 index 000000000..cbbf1df81 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-Makefile.am-update-rpath-link.patch @@ -0,0 +1,35 @@ +From 06279f50e924d1d55b43eb3b299f6633ecb1f7a4 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Wed, 22 Sep 2021 16:33:10 +0800 +Subject: [PATCH] Makefile.am: update rpath link + +since commit 6339062 Move liblttng-ust to 'src/lib/', +liblttng-ust.so/liblttng-ust-common.so/liblttng-ust-tracepoint.so +'s location changed from one dir to multiple dirs. which make below +error: +ld: warning: liblttng-ust-common.so.1, needed by ../../../src/lib/lttng-ust/.libs/liblttng-ust.so, not found (try using -rpath or -rpath-link) +ld: warning: liblttng-ust-tracepoint.so.1, needed by ../../../src/lib/lttng-ust/.libs/liblttng-ust.so, not found (try using -rpath or -rpath-link) + +Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/61] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + doc/examples/Makefile.am | 2 +- + 1 file changed, 1 insertions(+), 1 deletions(-) + +diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am +index 8ee0564..20d246c 100644 +--- a/doc/examples/Makefile.am ++++ b/doc/examples/Makefile.am +@@ -142,7 +142,7 @@ all-local: + CFLAGS='$(CFLAGS)' \ + AM_CFLAGS='$(AM_CFLAGS)' \ + LDFLAGS="$(LDFLAGS)" \ +- AM_LDFLAGS='$(AM_LDFLAGS) -L../../../src/lib/lttng-ust/.libs -Wl,-rpath="$(PWD)/../../src/lib/lttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../src/lib/lttng-ust/.libs/"' \ ++ AM_LDFLAGS='$(AM_LDFLAGS) -L../../../src/lib/lttng-ust/.libs -Wl,-rpath="$(PWD)/../../src/lib/lttng-ust/.libs/" -Wl,-rpath-link="$(PWD)/../../src/lib/lttng-ust/.libs/:$(PWD)/../../src/lib/lttng-ust-tracepoint/.libs:$(PWD)/../../src/lib/lttng-ust-common/.libs/"' \ + LTTNG_GEN_TP_PATH="$$rel_src_subdir$(top_srcdir)/tools/" \ + AM_V_P="$(AM_V_P)" \ + AM_V_at="$(AM_V_at)" \ +-- +2.17.1 + diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch new file mode 100644 index 000000000..2d61dfa52 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-lttng-ust-common-link-with-liburcu-explicitly.patch @@ -0,0 +1,25 @@ +From 2058584b7e87d6bd9d1765577766e0df7752232c Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex@linutronix.de> +Date: Sun, 5 Sep 2021 10:44:19 +0200 +Subject: [PATCH] lttng-ust-common: link with liburcu explicitly + +Otherwise linking errors are seen on x86-32. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex@linutronix.de> +--- + src/lib/lttng-ust-common/Makefile.am | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/lib/lttng-ust-common/Makefile.am b/src/lib/lttng-ust-common/Makefile.am +index caeea2b..30febf0 100644 +--- a/src/lib/lttng-ust-common/Makefile.am ++++ b/src/lib/lttng-ust-common/Makefile.am +@@ -15,6 +15,7 @@ liblttng_ust_common_la_SOURCES = \ + + liblttng_ust_common_la_LIBADD = \ + $(top_builddir)/src/common/libcommon.la \ ++ $(URCU_LIBS) \ + $(DL_LIBS) + + liblttng_ust_common_la_LDFLAGS = -no-undefined -version-info $(LTTNG_UST_LIBRARY_VERSION) diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch index c2028d0e1..fd9b6ea7f 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch +++ b/poky/meta/recipes-kernel/lttng/lttng-ust/0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch @@ -1,4 +1,4 @@ -From f79dac30af9adda12996da7f6aa6667d3b580537 Mon Sep 17 00:00:00 2001 +From dd1fdc841d069dbd4e284f430a88af79de951124 Mon Sep 17 00:00:00 2001 From: Robert Yang <liezhi.yang@windriver.com> Date: Thu, 26 Sep 2019 17:54:00 +0800 Subject: [PATCH] python-lttngust/Makefile.am: Add --install-lib to setup.py @@ -9,23 +9,21 @@ building. Upstream-Status: Submitted [https://github.com/lttng/lttng-ust/pull/59] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> + --- - python-lttngust/Makefile.am | 2 +- + src/python-lttngust/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/python-lttngust/Makefile.am b/python-lttngust/Makefile.am -index 6c0d20d..38b51b8 100644 ---- a/python-lttngust/Makefile.am -+++ b/python-lttngust/Makefile.am -@@ -9,7 +9,7 @@ install-exec-local: +diff --git a/src/python-lttngust/Makefile.am b/src/python-lttngust/Makefile.am +index f95482d..f76d95b 100644 +--- a/src/python-lttngust/Makefile.am ++++ b/src/python-lttngust/Makefile.am +@@ -32,7 +32,7 @@ install-exec-local: build-python-bindings.stamp if [ "$(DESTDIR)" != "" ]; then \ opts="$$opts --root=$(DESTDIR)"; \ fi; \ -- $(PYTHON) setup.py install $$opts; -+ $(PYTHON) setup.py install $$opts --install-lib=$(pythondir); +- $(PYTHON) $(builddir)/setup.py install $$opts; ++ $(PYTHON) $(builddir)/setup.py install $$opts --install-lib=$(pythondir); clean-local: rm -rf $(builddir)/build --- -2.7.4 - diff --git a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.0.bb index 54a473d2c..4ec92c068 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-ust_2.12.2.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-ust_2.13.0.bb @@ -4,16 +4,14 @@ HOMEPAGE = "http://lttng.org/ust" BUGTRACKER = "https://bugs.lttng.org/projects/lttng-ust" LICENSE = "LGPLv2.1+ & MIT & GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=c963eb366b781252b0bf0fdf1624d9e9 \ - file://snprintf/snprintf.c;endline=32;md5=d3d544959d8a3782b2e07451be0a903c \ - file://snprintf/various.h;endline=31;md5=89f2509b6b4682c4fc95255eec4abe44" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a46577a38ad0c36ff6ff43ccf40c480f" PYTHON_OPTION = "am_cv_python_pyexecdir='${PYTHON_SITEPACKAGES_DIR}' \ am_cv_python_pythondir='${PYTHON_SITEPACKAGES_DIR}' \ PYTHON_INCLUDE='-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}' \ " -inherit autotools lib_package manpages python3native +inherit autotools lib_package manpages python3native pkgconfig include lttng-platforms.inc @@ -31,9 +29,11 @@ PE = "2" SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ file://0001-python-lttngust-Makefile.am-Add-install-lib-to-setup.patch \ + file://0001-lttng-ust-common-link-with-liburcu-explicitly.patch \ + file://0001-Makefile.am-update-rpath-link.patch \ " -SRC_URI[sha256sum] = "bcd0f064b6ca88c72d84e760eac3472ae5c828411c634435922bee9fce359fc7" +SRC_URI[sha256sum] = "54e4c933679cf6a07971dc5861ce57fc4876ab740ab612407b30b5fc85371750" CVE_PRODUCT = "ust" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch b/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch deleted file mode 100644 index 4d044de7e..000000000 --- a/poky/meta/recipes-kernel/systemtap/systemtap/ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470 Mon Sep 17 00:00:00 2001 -From: Du Zhe <duzhe0211+sourceware@gmail.com> -Date: Tue, 13 Jul 2021 19:11:55 -0400 -Subject: [PATCH] runtime: fix unintended compile error with - autoconf-x86-uniregs.c - -Adding a #include <linux/sched.h> restores this test on the gentoo -linux-5.10.47-gentoo kernel. - -Upstream-Status: Backport ---- - runtime/linux/autoconf-x86-uniregs.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/runtime/linux/autoconf-x86-uniregs.c b/runtime/linux/autoconf-x86-uniregs.c -index 25729c220..232c18670 100644 ---- a/runtime/linux/autoconf-x86-uniregs.c -+++ b/runtime/linux/autoconf-x86-uniregs.c -@@ -1,3 +1,4 @@ -+#include <linux/sched.h> - #include <asm/ptrace.h> - - #if defined (__i386__) || defined (__x86_64__) --- -2.27.0 - diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb index 8161a448c..8f0de5f0f 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.bb +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.bb @@ -35,7 +35,7 @@ inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3-probes', 'distutils3-base PACKAGES =+ "${PN}-exporter" FILES:${PN}-exporter = "${sysconfdir}/stap-exporter/* \ ${sysconfdir}/sysconfig/stap-exporter \ - ${systemd_unitdir}/system/stap-exporter.service \ + ${systemd_system_unitdir}/stap-exporter.service \ ${sbindir}/stap-exporter" RDEPENDS:${PN}-exporter = "${PN} python3-core python3-netclient" SYSTEMD_SERVICE:${PN}-exporter = "stap-exporter.service" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc index 97d4435f8..b6ff98f0f 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc @@ -1,13 +1,12 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRCREV = "0eba8a46bc99c66e5dd274a9a4d661fe08ac4b8a" +SRCREV = "7f6992539fb22c93c21ac30c94508bf655d496a7" PV = "4.5" SRC_URI = "git://sourceware.org/git/systemtap.git \ file://0001-Do-not-let-configure-write-a-python-location-into-th.patch \ file://0001-Install-python-modules-to-correct-library-dir.patch \ file://0001-staprun-stapbpf-don-t-support-installing-a-non-root.patch \ - file://ef5a8b9eda402e4e96c4e3ce01e7ff95d3e10470.patch \ " COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64|microblazeel|mips).*-linux' |