diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2007-09-06 22:55:04 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2007-09-06 22:55:04 +0000 |
commit | 93b1ec2cbf071210466c8c848830b214508f6398 (patch) | |
tree | dbb3e66ef0e56b90afebaeaf9dfec0e4b42165ad /opcodes | |
parent | 72ffa0fba1d53dc5de1af8b503de75cb8b4e70b9 (diff) | |
download | gdb-93b1ec2cbf071210466c8c848830b214508f6398.zip gdb-93b1ec2cbf071210466c8c848830b214508f6398.tar.gz gdb-93b1ec2cbf071210466c8c848830b214508f6398.tar.bz2 |
2007-09-06 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (next_field): Updated to take a separator.
(process_i386_opcodes): Updated.
(process_i386_registers): Likewise.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/i386-gen.c | 28 |
2 files changed, 20 insertions, 14 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 3d65be5..86a079e 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,11 @@ 2007-09-06 H.J. Lu <hongjiu.lu@intel.com> + * i386-gen.c (next_field): Updated to take a separator. + (process_i386_opcodes): Updated. + (process_i386_registers): Likewise. + +2007-09-06 H.J. Lu <hongjiu.lu@intel.com> + * i386-gen.c (table): Moved ... (main): Here. Call process_copyright to output copyright. (process_copyright): New. diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index c610a75..2451d0e 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -100,16 +100,16 @@ remove_trailing_whitespaces (char *str) while (last != 0); } -/* Find next field separated by '.' and terminate it. Return a +/* Find next field separated by SEP and terminate it. Return a pointer to the one after it. */ static char * -next_field (char *str, char **next) +next_field (char *str, char sep, char **next) { char *p; p = remove_leading_whitespaces (str); - for (str = p; *str != ',' && *str != '\0'; str++); + for (str = p; *str != sep && *str != '\0'; str++); *str = '\0'; remove_trailing_whitespaces (p); @@ -165,37 +165,37 @@ process_i386_opcodes (FILE *table) last = p + strlen (p); /* Find name. */ - name = next_field (p, &str); + name = next_field (p, ',', &str); if (str >= last) abort (); /* Find number of operands. */ - operands = next_field (str, &str); + operands = next_field (str, ',', &str); if (str >= last) abort (); /* Find base_opcode. */ - base_opcode = next_field (str, &str); + base_opcode = next_field (str, ',', &str); if (str >= last) abort (); /* Find extension_opcode. */ - extension_opcode = next_field (str, &str); + extension_opcode = next_field (str, ',', &str); if (str >= last) abort (); /* Find cpu_flags. */ - cpu_flags = next_field (str, &str); + cpu_flags = next_field (str, ',', &str); if (str >= last) abort (); /* Find opcode_modifier. */ - opcode_modifier = next_field (str, &str); + opcode_modifier = next_field (str, ',', &str); if (str >= last) abort (); @@ -234,7 +234,7 @@ process_i386_opcodes (FILE *table) break; } - operand_types [i] = next_field (str, &str); + operand_types [i] = next_field (str, ',', &str); if (*operand_types[i] == '0') { if (i != 0) @@ -319,25 +319,25 @@ process_i386_registers (FILE *table) last = p + strlen (p); /* Find reg_name. */ - reg_name = next_field (p, &str); + reg_name = next_field (p, ',', &str); if (str >= last) abort (); /* Find reg_type. */ - reg_type = next_field (str, &str); + reg_type = next_field (str, ',', &str); if (str >= last) abort (); /* Find reg_flags. */ - reg_flags = next_field (str, &str); + reg_flags = next_field (str, ',', &str); if (str >= last) abort (); /* Find reg_num. */ - reg_num = next_field (str, &str); + reg_num = next_field (str, ',', &str); fprintf (table, " { \"%s\", %s, %s, %s },\n", reg_name, reg_type, reg_flags, reg_num); |