]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
python3: re-enable profile guided optimisation
authorRoss Burton <ross.burton@arm.com>
Thu, 14 Dec 2023 17:18:06 +0000 (17:18 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Dec 2023 12:02:10 +0000 (12:02 +0000)
This was accidentally disabled in the 3.7.2 upgrade in 2019[1] where PGO
was made target-only. Change the wrapper script generation so that it
happens in all environments but class-native.

[1] oe-core 02714c105426b0d687620913c1a7401b386428b6

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/python/python3_3.11.5.bb

index d375de4b19c90f694e864fc649d4dabf63c4f9ae..e7b2b08f7f050c5fc87fff6a216066e6f4c9d85d 100644 (file)
@@ -129,18 +129,24 @@ EXTRA_OEMAKE = '\
   LIB=${baselib} \
 '
 
-do_compile:prepend:class-target() {
+# Generate a Profile Guided Optimisation wrapper script that uses qemu-user for
+# all cross builds.
+write_pgo_wrapper:class-native = ":"
+write_pgo_wrapper() {
        if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then
-                qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"
                 cat >pgo-wrapper <<EOF
 #!/bin/sh
 cd ${B}
-$qemu_binary "\$@"
+${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])} "\$@"
 EOF
                 chmod +x pgo-wrapper
         fi
 }
 
+do_compile:prepend() {
+        write_pgo_wrapper
+}
+
 do_install:prepend() {
         ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile
 }