changeset 63:e13486b2c12e arch-separation

stack alignment
author kono
date Thu, 20 Feb 2003 05:50:06 +0900
parents 129f4802b027
children 262c8059e5df
files mc-code-ia32.c
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mc-code-ia32.c	Thu Feb 20 05:27:29 2003 +0900
+++ b/mc-code-ia32.c	Thu Feb 20 05:50:06 2003 +0900
@@ -1082,6 +1082,7 @@
 void
 code_leave(char *name)
 {
+    disp&= -size_of_int;
     printf("\t.set _%d,%d\n",code_disp_label,disp+code_disp_offset);
     printf("_%d:\n",labelno);
     printf("\t.size\t%s,_%d-%s\n",name,labelno,name);
@@ -1129,6 +1130,8 @@
     fwddef(retlabel);
     /* use_register(creg,REG_EAX,0); too late */
     /* if(disp) printf("\taddl $%d,%%esp\n",-disp);  */
+    disp&= -size_of_int;
+
     printf("\tlea %d(%%ebp),%%esp\n",disp_offset);
     printf("\tpopl %%edi\n");
     printf("\tpopl %%esi\n");