summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/lttng/lttng-tools
diff options
context:
space:
mode:
authorRoy Li <rongqing.li@windriver.com>2014-05-22 14:37:35 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-27 16:11:54 +0100
commit359d2de19b2f6a51ac630486e63f8115ce305d59 (patch)
tree057036ba61f41da42e77c341d2f3958033cbdb02 /meta/recipes-kernel/lttng/lttng-tools
parent779d496e7c79b21ff2729e5cca4a16f6294cfec8 (diff)
downloadpoky-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/lttng/lttng-tools')
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/Fix-alignment-problems-on-targets-not-supporting-una.patch47
1 files changed, 47 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 @@
1From 9dc4d3a8dcc7cfb6991e760e78f614afd593bf66 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Fredrik=20Markstr=C3=B6m?= <fredrik.markstrom@gmail.com>
3Date: Tue, 1 Apr 2014 17:46:23 +0200
4Subject: [PATCH v2] Fix: alignment problems on targets not supporting unaligned
5 access.
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10Upstream-Status: Submitted (https://www.mail-archive.com/lttng-dev@lists.lttng.org/msg06012.html)
11
12Accessing floats, doubles and 64 bit int at unaligned addresses is not
13supported on all configurations of arm processors and if it is it's
14emulated and slow. This patch replaces direct assignments with memcpy.
15
16Signed-off-by: Fredrik Markström <fredrik.markstrom@gmail.com>
17Signed-off-by: Roy Li <rongqing.li@windriver.com>
18Acked-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
23diff --git a/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c b/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c
24index 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--
461.7.10.4
47