diff options
author | Ross Burton <ross.burton@arm.com> | 2023-12-14 17:18:06 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-12-21 10:38:29 +0000 |
commit | e73b3744dea85c86a8b1896d50f95fa8ca7e168e (patch) | |
tree | b56aa1c26c7ad88a3e9817c75379b0344b6c2df4 /meta | |
parent | 2f56aec05c584f094267efad26480d624821019b (diff) | |
download | poky-e73b3744dea85c86a8b1896d50f95fa8ca7e168e.tar.gz |
python3: re-enable profile guided optimisation
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
(From OE-Core rev: 96a9964d6071dc614cec06a4f0712e257de2bc8b)
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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-devtools/python/python3_3.11.5.bb | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/meta/recipes-devtools/python/python3_3.11.5.bb b/meta/recipes-devtools/python/python3_3.11.5.bb index d375de4b19..e7b2b08f7f 100644 --- a/meta/recipes-devtools/python/python3_3.11.5.bb +++ b/meta/recipes-devtools/python/python3_3.11.5.bb | |||
@@ -129,18 +129,24 @@ EXTRA_OEMAKE = '\ | |||
129 | LIB=${baselib} \ | 129 | LIB=${baselib} \ |
130 | ' | 130 | ' |
131 | 131 | ||
132 | do_compile:prepend:class-target() { | 132 | # Generate a Profile Guided Optimisation wrapper script that uses qemu-user for |
133 | # all cross builds. | ||
134 | write_pgo_wrapper:class-native = ":" | ||
135 | write_pgo_wrapper() { | ||
133 | if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then | 136 | if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then |
134 | qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" | ||
135 | cat >pgo-wrapper <<EOF | 137 | cat >pgo-wrapper <<EOF |
136 | #!/bin/sh | 138 | #!/bin/sh |
137 | cd ${B} | 139 | cd ${B} |
138 | $qemu_binary "\$@" | 140 | ${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])} "\$@" |
139 | EOF | 141 | EOF |
140 | chmod +x pgo-wrapper | 142 | chmod +x pgo-wrapper |
141 | fi | 143 | fi |
142 | } | 144 | } |
143 | 145 | ||
146 | do_compile:prepend() { | ||
147 | write_pgo_wrapper | ||
148 | } | ||
149 | |||
144 | do_install:prepend() { | 150 | do_install:prepend() { |
145 | ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile | 151 | ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile |
146 | } | 152 | } |