diff --git a/arm-gen.c b/arm-gen.c index 03b5fd7..8dc6691 100644 --- a/arm-gen.c +++ b/arm-gen.c @@ -1202,6 +1202,7 @@ void gfunc_prolog(CType *func_type) type = &sym->type; size = type_size(type, &align); size = (size + 3) >> 2; + align = (align + 3) & ~3; #ifdef TCC_ARM_HARDFLOAT if (!variadic && (is_float(sym->type.t) || is_float_hgen_aggr(&sym->type))) {