Commit b48a8bb6b17e7e53527b8acfefdc034ec09717fe

Authored by bellard
1 parent e5484d33

win32 fix (Filip Navara)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1414 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 4 additions and 0 deletions
dyngen.c
@@ -635,6 +635,8 @@ static char *get_rel_sym_name(EXE_RELOC *rel) @@ -635,6 +635,8 @@ static char *get_rel_sym_name(EXE_RELOC *rel)
635 name = get_sym_name(symtab + *(uint32_t *)(rel->r_reloc->r_symndx)); 635 name = get_sym_name(symtab + *(uint32_t *)(rel->r_reloc->r_symndx));
636 if (!strcmp(name, ".data")) 636 if (!strcmp(name, ".data"))
637 name = name_for_dotdata(rel); 637 name = name_for_dotdata(rel);
  638 + if (name[0] == '.')
  639 + return NULL;
638 return name; 640 return name;
639 } 641 }
640 642
@@ -1698,6 +1700,8 @@ void gen_code(const char *name, host_ulong offset, host_ulong size, @@ -1698,6 +1700,8 @@ void gen_code(const char *name, host_ulong offset, host_ulong size,
1698 if (rel->r_offset >= start_offset && 1700 if (rel->r_offset >= start_offset &&
1699 rel->r_offset < start_offset + copy_size) { 1701 rel->r_offset < start_offset + copy_size) {
1700 sym_name = get_rel_sym_name(rel); 1702 sym_name = get_rel_sym_name(rel);
  1703 + if (!sym_name)
  1704 + continue;
1701 if (strstart(sym_name, "__op_jmp", &p)) { 1705 if (strstart(sym_name, "__op_jmp", &p)) {
1702 int n; 1706 int n;
1703 n = strtol(p, NULL, 10); 1707 n = strtol(p, NULL, 10);