diff options
| author | grischka <grischka> | 2017-12-12 17:57:20 +0100 |
|---|---|---|
| committer | grischka <grischka> | 2017-12-12 17:57:20 +0100 |
| commit | d348a9a51d32cece842b7885d27a411436d7887b (patch) | |
| tree | 52a0593e253b75ba7fa8d29a487771c977cff4c1 /tcc.h | |
| parent | 1a4d4b76e803a32db1168e66ad8f8b26c29c8ea0 (diff) | |
| download | tinycc-d348a9a51d32cece842b7885d27a411436d7887b.tar.gz tinycc-d348a9a51d32cece842b7885d27a411436d7887b.tar.bz2 | |
final update for 0.9.27main
tccgen.c:
- fix ldouble asm hack
- fix a VLA problem on Win64 (also x86_64-gen.c)
- patch_type(): make sure that no symbol ever changes
from global to static
tcc.c:
- tcc -vv: print libtcc1.a path also on win32
tccpe.c, tcctools.c:
- use unix LF mode to for .def output files (that is for
creating reproducible output trees)
Makefile:
- suppress some warnings when makeinfo is missing
- call 'which install' only on win32
tests/Makefile:
- change PATH only on WINNT systems (i.e. not if cross-compiling
on linux for win32)
- asm-c-connect.test: slim output and do diff
tccrun.c tccpe.c *-link.c:
- integrate former 'pe_relocate_rva()' into normal relocation
This also fixes linkage of the unwind data on WIN64 for -run
(reported by Janus Lynggaard Thorborg)
tccasm.c, tests/tcctest.c:
- fix dot (sym_index of -1 crashed in put_elf_reloc)
- massage .set a bit (see test)
other:
- #define SECTION_ABS removed
- ST_DATA Section *strtab_section: removed
- put_extern_sym2(): take int section number
Conflicts:
tccelf.c
tccpe.c
Conflicts:
tccelf.c
Diffstat (limited to 'tcc.h')
| -rw-r--r-- | tcc.h | 19 |
1 files changed, 6 insertions, 13 deletions
@@ -489,14 +489,6 @@ typedef struct Sym { } Sym; /* section definition */ -/* XXX: use directly ELF structure for parameters ? */ -/* special flag to indicate that the section should not be linked to - the other ones */ -#define SHF_PRIVATE 0x80000000 - -/* special flag, too */ -#define SECTION_ABS ((void *)1) - typedef struct Section { unsigned long data_offset; /* current data offset */ unsigned char *data; /* section data */ @@ -795,15 +787,13 @@ struct TCCState { struct sym_attr *sym_attrs; int nb_sym_attrs; - /* tiny assembler state */ - ElfSym esym_dot; - #ifdef TCC_TARGET_PE /* PE info */ int pe_subsystem; unsigned pe_characteristics; unsigned pe_file_align; unsigned pe_stack_size; + addr_t pe_imagebase; # ifdef TCC_TARGET_X86_64 Section *uw_pdata; int uw_sym; @@ -1390,7 +1380,7 @@ ST_DATA Section *lbounds_section; /* contains local data bound description */ ST_FUNC void tccelf_bounds_new(TCCState *s); #endif /* symbol sections */ -ST_DATA Section *symtab_section, *strtab_section; +ST_DATA Section *symtab_section; /* debug sections */ ST_DATA Section *stab_section, *stabstr_section; @@ -1408,7 +1398,7 @@ ST_FUNC void section_reserve(Section *sec, unsigned long size); ST_FUNC Section *find_section(TCCState *s1, const char *name); ST_FUNC Section *new_symtab(TCCState *s1, const char *symtab_name, int sh_type, int sh_flags, const char *strtab_name, const char *hash_name, int hash_sh_flags); -ST_FUNC void put_extern_sym2(Sym *sym, Section *section, addr_t value, unsigned long size, int can_add_underscore); +ST_FUNC void put_extern_sym2(Sym *sym, int sh_num, addr_t value, unsigned long size, int can_add_underscore); ST_FUNC void put_extern_sym(Sym *sym, Section *section, addr_t value, unsigned long size); #if PTR_SIZE == 4 ST_FUNC void greloc(Section *s, Sym *sym, unsigned long offset, int type); @@ -1551,6 +1541,9 @@ ST_FUNC void gen_bounded_ptr_deref(void); #ifdef TCC_TARGET_X86_64 ST_FUNC void gen_addr64(int r, Sym *sym, int64_t c); ST_FUNC void gen_opl(int op); +#ifdef TCC_TARGET_PE +ST_FUNC void gen_vla_result(int addr); +#endif #endif /* ------------ arm-gen.c ------------ */ |
