aboutsummaryrefslogtreecommitdiff
path: root/devel/electron37/files/patch-third__party_perfetto_src_base_utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'devel/electron37/files/patch-third__party_perfetto_src_base_utils.cc')
-rw-r--r--devel/electron37/files/patch-third__party_perfetto_src_base_utils.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/devel/electron37/files/patch-third__party_perfetto_src_base_utils.cc b/devel/electron37/files/patch-third__party_perfetto_src_base_utils.cc
new file mode 100644
index 000000000000..c0aa10bdb0ee
--- /dev/null
+++ b/devel/electron37/files/patch-third__party_perfetto_src_base_utils.cc
@@ -0,0 +1,47 @@
+--- third_party/perfetto/src/base/utils.cc.orig 2025-04-22 20:15:27 UTC
++++ third_party/perfetto/src/base/utils.cc
+@@ -38,7 +38,8 @@
+ #include <mach/vm_page_size.h>
+ #endif
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+ #include <sys/prctl.h>
+
+@@ -279,14 +280,22 @@ std::string GetCurExecutablePath() {
+
+ std::string GetCurExecutablePath() {
+ std::string self_path;
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ char buf[PATH_MAX];
+ ssize_t size = readlink("/proc/self/exe", buf, sizeof(buf));
+ PERFETTO_CHECK(size != -1);
+ // readlink does not null terminate.
+ self_path = std::string(buf, static_cast<size_t>(size));
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
++ char *buf;
++ const char *cpath = "/usr/local/chrome/chrome";
++ if ((buf = getenv("CHROME_EXE_PATH")) != NULL)
++ self_path = std::string(buf);
++ else
++ self_path = std::string(cpath);
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
+ uint32_t size = 0;
+ PERFETTO_CHECK(_NSGetExecutablePath(nullptr, &size));
+@@ -338,7 +347,8 @@ bool IsSyncMemoryTaggingEnabled() {
+ }
+
+ bool IsSyncMemoryTaggingEnabled() {
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+ // Compute only once per lifetime of the process.
+ static bool cached_value = [] {