diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2013-06-24 09:44:56 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-06-25 17:44:58 +0100 |
commit | 65385d4bb92c8938a48281462448d1efc6123920 (patch) | |
tree | 07d9d2d16684670665a19a068f8ce37e3688fe08 /meta/recipes-kernel/systemtap/systemtap_git.inc | |
parent | 23a86b2735f49ca619f0864e8d385e2a738ec29a (diff) | |
download | poky-65385d4bb92c8938a48281462448d1efc6123920.tar.gz |
systemtap: Systemtap can not be build w -O0 optimization
Systemtap will fail with:
../usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
| # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
Use the same technique that eglibc uses to catch and correct the optimization
level, changing to -O2.
(From OE-Core rev: 9ceebb966e5294a270222475ab6317dcae2952fa)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel/systemtap/systemtap_git.inc')
-rw-r--r-- | meta/recipes-kernel/systemtap/systemtap_git.inc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc index edaab9772e..7be6c2baf1 100644 --- a/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/meta/recipes-kernel/systemtap/systemtap_git.inc | |||
@@ -19,3 +19,14 @@ COMPATIBLE_HOST = '(x86_64.*|i.86.*|powerpc.*|arm.*)-linux' | |||
19 | 19 | ||
20 | S = "${WORKDIR}/git" | 20 | S = "${WORKDIR}/git" |
21 | 21 | ||
22 | # systemtap can't be built without optimization, if someone tries to compile an | ||
23 | # entire image as -O0, we override it with -O2 here and give a note about it. | ||
24 | def get_optimization(d): | ||
25 | selected_optimization = d.getVar("SELECTED_OPTIMIZATION", True) | ||
26 | if base_contains("SELECTED_OPTIMIZATION", "-O0", "x", "", d) == "x": | ||
27 | bb.note("systemtap can't be built with -O0, -O2 will be used instead.") | ||
28 | return selected_optimization.replace("-O0", "-O2") | ||
29 | return selected_optimization | ||
30 | |||
31 | SELECTED_OPTIMIZATION := "${@get_optimization(d)}" | ||
32 | |||