diff options
author | Roy Li <rongqing.li@windriver.com> | 2014-05-22 14:37:35 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-05-27 16:11:54 +0100 |
commit | 359d2de19b2f6a51ac630486e63f8115ce305d59 (patch) | |
tree | 057036ba61f41da42e77c341d2f3958033cbdb02 /meta/recipes-kernel | |
parent | 779d496e7c79b21ff2729e5cca4a16f6294cfec8 (diff) | |
download | poky-359d2de19b2f6a51ac630486e63f8115ce305d59.tar.gz |
lttng-tools: fix alignment issue
Fix alignment issue in lttng-tools
(From OE-Core rev: 539b77a29eb24b3896c9c436c0b4ce61c6b72b34)
Signed-off-by: Roy Li <rongqing.li@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')
3 files changed, 49 insertions, 0 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-tools/Fix-alignment-problems-on-targets-not-supporting-una.patch b/meta/recipes-kernel/lttng/lttng-tools/Fix-alignment-problems-on-targets-not-supporting-una.patch new file mode 100644 index 0000000000..2c1756e6ed --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-tools/Fix-alignment-problems-on-targets-not-supporting-una.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From 9dc4d3a8dcc7cfb6991e760e78f614afd593bf66 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Fredrik=20Markstr=C3=B6m?= <fredrik.markstrom@gmail.com> | ||
3 | Date: Tue, 1 Apr 2014 17:46:23 +0200 | ||
4 | Subject: [PATCH v2] Fix: alignment problems on targets not supporting unaligned | ||
5 | access. | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | Upstream-Status: Submitted (https://www.mail-archive.com/lttng-dev@lists.lttng.org/msg06012.html) | ||
11 | |||
12 | Accessing floats, doubles and 64 bit int at unaligned addresses is not | ||
13 | supported on all configurations of arm processors and if it is it's | ||
14 | emulated and slow. This patch replaces direct assignments with memcpy. | ||
15 | |||
16 | Signed-off-by: Fredrik Markström <fredrik.markstrom@gmail.com> | ||
17 | Signed-off-by: Roy Li <rongqing.li@windriver.com> | ||
18 | Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | ||
19 | --- | ||
20 | src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c | 4 ++-- | ||
21 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
22 | |||
23 | diff --git a/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c b/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c | ||
24 | index 762d604..8c6dc96 100644 | ||
25 | --- a/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c | ||
26 | +++ b/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c | ||
27 | @@ -222,7 +222,7 @@ int visit_node_load(struct filter_parser_ctx *ctx, struct ir_op *node) | ||
28 | if (!insn) | ||
29 | return -ENOMEM; | ||
30 | insn->op = FILTER_OP_LOAD_S64; | ||
31 | - *(int64_t *) insn->data = node->u.load.u.num; | ||
32 | + memcpy(insn->data, &node->u.load.u.num, sizeof(int64_t)); | ||
33 | ret = bytecode_push(&ctx->bytecode, insn, 1, insn_len); | ||
34 | free(insn); | ||
35 | return ret; | ||
36 | @@ -237,7 +237,7 @@ int visit_node_load(struct filter_parser_ctx *ctx, struct ir_op *node) | ||
37 | if (!insn) | ||
38 | return -ENOMEM; | ||
39 | insn->op = FILTER_OP_LOAD_DOUBLE; | ||
40 | - *(double *) insn->data = node->u.load.u.flt; | ||
41 | + memcpy(insn->data, &node->u.load.u.flt, sizeof(double)); | ||
42 | ret = bytecode_push(&ctx->bytecode, insn, 1, insn_len); | ||
43 | free(insn); | ||
44 | return ret; | ||
45 | -- | ||
46 | 1.7.10.4 | ||
47 | |||
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.3.1.bb b/meta/recipes-kernel/lttng/lttng-tools_2.3.1.bb index ee59a4645b..db8b65b2e7 100644 --- a/meta/recipes-kernel/lttng/lttng-tools_2.3.1.bb +++ b/meta/recipes-kernel/lttng/lttng-tools_2.3.1.bb | |||
@@ -18,6 +18,7 @@ PV = "v2.3.1" | |||
18 | SRC_URI = "git://git.lttng.org/lttng-tools.git;branch=stable-2.3 \ | 18 | SRC_URI = "git://git.lttng.org/lttng-tools.git;branch=stable-2.3 \ |
19 | file://runtest.patch \ | 19 | file://runtest.patch \ |
20 | file://run-ptest \ | 20 | file://run-ptest \ |
21 | file://Fix-alignment-problems-on-targets-not-supporting-una.patch \ | ||
21 | " | 22 | " |
22 | 23 | ||
23 | S = "${WORKDIR}/git" | 24 | S = "${WORKDIR}/git" |
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb b/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb index 223b52e8ae..aab9bf6bbf 100644 --- a/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb +++ b/meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb | |||
@@ -18,6 +18,7 @@ PV = "v2.4.0" | |||
18 | SRC_URI = "git://git.lttng.org/lttng-tools.git;branch=stable-2.4 \ | 18 | SRC_URI = "git://git.lttng.org/lttng-tools.git;branch=stable-2.4 \ |
19 | file://runtest-2.4.0.patch \ | 19 | file://runtest-2.4.0.patch \ |
20 | file://run-ptest \ | 20 | file://run-ptest \ |
21 | file://Fix-alignment-problems-on-targets-not-supporting-una.patch \ | ||
21 | " | 22 | " |
22 | 23 | ||
23 | S = "${WORKDIR}/git" | 24 | S = "${WORKDIR}/git" |