From aeda796b741149873575615d8e79224a7b264ef5 Mon Sep 17 00:00:00 2001 From: Carlos Alberto Lopez Perez Date: Thu, 14 Dec 2023 04:29:47 -0800 Subject: [PATCH] [WPE][Tools] cross-toolchain-helper: add libbacktrace, libportal and change CPU frequency governor for RPis https://bugs.webkit.org/show_bug.cgi?id=266353 Reviewed by Philippe Normand. This updates the Yocto layers used for the RPi build with the following major changes: - meta-webkit: include libbacktrace and libportal into the base build. libbacktrace is required by the default build of WPE now and libportal is required by Cog since bug 266351 - meta-raspberrypi: stop setting "powersave" as the default CPU frequency governor and use "schedutil" instead. This will likely mean a big change in the performance results of all tests. See https://github.com/agherzan/meta-raspberrypi/pull/1243 for context. - poky, meta-openembedded: just update to the last version of the Mickledore branch - backport a change landed in meta-openembedded master to the Mickledore branch that updates libbacktrace to allow building it on riscv64. * Tools/yocto/meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch: Added. * Tools/yocto/riscv/manifest.xml: * Tools/yocto/rpi/manifest.xml: * Tools/yocto/targets.conf: Canonical link: https://commits.webkit.org/272030@main --- ...backtrace-patch-to-mickledore-branch.patch | 28 +++++++++++++++++++ Tools/yocto/riscv/manifest.xml | 8 +++--- Tools/yocto/rpi/manifest.xml | 8 +++--- Tools/yocto/targets.conf | 6 ++++ 4 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 Tools/yocto/meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch diff --git a/Tools/yocto/meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch b/Tools/yocto/meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch new file mode 100644 index 0000000000000..ddb3289b778d6 --- /dev/null +++ b/Tools/yocto/meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch @@ -0,0 +1,28 @@ +diff --git a/sources/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb b/sources/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb +index 609e55f4a..46fa81866 100644 +--- a/sources/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb ++++ b/sources/meta-openembedded/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb +@@ -11,20 +11,17 @@ DEPENDS += "libunwind" + SRC_URI = "git://github.com/ianlancetaylor/libbacktrace;protocol=https;branch=master" + + PV = "1.0+git${SRCPV}" +-SRCREV = "4f57c999716847e45505b3df170150876b545088" ++SRCREV = "9ae4f4ae4481b1e69d38ed810980d33103544613" + + S = "${WORKDIR}/git" + + inherit autotools + +-EXTR_OECONF += "--with-system-libunwind" +- +-CFLAGS += "-fPIC" ++EXTRA_OECONF += "--with-system-libunwind --enable-shared --disable-static" + + do_configure() { + oe_runconf + } + +-# libunwind does not support RISCV yet +-COMPATIBLE_HOST:riscv64 = "null" ++# libunwind does not support RISCV32 yet + COMPATIBLE_HOST:riscv32 = "null" diff --git a/Tools/yocto/riscv/manifest.xml b/Tools/yocto/riscv/manifest.xml index 89e94b2bd33d5..bf18027fdc760 100644 --- a/Tools/yocto/riscv/manifest.xml +++ b/Tools/yocto/riscv/manifest.xml @@ -8,9 +8,9 @@ - - - - + + + + diff --git a/Tools/yocto/rpi/manifest.xml b/Tools/yocto/rpi/manifest.xml index c6250e46d6b0e..e5dde82580da3 100644 --- a/Tools/yocto/rpi/manifest.xml +++ b/Tools/yocto/rpi/manifest.xml @@ -8,9 +8,9 @@ - - - - + + + + diff --git a/Tools/yocto/targets.conf b/Tools/yocto/targets.conf index 8c3b74eecd9e5..ab57f0e0a130c 100644 --- a/Tools/yocto/targets.conf +++ b/Tools/yocto/targets.conf @@ -38,6 +38,7 @@ conf_bblayers_path = rpi/bblayers.conf conf_local_path = rpi/local-rpi3-32bits-mesa.conf image_basename = webkit-dev-ci-tools image_types = tar.xz wic.xz wic.bmap +patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy" [rpi3-32bits-userland] @@ -46,6 +47,7 @@ conf_bblayers_path = rpi/bblayers.conf conf_local_path = rpi/local-rpi3-32bits-userland.conf image_basename = webkit-dev-ci-tools image_types = tar.xz wic.xz wic.bmap +patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch # WTR and MiniBrowser require wpbackend-fdo, with wpbackend-rdk we can only build cog environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DENABLE_MINIBROWSER=OFF -DENABLE_API_TESTS=OFF -DENABLE_LAYOUT_TESTS=OFF -DWPE_COG_PLATFORMS=none -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy" @@ -55,6 +57,7 @@ conf_bblayers_path = rpi/bblayers.conf conf_local_path = rpi/local-rpi4-32bits-mesa.conf image_basename = webkit-dev-ci-tools image_types = tar.xz wic.xz wic.bmap +patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy" # ARM 64-bits targets (AArch64) @@ -65,6 +68,7 @@ conf_bblayers_path = rpi/bblayers.conf conf_local_path = rpi/local-rpi3-64bits-mesa.conf image_basename = webkit-dev-ci-tools image_types = tar.xz wic.xz wic.bmap +patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy" [rpi4-64bits-mesa] @@ -73,6 +77,7 @@ conf_bblayers_path = rpi/bblayers.conf conf_local_path = rpi/local-rpi4-64bits-mesa.conf image_basename = webkit-dev-ci-tools image_types = tar.xz wic.xz wic.bmap +patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy" [qemu-riscv64] @@ -81,4 +86,5 @@ conf_bblayers_path = riscv/bblayers.conf conf_local_path = riscv/local-qemu-riscv64.conf image_basename = webkit-dev-ci-tools image_types = tar.xz wic.xz wic.bmap +patch_file_path = meta-openembedded_backport-libbacktrace-patch-to-mickledore-branch.patch environment[BUILD_WEBKIT_ARGS] = --no-fatal-warnings --cmakeargs="-DENABLE_WPE_QT_API=OFF -DENABLE_DOCUMENTATION=OFF -DENABLE_INTROSPECTION=OFF -DWPE_COG_PLATFORMS=drm,headless,wayland -DBWRAP_EXECUTABLE=/usr/bin/bwrap -DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy"