From 521ed7b6ae10209e0bbe88c60fe940727ef205c9 Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Thu, 3 Sep 2009 16:32:03 +0000 Subject: [PATCH] align stackframe to 4 bytes to avoid bad esp alignments [r26480] --- ir/be/beabi.c | 6 ++++++ ir/be/bemodule.c | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ir/be/beabi.c b/ir/be/beabi.c index 086c3a099..bf9531945 100644 --- a/ir/be/beabi.c +++ b/ir/be/beabi.c @@ -1836,6 +1836,7 @@ static void modify_irg(be_abi_irg_t *env) int n_params; int i, n; unsigned j; + unsigned frame_size; reg_node_map_t *rm; const arch_register_t *fp_reg; @@ -1888,6 +1889,11 @@ static void modify_irg(be_abi_irg_t *env) /* fix the frame type layout again */ set_type_state(ctx.frame_tp, layout_fixed); + /* align stackframe to 4 byte */ + frame_size = get_type_size_bytes(ctx.frame_tp); + if (frame_size % 4 != 0) { + set_type_size_bytes(ctx.frame_tp, frame_size + 4 - (frame_size % 4)); + } env->regs = pmap_create(); diff --git a/ir/be/bemodule.c b/ir/be/bemodule.c index 9f08c00f1..1036ddcb4 100644 --- a/ir/be/bemodule.c +++ b/ir/be/bemodule.c @@ -109,7 +109,6 @@ void be_init_modules(void) be_init_spillbelady(); be_init_spillbelady2(); be_init_spillbelady3(); -// be_init_spilllinearscan(); be_init_daemelspill(); be_init_ssaconstr(); be_init_straight_alloc(); -- 2.20.1