summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools/Fix-alignment-problems-on-targets-not-supporting-una.patch47
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools_2.3.1.bb1
-rw-r--r--meta/recipes-kernel/lttng/lttng-tools_2.4.0.bb1
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 @@
+From 9dc4d3a8dcc7cfb6991e760e78f614afd593bf66 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fredrik=20Markstr=C3=B6m?= <fredrik.markstrom@gmail.com>
+Date: Tue, 1 Apr 2014 17:46:23 +0200
+Subject: [PATCH v2] Fix: alignment problems on targets not supporting unaligned
+ access.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Submitted (https://www.mail-archive.com/lttng-dev@lists.lttng.org/msg06012.html)
+
+Accessing floats, doubles and 64 bit int at unaligned addresses is not
+supported on all configurations of arm processors and if it is it's
+emulated and slow. This patch replaces direct assignments with memcpy.
+
+Signed-off-by: Fredrik Markström <fredrik.markstrom@gmail.com>
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+---
+ src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c b/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c
+index 762d604..8c6dc96 100644
+--- a/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c
++++ b/src/lib/lttng-ctl/filter/filter-visitor-generate-bytecode.c
+@@ -222,7 +222,7 @@ int visit_node_load(struct filter_parser_ctx *ctx, struct ir_op *node)
+ if (!insn)
+ return -ENOMEM;
+ insn->op = FILTER_OP_LOAD_S64;
+- *(int64_t *) insn->data = node->u.load.u.num;
++ memcpy(insn->data, &node->u.load.u.num, sizeof(int64_t));
+ ret = bytecode_push(&ctx->bytecode, insn, 1, insn_len);
+ free(insn);
+ return ret;
+@@ -237,7 +237,7 @@ int visit_node_load(struct filter_parser_ctx *ctx, struct ir_op *node)
+ if (!insn)
+ return -ENOMEM;
+ insn->op = FILTER_OP_LOAD_DOUBLE;
+- *(double *) insn->data = node->u.load.u.flt;
++ memcpy(insn->data, &node->u.load.u.flt, sizeof(double));
+ ret = bytecode_push(&ctx->bytecode, insn, 1, insn_len);
+ free(insn);
+ return ret;
+--
+1.7.10.4
+
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"
SRC_URI = "git://git.lttng.org/lttng-tools.git;branch=stable-2.3 \
file://runtest.patch \
file://run-ptest \
+ file://Fix-alignment-problems-on-targets-not-supporting-una.patch \
"
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"
SRC_URI = "git://git.lttng.org/lttng-tools.git;branch=stable-2.4 \
file://runtest-2.4.0.patch \
file://run-ptest \
+ file://Fix-alignment-problems-on-targets-not-supporting-una.patch \
"
S = "${WORKDIR}/git"