From 1a4d4b76e803a32db1168e66ad8f8b26c29c8ea0 Mon Sep 17 00:00:00 2001 From: grischka Date: Tue, 12 Dec 2017 17:33:37 +0100 Subject: tccgen_begin/end_file This is supposed to make compilation and linking with multiple source files (tcc f1.c f2.S ...) behave just the same as linking object files. tccgen.c:put_extern_sym2(): - use put_elf_sym to enter new symbols unconditionally tccelf.c: - save section state before compilation - disable symbol hashing during compilation - merge symbols and update relocations after compilation tccpe.c: - re-create s1->uw_sym for each compilation (because it may change) --- tccgen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tccgen.c') diff --git a/tccgen.c b/tccgen.c index 97ea94c..7e10c18 100644 --- a/tccgen.c +++ b/tccgen.c @@ -418,7 +418,7 @@ ST_FUNC void put_extern_sym2(Sym *sym, Section *section, if (sym->asm_label) name = get_tok_str(sym->asm_label, NULL); info = ELFW(ST_INFO)(sym_bind, sym_type); - sym->c = set_elf_sym(symtab_section, value, size, info, other, sh_num, name); + sym->c = put_elf_sym(symtab_section, value, size, info, other, sh_num, name); } else { esym = elfsym(sym); esym->st_value = value; -- cgit v1.3.1