From fccfcc2043e56306935dff29e66c414fd6c0a6d0 Mon Sep 17 00:00:00 2001 From: Andrew Chambers Date: Sat, 16 Oct 2021 02:59:26 +1300 Subject: Take section alignment into account for align directives. --- main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index 86721e8..b47fbec 100644 --- a/main.c +++ b/main.c @@ -799,9 +799,10 @@ static void assemble(void) { sb(0x00); break; case ASM_DIR_BALIGN: { - int64_t i, rem, amnt; + int64_t offset, i, rem, amnt; amnt = 0; - rem = cursection->hdr.sh_size % v->balign.align; + offset = cursection->hdr.sh_addralign + cursection->hdr.sh_size; + rem = offset % v->balign.align; if (rem) amnt = v->balign.align - rem; for (i = 0; i < amnt; i++) { -- cgit v1.2.3