Commit b48a8bb6b17e7e53527b8acfefdc034ec09717fe
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); |