commit 607dfdf14d353eeb0257db513cb2a4da6778cd91
parent b5995f2791374b8559ace3d89a65e10007725c6b
Author: Dimitris Papastamos <dimitris.papastamos@arm.com>
Date: Wed, 14 Nov 2018 11:30:07 +0000
[libk] Fix alignment fault
On arm64 bare metal targets, the compiler was generating unaligned
accesses.
Change-Id: Iac6f78c751b696031e39f34daadcce4d93ebd4ae
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
Diffstat:
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/libk/kprint.c b/src/libk/kprint.c
@@ -6,7 +6,12 @@ int
kprint(const char *fmt, ...)
{
va_list ap;
- Stream stream = {.fd = 1};
+ Stream stream;
+
+ stream.fd = 1;
+ stream.base = NULL;
+ stream.len = 0;
+ stream.cnt = 0;
va_start(ap, fmt);
doprnt(&stream, fmt, ap);
diff --git a/src/libk/ksnprint.c b/src/libk/ksnprint.c
@@ -7,7 +7,12 @@ int
ksnprint(char *str, size_t len, const char *fmt, ...)
{
va_list ap;
- Stream stream = {.fd = -1, .base = str, .len = len};
+ Stream stream;
+
+ stream.fd = -1;
+ stream.base = str;
+ stream.len = len;
+ stream.cnt = 0;
va_start(ap, fmt);
doprnt(&stream, fmt, ap);