From a2bd05f9ecd77150d0949f27397453f949d7362e Mon Sep 17 00:00:00 2001 From: Etienne Cordonnier Date: Fri, 20 Sep 2024 14:41:36 +0200 Subject: perfetto: upgrade 31.0 -> 47.0 Release Notes: https://github.com/google/perfetto/releases/tag/v47.0 Test procedure: Tested with TOOLCHAIN="clang" and MACHINE="qemux86-64" (using ARGS="is_debug=false enable_perfetto_x64_cpu_opt=false" in perfetto.bb because of missing SSE4.2,BMI2,AVX2 inside qemu): ``` root@qemux86-64:~# tracebox --out /tmp/perfetto dmesg sched freq idle am wm gfx view binder_driver hal dalvik camera input res memory [100.634] service.cc:232 Started traced, listening on @traced-p-310 @traced-c-310 [100.804] probes.cc:104 Starting traced_probes service [100.852] probes_producer.cc:332 Connected to the service [100.957] perf_producer.cc:1201 Connected to the service [100.979] perfetto_cmd.cc:1100 Connected to the Perfetto traced service, TTL: 10s [101.029] ng_service_impl.cc:1125 Configured tracing session 1, #sources:4, duration:10000 ms, #buffers:1, total buffer size:32768 KB, total sessions:1, uid:0 session name: "" [101.571] probes_producer.cc:132 Ftrace setup (target_buf=1) [101.574] ftrace_procfs.cc:441 disabled ftrace in /sys/kernel/tracing/ [101.679] ftrace_procfs.cc:295 Failed to setup event triggers for synthetic:rss_stat_throttled (errno: 22, Invalid argument) [101.682] atrace_wrapper.cc:196 Atrace only supported on Android. [101.757] ftrace_procfs.cc:438 enabled ftrace in /sys/kernel/tracing/ [111.091] ng_service_impl.cc:2103 FlushAndDisableTracing(1) done, success=1 [111.097] probes_producer.cc:445 Producer stop (id=1) [111.168] ftrace_procfs.cc:441 disabled ftrace in /sys/kernel/tracing/ [111.181] ftrace_procfs.cc:441 disabled ftrace in /sys/kernel/tracing/ [111.194] probes_producer.cc:445 Producer stop (id=2) [111.200] probes_producer.cc:445 Producer stop (id=3) [111.308] perfetto_cmd.cc:1263 Wrote 390764 bytes into /tmp/perfetto root@qemux86-64:~# ls -l /tmp/perfetto -rw------- 1 root root 390764 Sep 24 09:25 /tmp/perfetto ``` I then manually verified the file using https://ui.perfetto.dev/ Signed-off-by: Etienne Cordonnier Signed-off-by: Khem Raj --- .../perfetto/common/0001-fix-musl-build.patch | 40 ++++++++++++ ...missing-header-cstdint-for-uintXX_t-types.patch | 58 ----------------- .../0001-Remove-check_build_deps-build-steps.patch | 73 ---------------------- .../0001-meson-add-pc-file-for-lib_perfetto.patch | 49 --------------- meta-oe/recipes-devtools/perfetto/libperfetto.bb | 2 +- .../0001-meson-add-pc-file-for-lib_perfetto.patch | 53 ++++++++++++++++ meta-oe/recipes-devtools/perfetto/perfetto.bb | 30 +++++---- meta-oe/recipes-devtools/perfetto/perfetto.inc | 11 +++- .../0001-Remove-check_build_deps-build-steps.patch | 71 +++++++++++++++++++++ .../perfetto/0002-traced-fix-missing-include.patch | 28 +++++++++ 10 files changed, 218 insertions(+), 197 deletions(-) create mode 100644 meta-oe/recipes-devtools/perfetto/common/0001-fix-musl-build.patch delete mode 100644 meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch delete mode 100644 meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch delete mode 100644 meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch create mode 100644 meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch create mode 100644 meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch create mode 100644 meta-oe/recipes-devtools/perfetto/perfetto/0002-traced-fix-missing-include.patch (limited to 'meta-oe') diff --git a/meta-oe/recipes-devtools/perfetto/common/0001-fix-musl-build.patch b/meta-oe/recipes-devtools/perfetto/common/0001-fix-musl-build.patch new file mode 100644 index 0000000000..3b7ca951ae --- /dev/null +++ b/meta-oe/recipes-devtools/perfetto/common/0001-fix-musl-build.patch @@ -0,0 +1,40 @@ +From 485c21940eb0100a33b7efea40a83e7f79e765f8 Mon Sep 17 00:00:00 2001 +From: Etienne Cordonnier +Date: Sun, 22 Sep 2024 20:17:52 +0200 +Subject: [PATCH] fix musl build + +Signed-off-by: Etienne Cordonnier +--- +Upstream-Status: Pending + + sdk/perfetto.cc | 1 - + src/base/utils.cc | 1 - + 2 files changed, 2 deletions(-) + +diff --git a/sdk/perfetto.cc b/sdk/perfetto.cc +index b10dd5aa92..2eb90f0d15 100644 +--- a/sdk/perfetto.cc ++++ b/sdk/perfetto.cc +@@ -6558,7 +6558,6 @@ std::optional GetTimezoneOffsetMins() { + + #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +-#include + #include + + #ifndef PR_GET_TAGGED_ADDR_CTRL +diff --git a/src/base/utils.cc b/src/base/utils.cc +index 0d9318c136..419c7dbc1a 100644 +--- a/src/base/utils.cc ++++ b/src/base/utils.cc +@@ -40,7 +40,6 @@ + + #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +-#include + #include + + #ifndef PR_GET_TAGGED_ADDR_CTRL +-- +2.43.0 + diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch b/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch deleted file mode 100644 index d08721ae65..0000000000 --- a/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch +++ /dev/null @@ -1,58 +0,0 @@ -From e63949205682bbd2a0e33e256119472d704a2549 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 29 Jan 2023 22:03:01 -0800 -Subject: [PATCH] Add missing header for uintXX_t types - -This is detected by gcc-13 -gcc 13 moved some includes around and as a result is no -longer transitively included [1]. Explicitly include it for uintXX_t. - -[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes - -Upstream-Status: Submitted [https://android-review.googlesource.com/c/platform/external/perfetto/+/2399128] -Signed-off-by: Khem Raj ---- - include/perfetto/ext/base/http/sha1.h | 1 + - include/perfetto/ext/base/uuid.h | 1 + - src/traced/probes/common/cpu_freq_info.h | 1 + - 3 files changed, 3 insertions(+) - -diff --git a/include/perfetto/ext/base/http/sha1.h b/include/perfetto/ext/base/http/sha1.h -index c583d69d4..7e3a48c83 100644 ---- a/include/perfetto/ext/base/http/sha1.h -+++ b/include/perfetto/ext/base/http/sha1.h -@@ -20,6 +20,7 @@ - #include - - #include -+#include - #include - - namespace perfetto { -diff --git a/include/perfetto/ext/base/uuid.h b/include/perfetto/ext/base/uuid.h -index 1b4c53815..472042fab 100644 ---- a/include/perfetto/ext/base/uuid.h -+++ b/include/perfetto/ext/base/uuid.h -@@ -18,6 +18,7 @@ - #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_ - - #include -+#include - #include - - #include "perfetto/ext/base/optional.h" -diff --git a/src/traced/probes/common/cpu_freq_info.h b/src/traced/probes/common/cpu_freq_info.h -index 36f7f9c09..8232cbf64 100644 ---- a/src/traced/probes/common/cpu_freq_info.h -+++ b/src/traced/probes/common/cpu_freq_info.h -@@ -17,6 +17,7 @@ - #ifndef SRC_TRACED_PROBES_COMMON_CPU_FREQ_INFO_H_ - #define SRC_TRACED_PROBES_COMMON_CPU_FREQ_INFO_H_ - -+#include - #include - #include - #include --- -2.39.1 - diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch b/meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch deleted file mode 100644 index c10400aef4..0000000000 --- a/meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 3b7091243ec03054ca8800b51b85a1c09e7e3075 Mon Sep 17 00:00:00 2001 -From: Sui Chen -Date: Mon, 13 Jun 2022 17:46:49 +0000 -Subject: [PATCH] Remove "check_build_deps" build steps - -When building with Bitbake, we want Bitbake to manage our dependencies, -so we remove the "check_build_deps" steps from Perfetto. - -Also setting "is_cross_compiling" to true, so that the host-side tools -(such as protoc) will always be generated using the native toolchain, -rather than the Bitbake-generated one. - -Signed-off-by: Sui Chen ---- -Upstream-Status: Pending - - gn/BUILD.gn | 1 - - gn/standalone/BUILD.gn | 12 ++++++------ - gn/standalone/BUILDCONFIG.gn | 5 +++-- - 3 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/gn/BUILD.gn b/gn/BUILD.gn -index 8a7ca72a8..e4a2d39f0 100644 ---- a/gn/BUILD.gn -+++ b/gn/BUILD.gn -@@ -111,7 +111,6 @@ group("default_deps") { - deps = [ ":gen_buildflags" ] - if (perfetto_build_standalone) { - public_deps = [ -- "//gn/standalone:check_build_deps", - "//gn/standalone/libc++:deps", - "//gn/standalone/sanitizers:deps", - ] -diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn -index 582e9b867..9c77ac64c 100644 ---- a/gn/standalone/BUILD.gn -+++ b/gn/standalone/BUILD.gn -@@ -441,10 +441,10 @@ config("android_liblog") { - } - - # Checks that tools/install-build-deps has been run since it last changed. --perfetto_check_build_deps("check_build_deps") { -- args = [] --} -+#perfetto_check_build_deps("check_build_deps") { -+# args = [] -+#} - --perfetto_check_build_deps("check_build_deps_android") { -- args = [ "--android" ] --} -+#perfetto_check_build_deps("check_build_deps_android") { -+# args = [ "--android" ] -+#} -diff --git a/gn/standalone/BUILDCONFIG.gn b/gn/standalone/BUILDCONFIG.gn -index 6f32686c1..c041989b0 100644 ---- a/gn/standalone/BUILDCONFIG.gn -+++ b/gn/standalone/BUILDCONFIG.gn -@@ -59,8 +59,9 @@ declare_args() { - # the ossfuzz sanitizer overrides this to true. In that config the - # host/target cpu and arch are identical, but we want to build only the - # targets with the sanitizer/fuzzer flags -- is_cross_compiling = -- target_cpu != host_cpu || target_os != host_os || target_triplet != "" -+ -+ # for Bitbake build -+ is_cross_compiling = true - } - default_configs = [ - "//gn/standalone:debug_symbols", --- -2.37.1 - diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch b/meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch deleted file mode 100644 index ae644747c1..0000000000 --- a/meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 027f90dc9386ec08f2a5107025683e5fed6f3444 Mon Sep 17 00:00:00 2001 -From: Markus Volk -Date: Mon, 17 Oct 2022 19:20:53 +0200 -Subject: [PATCH] meson: add PC file for lib_perfetto - ---- -Upstream-Status: Pending - - meson.build | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - ---- a/meson.build -+++ b/meson.build -@@ -19,9 +19,12 @@ - project( - 'perfetto', - ['cpp'], -- default_options: ['cpp_std=c++17'] -+ default_options: ['cpp_std=c++17'], -+ version: '31.0' - ) - -+soversion = meson.project_version() -+ - fs = import('fs') - - if not fs.is_dir('sdk') -@@ -36,8 +39,9 @@ if host_machine.system() == 'android' - deps_perfetto += cpp.find_library('log') - endif - --lib_perfetto = static_library( -+lib_perfetto = shared_library( - 'perfetto', -+ version: soversion, - sources: 'sdk/perfetto.cc', - dependencies: deps_perfetto, - install: true, -@@ -50,6 +54,10 @@ dir_perfetto_trace = join_paths(meson.cu - - install_data(dir_perfetto_trace / 'perfetto_trace.proto') - -+install_headers('sdk/perfetto.h') -+pkg = import('pkgconfig') -+pkg.generate(lib_perfetto) -+ - dep_perfetto = declare_dependency( - link_with: lib_perfetto, - include_directories: inc_perfetto, diff --git a/meta-oe/recipes-devtools/perfetto/libperfetto.bb b/meta-oe/recipes-devtools/perfetto/libperfetto.bb index c8f56fd527..8383db3cc0 100644 --- a/meta-oe/recipes-devtools/perfetto/libperfetto.bb +++ b/meta-oe/recipes-devtools/perfetto/libperfetto.bb @@ -1,5 +1,5 @@ LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f87516e0b698007e9e75a1fe1012b390" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2572d98547d43906b53615f856a8c2d" require perfetto.inc diff --git a/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch b/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch new file mode 100644 index 0000000000..719663a802 --- /dev/null +++ b/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch @@ -0,0 +1,53 @@ +From 027f90dc9386ec08f2a5107025683e5fed6f3444 Mon Sep 17 00:00:00 2001 +From: Markus Volk +Date: Mon, 17 Oct 2022 19:20:53 +0200 +Subject: [PATCH] meson: add PC file for lib_perfetto + +Signed-off-by: Etienne Cordonnier +--- +Upstream-Status: Pending + + meson.build | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 8fb1e26275..3ef3ebf27d 100644 +--- a/meson.build ++++ b/meson.build +@@ -19,8 +19,11 @@ + project( + 'perfetto', + ['cpp'], ++ version: '47.0' + ) + ++soversion = meson.project_version() ++ + fs = import('fs') + + if not fs.is_dir('sdk') +@@ -35,8 +38,9 @@ if host_machine.system() == 'android' + deps_perfetto += cpp.find_library('log') + endif + +-lib_perfetto = static_library( ++lib_perfetto = shared_library( + 'perfetto', ++ version: soversion, + sources: 'sdk/perfetto.cc', + dependencies: deps_perfetto, + install: true, +@@ -50,6 +54,10 @@ dir_perfetto_trace = join_paths(meson.current_source_dir(), + + install_data(dir_perfetto_trace / 'perfetto_trace.proto') + ++install_headers('sdk/perfetto.h') ++pkg = import('pkgconfig') ++pkg.generate(lib_perfetto) ++ + dep_perfetto = declare_dependency( + link_with: lib_perfetto, + include_directories: inc_perfetto, +-- +2.43.0 + diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.bb b/meta-oe/recipes-devtools/perfetto/perfetto.bb index 884e0a024b..d2a6fbe654 100644 --- a/meta-oe/recipes-devtools/perfetto/perfetto.bb +++ b/meta-oe/recipes-devtools/perfetto/perfetto.bb @@ -1,16 +1,17 @@ LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib" -LIC_FILES_CHKSUM = "file://LICENSE;md5=f87516e0b698007e9e75a1fe1012b390 \ +LIC_FILES_CHKSUM = "file://LICENSE;md5=d2572d98547d43906b53615f856a8c2d \ file://buildtools/libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \ file://buildtools/libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \ file://buildtools/libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \ file://buildtools/protobuf/LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \ - file://buildtools/zlib/LICENSE;md5=f09575dbfb09420642318b413159496f \ + file://buildtools/zlib/LICENSE;md5=8c75f2b4df47a77f9445315a9500cd1c \ file://debian/copyright;md5=4e08364c82141f181de69d0a2b89d612 \ file://python/LICENSE;md5=c602a632c34ade9c78a976734077bce7" +# Dependencies from perfetto/tools/install-build-deps SRC_URI:append = " \ - git://github.com/protocolbuffers/protobuf.git;branch=3.9.x;protocol=https;destsuffix=git/buildtools/protobuf;name=protobuf \ + git://github.com/protocolbuffers/protobuf.git;branch=main;protocol=https;destsuffix=git/buildtools/protobuf;name=protobuf \ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git;protocol=https;destsuffix=git/buildtools/libcxx;branch=main;name=libcxx \ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git;protocol=https;destsuffix=git/buildtools/libcxxabi;branch=main;name=libcxxabi \ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git;protocol=https;destsuffix=git/buildtools/libunwind;branch=main;name=libunwind \ @@ -22,25 +23,28 @@ SRC_URI:append = " \ git://android.googlesource.com/platform/bionic.git;branch=master;protocol=https;destsuffix=git/buildtools/bionic;name=bionic \ git://android.googlesource.com/platform/external/zlib.git;branch=master;protocol=https;destsuffix=git/buildtools/zlib;name=zlib \ git://android.googlesource.com/platform/external/lzma.git;branch=master;protocol=https;destsuffix=git/buildtools/lzma;name=lzma \ + git://android.googlesource.com/platform/external/zstd.git;branch=master;protocol=https;destsuffix=git/buildtools/zstd;name=zstd \ https://storage.googleapis.com/perfetto/gn-linux64-1968-0725d782;subdir=git/buildtools/;name=gn \ \ file://0001-Remove-check_build_deps-build-steps.patch \ - file://0001-Add-missing-header-cstdint-for-uintXX_t-types.patch" + file://0002-traced-fix-missing-include.patch \ + " -SRCREV_bionic = "4b0e16bc72a82a63c699977376a7d6eadca1b206" +SRCREV_bionic = "a0d0355105cb9d4a4b5384897448676133d7b8e2" SRCREV_core = "9e6cef7f07d8c11b3ea820938aeb7ff2e9dbaa52" SRCREV_lzma = "7851dce6f4ca17f5caa1c93a4e0a45686b1d56c3" SRCREV_libprocinfo = "fd214c13ededecae97a3b15b5fccc8925a749a84" SRCREV_logging = "7b36b566c9113fc703d68f76e8f40c0c2432481c" -SRCREV_unwinding = "d66882575ebe3700d6a6b10185f3aee28acc1051" -SRCREV_protobuf = "6a59a2ad1f61d9696092f79b6d74368b4d7970a3" +SRCREV_unwinding = "4b59ea8471e89d01300481a92de3230b79b6d7c7" +SRCREV_protobuf = "f0dc78d7e6e331b8c6bb2d5283e06aa26883ca7c" SRCREV_libbase = "78f1c2f83e625bdf66d55b48bdb3a301c20d2fb3" -SRCREV_libcxx = "f8571eaba606bde2eb8cd34b30104ca33e7c207e" -SRCREV_libcxxabi = "8dd405113a4f3694e910b79785dd7fb7535a888a" -SRCREV_libunwind = "aabcd8753678f1536e15eb6385a948470debdae4" -SRCREV_zlib = "5c85a2da4c13eda07f69d81a1579a5afddd35f59" +SRCREV_libcxx = "852bc6746f45add53fec19f3a29280e69e358d44" +SRCREV_libcxxabi = "a37a3aa431f132b02a58656f13984d51098330a2" +SRCREV_libunwind = "419b03c0b8f20d6da9ddcb0d661a94a97cdd7dad" +SRCREV_zlib = "6d3f6aa0f87c9791ca7724c279ef61384f331dfd" +SRCREV_zstd = "77211fcc5e08c781734a386402ada93d0d18d093" -SRCREV_FORMAT .="_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib" +SRCREV_FORMAT .="_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib_zstd" SRC_URI[gn.sha256sum] = "f706aaa0676e3e22f5fc9ca482295d7caee8535d1869f99efa2358177b64f5cd" @@ -97,7 +101,7 @@ do_configure () { ARGS=$ARGS" target_os=\"linux\"" ARGS=$ARGS" target_cpu=\"$arch\"" ARGS=$ARGS" target_cc=\"$CC_BIN ${TUNE_CCARGS} ${DEBUG_PREFIX_MAP}\"" - ARGS=$ARGS" target_cxx=\"$CXX_BIN -std=c++11 ${TUNE_CCARGS} ${DEBUG_PREFIX_MAP}\"" + ARGS=$ARGS" target_cxx=\"$CXX_BIN ${TUNE_CCARGS} ${DEBUG_PREFIX_MAP}\"" ARGS=$ARGS" target_strip=\"$STRIP_BIN\"" # ARGS=$ARGS" target_sysroot=\"${RECIPE_SYSROOT}\"" ARGS=$ARGS" target_linker=\"$CC_BIN ${TUNE_CCARGS} ${LDFLAGS}\"" diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.inc b/meta-oe/recipes-devtools/perfetto/perfetto.inc index 4b06c5bf04..e0e4f04a23 100644 --- a/meta-oe/recipes-devtools/perfetto/perfetto.inc +++ b/meta-oe/recipes-devtools/perfetto/perfetto.inc @@ -1,10 +1,15 @@ SUMMARY = "Perfetto - System profiling, app tracing and trace analysis." HOMEPAGE = "https://github.com/google/perfetto" -SRC_URI = "git://github.com/google/perfetto.git;protocol=https;name=perfetto;nobranch=1" +FILESEXTRAPATHS:prepend := "${THISDIR}/common:" -SRCREV_perfetto = "b8da07095979310818f0efde2ef3c69ea70d62c5" +# Add only patches here which are used by both perfetto and libperfetto +SRC_URI = "git://github.com/google/perfetto.git;protocol=https;name=perfetto;nobranch=1 \ + file://0001-fix-musl-build.patch \ + " + +SRCREV_perfetto = "c74251226a8caa0b43377902ee06d2570faa0c15" SRCREV_FORMAT = "perfetto" -PV = "31.0" +PV = "47.0" S = "${WORKDIR}/git" diff --git a/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch b/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch new file mode 100644 index 0000000000..118c3aed4a --- /dev/null +++ b/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch @@ -0,0 +1,71 @@ +From 07ddc4b9b7a6fec73cdc295baba353944857212e Mon Sep 17 00:00:00 2001 +From: Sui Chen +Date: Mon, 13 Jun 2022 17:46:49 +0000 +Subject: [PATCH] Remove "check_build_deps" build steps + +When building with Bitbake, we want Bitbake to manage our dependencies, +so we remove the "check_build_deps" steps from Perfetto. + +Also setting "is_cross_compiling" to true, so that the host-side tools +(such as protoc) will always be generated using the native toolchain, +rather than the Bitbake-generated one. + +Signed-off-by: Sui Chen +Signed-off-by: Etienne Cordonnier +--- +Upstream-Status: Pending + + gn/BUILD.gn | 1 - + gn/standalone/BUILD.gn | 12 ++++++------ + gn/standalone/BUILDCONFIG.gn | 5 +++-- + 3 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/gn/BUILD.gn b/gn/BUILD.gn +index ed055ee700..ea79979ec5 100644 +--- a/gn/BUILD.gn ++++ b/gn/BUILD.gn +@@ -117,7 +117,6 @@ group("default_deps") { + deps = [ ":gen_buildflags" ] + if (perfetto_build_standalone) { + public_deps = [ +- "//gn/standalone:check_build_deps", + "//gn/standalone/libc++:deps", + "//gn/standalone/sanitizers:deps", + ] +diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn +index 36fb6371a5..f7bc97b1a6 100644 +--- a/gn/standalone/BUILD.gn ++++ b/gn/standalone/BUILD.gn +@@ -469,10 +469,10 @@ config("android_liblog") { + } + + # Checks that tools/install-build-deps has been run since it last changed. +-perfetto_check_build_deps("check_build_deps") { +- args = [] +-} ++#perfetto_check_build_deps("check_build_deps") { ++# args = [] ++#} + +-perfetto_check_build_deps("check_build_deps_android") { +- args = [ "--android" ] +-} ++#perfetto_check_build_deps("check_build_deps_android") { ++# args = [ "--android" ] ++#} +diff --git a/gn/standalone/BUILDCONFIG.gn b/gn/standalone/BUILDCONFIG.gn +index 05ed548f9d..94db724b2b 100644 +--- a/gn/standalone/BUILDCONFIG.gn ++++ b/gn/standalone/BUILDCONFIG.gn +@@ -59,8 +59,9 @@ declare_args() { + # the ossfuzz sanitizer overrides this to true. In that config the + # host/target cpu and arch are identical, but we want to build only the + # targets with the sanitizer/fuzzer flags +- is_cross_compiling = +- target_cpu != host_cpu || target_os != host_os || target_triplet != "" ++ ++ # for Bitbake build ++ is_cross_compiling = true + } + default_configs = [ + "//gn/standalone:default", diff --git a/meta-oe/recipes-devtools/perfetto/perfetto/0002-traced-fix-missing-include.patch b/meta-oe/recipes-devtools/perfetto/perfetto/0002-traced-fix-missing-include.patch new file mode 100644 index 0000000000..49b7989359 --- /dev/null +++ b/meta-oe/recipes-devtools/perfetto/perfetto/0002-traced-fix-missing-include.patch @@ -0,0 +1,28 @@ +From d005c0123b2f929b918359a53ffe61d7ca2212a0 Mon Sep 17 00:00:00 2001 +From: Lalit Maganti +Date: Wed, 14 Aug 2024 11:56:47 +0100 +Subject: [PATCH] traced: fix missing include + +Change-Id: Ib9ce8ce5b057e89fa451ccef228228d607b36793 +Signed-off-by: Etienne Cordonnier +--- +Upstream-Status: Backport [https://github.com/google/perfetto/commit/d005c0123b2f929b918359a53ffe61d7ca2212a0] + + src/traced/probes/sys_stats/sys_stats_data_source.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/traced/probes/sys_stats/sys_stats_data_source.h b/src/traced/probes/sys_stats/sys_stats_data_source.h +index e09cd8a2ca..7e4749bdcd 100644 +--- a/src/traced/probes/sys_stats/sys_stats_data_source.h ++++ b/src/traced/probes/sys_stats/sys_stats_data_source.h +@@ -21,6 +21,7 @@ + + #include + #include ++#include + #include + + #include "perfetto/ext/base/paged_memory.h" +-- +2.43.0 + -- cgit v1.2.3-54-g00ecf