ref: 454f06c1318b499daa5fd441e4053f749bb111d1
parent: a69a08db850e632d1809320b6abbaca181354216
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Wed Sep 27 18:20:11 EDT 2017
[as] Fix type of fields in struct op These fields must be unsigned or otherwise we can undesired sign extension.
--- a/as/as.h
+++ b/as/as.h
@@ -67,7 +67,7 @@
unsigned char flags;
char size;
void (*format)(Op *, Node **);
- char *bytes;
+ unsigned char *bytes;
unsigned char *args;
};
--- a/as/target/gen.awk
+++ b/as/target/gen.awk
@@ -48,12 +48,12 @@
opsize[i], opformat[i]
if (opbytes[i] != "")
- printf "\t\t.bytes = (char []) {%s},\n",
+ printf "\t\t.bytes = (unsigned char []) {%s},\n",
opbytes[i]
a = str2args(opargs[i])
if (a != "")
- printf "\t\t.args = (char []) {%s}\n", a
+ printf "\t\t.args = (unsigned char []) {%s}\n", a
print "\t},"
}