added number of arguments

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@52 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2003-03-29 16:47:34 +00:00
parent e1d4294a45
commit 0ea00c9a3c
2 changed files with 642 additions and 538 deletions

View File

@ -282,7 +282,9 @@ void gen_code(const char *name, unsigned long offset, unsigned long size,
error("inconsistent argument numbering in %s", name);
}
if (gen_switch) {
if (gen_switch == 2) {
fprintf(outfile, "DEF(%s, %d)\n", name + 3, nb_args);
} else if (gen_switch == 1) {
/* output C code */
fprintf(outfile, "case INDEX_%s: {\n", name);
@ -559,12 +561,13 @@ int load_elf(const char *filename, FILE *outfile, int do_print_enum)
}
if (do_print_enum) {
fprintf(outfile, "DEF(end)\n");
fprintf(outfile, "DEF(end, 0)\n");
for(i = 0, sym = symtab; i < nb_syms; i++, sym++) {
const char *name, *p;
name = strtab + sym->st_name;
if (strstart(name, OP_PREFIX, &p)) {
fprintf(outfile, "DEF(%s)\n", p);
gen_code(name, sym->st_value, sym->st_size, outfile,
text, relocs, nb_relocs, reloc_sh_type, symtab, strtab, 2);
}
}
} else {

1171
opc-i386.h

File diff suppressed because it is too large Load Diff