summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>2023-10-23 09:03:30 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-25 10:20:39 +0100
commitccd5798f54b953665901d64fc387875ffd1d4a4c (patch)
treeca34feccd57d98b8fbffffbb11fa6ed9d8a01189
parent440c9f9b776ec9d33d158357c274f0ded5bcbbb2 (diff)
downloadpoky-ccd5798f54b953665901d64fc387875ffd1d4a4c.tar.gz
perf: lift TARGET_CC_ARCH modification out of security_flags.inc
Building perf without security_flags.inc being included in one's distro results in the buildpaths warning WARNING: perf-1.0-r9 do_package_qa: QA Issue: File /usr/bin/trace in package perf contains reference to TMPDIR because the ${DEBUG_PREFIX_MAP} does not get used. Most recipes get that from CFLAGS, but the perf recipe explicitly unsets that. Now ${SELECTED_OPTIMIZATION} of course contains more than just ${DEBUG_FLAGS}/${DEBUG_PREFIX_MAP}. For most TUs, perf's build system adds its own optimization flags (-O6 for odd reasons), so for those including the -O2 or -Og doesn't change anything. But looking at the .o.cmd files show that there are some TUs which currently get built without any -O flag. So for those adding the distro's SELECTED_OPTIMIZATION seem to be the right thing to do. (From OE-Core rev: aa01c9122ef4a2159df503ef6ed25e802277f13a) Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/distro/include/security_flags.inc1
-rw-r--r--meta/recipes-kernel/perf/perf.bb9
2 files changed, 9 insertions, 1 deletions
diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc
index 2972f05b4e..d97a6edb0f 100644
--- a/meta/conf/distro/include/security_flags.inc
+++ b/meta/conf/distro/include/security_flags.inc
@@ -69,4 +69,3 @@ SECURITY_LDFLAGS:pn-xserver-xorg = "${SECURITY_X_LDFLAGS}"
69TARGET_CC_ARCH:append:pn-binutils = " ${SELECTED_OPTIMIZATION}" 69TARGET_CC_ARCH:append:pn-binutils = " ${SELECTED_OPTIMIZATION}"
70TARGET_CC_ARCH:append:pn-gcc = " ${SELECTED_OPTIMIZATION}" 70TARGET_CC_ARCH:append:pn-gcc = " ${SELECTED_OPTIMIZATION}"
71TARGET_CC_ARCH:append:pn-gdb = " ${SELECTED_OPTIMIZATION}" 71TARGET_CC_ARCH:append:pn-gdb = " ${SELECTED_OPTIMIZATION}"
72TARGET_CC_ARCH:append:pn-perf = " ${SELECTED_OPTIMIZATION}"
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 675acfaf26..a392166e73 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -73,6 +73,15 @@ SPDX_S = "${S}/tools/perf"
73# supported kernel. 73# supported kernel.
74LDFLAGS="-ldl -lutil" 74LDFLAGS="-ldl -lutil"
75 75
76# Perf's build system adds its own optimization flags for most TUs,
77# overriding the flags included here. But for some, perf does not add
78# any -O option, so ensure the distro's chosen optimization gets used
79# for those. Since ${SELECTED_OPTIMIZATION} always includes
80# ${DEBUG_FLAGS} which in turn includes ${DEBUG_PREFIX_MAP}, this also
81# ensures perf is built with appropriate -f*-prefix-map options,
82# avoiding the 'buildpaths' QA warning.
83TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION}"
84
76EXTRA_OEMAKE = '\ 85EXTRA_OEMAKE = '\
77 V=1 \ 86 V=1 \
78 VF=1 \ 87 VF=1 \