9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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:
Msrc/libk/kprint.c | 7++++++-
Msrc/libk/ksnprint.c | 7++++++-
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);