1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-09 05:29:32 +00:00

babeltrace: fix alignment issue

Fix alignment issue in babeltrace

(From OE-Core rev: 862f14832d2d8a1917a5046d0299dbbbe6dc66da)

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>
This commit is contained in:
Roy Li
2014-05-22 14:37:18 +08:00
committed by Richard Purdie
parent 359d2de19b
commit aba63bab07
2 changed files with 57 additions and 1 deletions
@@ -0,0 +1,54 @@
From cae67efbd9ddf2cee6bbefec076dc8933ababc43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20Markstr=C3=B6m?= <fredrik.markstrom@gmail.com>
Date: Fri, 16 May 2014 10:10:38 +0800
Subject: [PATCH] Fix: Align buffers from objstack_alloc on sizeof(void *)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Backport
The buffers from objstack_alloc will store pointers, so they must
be aligned on a pointer's size, or else it will cause issues on the
CPUs which do not support unaligned addresses access.
Signed-off-by: Fredrik Markstrom <fredrik.markstrom@gmail.com>
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
---
formats/ctf/metadata/objstack.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/formats/ctf/metadata/objstack.c b/formats/ctf/metadata/objstack.c
index 9e264a4..14d9252 100644
--- a/formats/ctf/metadata/objstack.c
+++ b/formats/ctf/metadata/objstack.c
@@ -27,6 +27,7 @@
#include <stdlib.h>
#include <babeltrace/list.h>
#include <babeltrace/babeltrace-internal.h>
+#include <babeltrace/align.h>
#define OBJSTACK_INIT_LEN 128
#define OBJSTACK_POISON 0xcc
@@ -39,7 +40,7 @@ struct objstack_node {
struct bt_list_head node;
size_t len;
size_t used_len;
- char data[];
+ char __attribute__ ((aligned (sizeof(void *)))) data[];
};
BT_HIDDEN
@@ -118,6 +119,8 @@ void *objstack_alloc(struct objstack *objstack, size_t len)
struct objstack_node *last_node;
void *p;
+ len = ALIGN(len, sizeof(void *));
+
/* Get last node */
last_node = bt_list_entry(objstack->head.prev,
struct objstack_node, node);
--
1.7.10.4
@@ -14,7 +14,9 @@ SRCREV = "66c2a20b4391fb5c7f870aeb0dde854f0ae1fc79"
PV = "1.2.1+git${SRCPV}"
SRC_URI = "git://git.efficios.com/babeltrace.git;branch=stable-1.2 \
file://0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch"
file://0001-Fix-Support-out-of-tree-builds-in-babeltrace.patch \
file://Fix-Align-buffers-from-objstack_alloc-on-sizeof-void.patch \
"
S = "${WORKDIR}/git"