diff options
| -rw-r--r-- | tcc.h | 2 | ||||
| -rw-r--r-- | tccelf.c | 6 | ||||
| -rw-r--r-- | tccpe.c | 2 | ||||
| -rw-r--r-- | tccrun.c | 2 |
4 files changed, 6 insertions, 6 deletions
@@ -1375,7 +1375,7 @@ ST_FUNC void put_stabn(int type, int other, int desc, int value); ST_FUNC void put_stabd(int type, int other, int desc); ST_FUNC void relocate_common_syms(void); -ST_FUNC void relocate_syms(TCCState *s1, int do_resolve); +ST_FUNC void relocate_syms(TCCState *s1, Section *symtab, int do_resolve); ST_FUNC void relocate_section(TCCState *s1, Section *s); ST_FUNC void relocate_plt(TCCState *s1); @@ -652,13 +652,13 @@ ST_FUNC void relocate_common_syms(void) /* relocate symbol table, resolve undefined symbols if do_resolve is true and output error if undefined symbol. */ -ST_FUNC void relocate_syms(TCCState *s1, int do_resolve) +ST_FUNC void relocate_syms(TCCState *s1, Section *symtab, int do_resolve) { ElfW(Sym) *sym; int sym_bind, sh_num; const char *name; - for_each_elem(symtab_section, 1, sym, ElfW(Sym)) { + for_each_elem(symtab, 1, sym, ElfW(Sym)) { sh_num = sym->st_shndx; if (sh_num == SHN_UNDEF) { name = (char *) strtab_section->data + sym->st_name; @@ -1898,7 +1898,7 @@ static int final_sections_reloc(TCCState *s1) int i; Section *s; - relocate_syms(s1, 0); + relocate_syms(s1, s1->symtab, 0); if (s1->nb_errors != 0) return -1; @@ -1872,7 +1872,7 @@ ST_FUNC int pe_output_file(TCCState *s1, const char *filename) ; else if (filename) { pe_assign_addresses(&pe); - relocate_syms(s1, 0); + relocate_syms(s1, s1->symtab, 0); for (i = 1; i < s1->nb_sections; ++i) { Section *s = s1->sections[i]; if (s->reloc) { @@ -211,7 +211,7 @@ static int tcc_relocate_ex(TCCState *s1, void *ptr) } /* relocate symbols */ - relocate_syms(s1, 1); + relocate_syms(s1, s1->symtab, 1); if (s1->nb_errors) return -1; |
