From 942d6590d9005f89e971ed5af0374439a264a20e Mon Sep 17 00:00:00 2001 From: Kai Backman Date: Fri, 23 Oct 2009 11:03:16 -0700 Subject: [PATCH] one more argsize fix. we were copying with the correct alignment but not enough (duh). R=rsc APPROVED=rsc DELTA=16 (13 added, 0 deleted, 3 changed) OCL=36020 CL=36024 --- src/cmd/5g/ggen.c | 2 +- test/arm-pass.txt | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/cmd/5g/ggen.c b/src/cmd/5g/ggen.c index 6150a17d17b..f499fa6e485 100644 --- a/src/cmd/5g/ggen.c +++ b/src/cmd/5g/ggen.c @@ -146,7 +146,7 @@ ginscall(Node *f, int proc) p->to.reg = REGSP; p->to.offset = 8; - nodconst(&con, types[TINT32], argsize(f->type)); + nodconst(&con, types[TINT32], argsize(f->type) + 4); gins(AMOVW, &con, &r); p = gins(AMOVW, &r, N); p->to.type = D_OREG; diff --git a/test/arm-pass.txt b/test/arm-pass.txt index b1746c99726..e0d2822fe70 100644 --- a/test/arm-pass.txt +++ b/test/arm-pass.txt @@ -4,12 +4,14 @@ assign.go bigalg.go blank.go blank1.go -bugs/bug162.go -bugs/bug193.go +chan/fifo.go +chan/goroutines.go chan/perm.go chan/select.go +chan/sieve.go char_lit.go closedchan.go +closure.go cmp1.go cmp2.go cmp3.go @@ -26,6 +28,7 @@ decl.go declbad.go empty.go env.go +escape.go escape1.go fixedbugs/bug000.go fixedbugs/bug001.go @@ -197,6 +200,7 @@ fixedbugs/bug189.go fixedbugs/bug190.go fixedbugs/bug191.go fixedbugs/bug192.go +fixedbugs/bug193.go fixedbugs/bug194.go fixedbugs/bug195.go fixedbugs/bug196.go @@ -220,6 +224,7 @@ func1.go func2.go func3.go func4.go +func5.go gc.go gc1.go hashmap.go @@ -240,6 +245,7 @@ interface/convert.go interface/convert1.go interface/convert2.go interface/embed.go +interface/embed0.go interface/explicit.go interface/fail.go interface/pointer.go @@ -250,7 +256,9 @@ interface/returntype.go interface/struct.go iota.go ken/array.go +ken/chan1.go ken/complit.go +ken/divconst.go ken/divmod.go ken/embed.go ken/for.go @@ -260,6 +268,7 @@ ken/intervar.go ken/label.go ken/litfun.go ken/mfunc.go +ken/modconst.go ken/ptrfun.go ken/ptrvar.go ken/range.go @@ -279,6 +288,7 @@ ken/sliceslice.go ken/string.go ken/strvar.go literal.go +map.go method.go method1.go method2.go @@ -288,12 +298,14 @@ named1.go nil.go parentype.go printbig.go +range.go rename.go rename1.go runtime.go sieve.go sigchld.go simassign.go +stack.go string_lit.go stringrange.go switch.go @@ -302,3 +314,4 @@ test0.go typeswitch.go utf.go varinit.go +vectors.go