diff options
| author | grischka <grischka> | 2017-12-12 17:33:37 +0100 |
|---|---|---|
| committer | grischka <grischka> | 2017-12-12 17:33:37 +0100 |
| commit | 1a4d4b76e803a32db1168e66ad8f8b26c29c8ea0 (patch) | |
| tree | 007fdd21ccfe4e47e8cf44662cff4751d6c7c3bc /tcc.h | |
| parent | 8490c54dbd756130962825adf32ab955137da8a4 (diff) | |
| download | tinycc-1a4d4b76e803a32db1168e66ad8f8b26c29c8ea0.tar.gz tinycc-1a4d4b76e803a32db1168e66ad8f8b26c29c8ea0.tar.bz2 | |
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)
Diffstat (limited to 'tcc.h')
| -rw-r--r-- | tcc.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1397,6 +1397,8 @@ ST_DATA Section *stab_section, *stabstr_section; ST_FUNC void tccelf_new(TCCState *s); ST_FUNC void tccelf_delete(TCCState *s); ST_FUNC void tccelf_stab_new(TCCState *s); +ST_FUNC void tccelf_begin_file(TCCState *s1); +ST_FUNC void tccelf_end_file(TCCState *s1); ST_FUNC Section *new_section(TCCState *s1, const char *name, int sh_type, int sh_flags); ST_FUNC void section_realloc(Section *sec, unsigned long new_size); @@ -1425,7 +1427,7 @@ ST_FUNC void put_stabs_r(const char *str, int type, int other, int desc, unsigne 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 resolve_regular_syms(void); +ST_FUNC void resolve_common_syms(TCCState *s1); ST_FUNC void relocate_syms(TCCState *s1, Section *symtab, int do_resolve); ST_FUNC void relocate_section(TCCState *s1, Section *s); |
