From cc224c004d0f389efcbb54251840bbb264ea4826 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9my=20Oudompheng?= Date: Fri, 9 Nov 2012 21:06:45 +0100 Subject: [PATCH] cmd/6c, cmd/8c: use signed char explicitly in mul.c On ARM, char is unsigned, and the code generation for multiplication gets totally broken. Fixes #4354. R=golang-dev, dave, minux.ma, rsc CC=golang-dev https://golang.org/cl/6826079 --- src/cmd/6c/mul.c | 8 ++++---- src/cmd/8c/mul.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/cmd/6c/mul.c b/src/cmd/6c/mul.c index ab6883e7aa..510edc05cf 100644 --- a/src/cmd/6c/mul.c +++ b/src/cmd/6c/mul.c @@ -35,17 +35,17 @@ typedef struct Mparam Mparam; struct Malg { - char vals[10]; + schar vals[10]; }; struct Mparam { uint32 value; - char alg; + schar alg; char neg; char shift; char arg; - char off; + schar off; }; static Mparam multab[32]; @@ -101,7 +101,7 @@ mulparam(uint32 m, Mparam *mp) { int c, i, j, n, o, q, s; int bc, bi, bn, bo, bq, bs, bt; - char *p; + schar *p; int32 u; uint32 t; diff --git a/src/cmd/8c/mul.c b/src/cmd/8c/mul.c index a0742807ea..9955e762ff 100644 --- a/src/cmd/8c/mul.c +++ b/src/cmd/8c/mul.c @@ -35,17 +35,17 @@ typedef struct Mparam Mparam; struct Malg { - char vals[10]; + schar vals[10]; }; struct Mparam { uint32 value; - char alg; + schar alg; char neg; char shift; char arg; - char off; + schar off; }; static Mparam multab[32]; @@ -101,7 +101,7 @@ mulparam(uint32 m, Mparam *mp) { int c, i, j, n, o, q, s; int bc, bi, bn, bo, bq, bs, bt; - char *p; + schar *p; int32 u; uint32 t; -- 2.50.0