| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | x86-64 bug fix: Fix stab generation for x86-64. | Shinichiro Hamaji | 2009-04-18 | 1 | -3/+3 |
| | | | | | The size of a stab entry is 12 bytes even in 64bit environments. We must use int instead of long to keep the size of stab entries. | ||||
| * | Better DLL support on x86-64. | Shinichiro Hamaji | 2009-04-18 | 1 | -8/+39 |
| | | | | | | | | | | | | | - Add a macro TCC_OUTPUT_DLL_WITH_PLT. -- Now, the DLL with PLT support works only on x86-64, but we may be able to support it on all architectures eventually. - Define TCC_OUTPUT_DLL_WITH_PLT when target architecture is x86-64. - Current status (x86-64): -- Main program should be able to call functions in shared objects. -- Main program should be able to use global variables in shared objects. -- Shared objects should be able to call functions in main program. -- Shared objects can NOT use global variables in main program. - To fix the last issue, we may need to add support of -fPIC option in our code generator. | ||||
| * | First naive DLL support on x86-64. | Shinichiro Hamaji | 2009-04-18 | 1 | -3/+33 |
| | | | | | This logic depends on x86_64-gen.c and doesn't work with objects compiled by GCC. | ||||
| * | Add support of x86-64. | Shinichiro Hamaji | 2008-12-02 | 1 | -3/+136 |
| | | | | | | | | | | | | | | | | | | | | | | | Most change was done in #ifdef TCC_TARGET_X86_64. So, nothing should be broken by this change. Summary of current status of x86-64 support: - produces x86-64 object files and executables. - the x86-64 code generator is based on x86's. -- for long long integers, we use 64bit registers instead of tcc's generic implementation. -- for float or double, we use SSE. SSE registers are not utilized well (we only use xmm0 and xmm1). -- for long double, we use x87 FPU. - passes make test. - passes ./libtcc_test. - can compile tcc.c. The compiled tcc can compile tcc.c, too. (there should be some bugs since the binary size of tcc2 and tcc3 is differ where tcc tcc.c -o tcc2 and tcc2 tcc.c -o tcc3) - can compile links browser. It seems working. - not tested well. I tested this work only on my linux box with few programs. - calling convention of long-double-integer or struct is not exactly the same as GCC's x86-64 ABI. - implementation of tcc -run is naive (tcc -run tcctest.c works, but tcc -run tcc.c doesn't work). Relocating 64bit addresses seems to be not as simple as 32bit environments. - shared object support isn't unimplemented - no bounds checker support - some builtin functions such as __divdi3 aren't supported | ||||
| * | silly bug fix: s/#ifdef PTR_SIZE == 4/#if PTR_SIZE == 4/ | Shinichiro Hamaji | 2008-12-02 | 1 | -1/+1 |
| | | |||||
| * | Make tccelf.c 64bit ready. | Shinichiro Hamaji | 2008-12-02 | 1 | -9/+20 |
| | | | | | | | | - Use REL_SECTION_FMT instead of ".rel%s". - Use PTR_SIZE instead of sizeof(int) for GOT entries. - Use sizeof(ElfW(Dyn)) instead of magic number 8. - Use TCC_ELFCLASS instead of ELFCLASS32. | ||||
| * | Introduce ElfW macro and ELFW to encapsulate the difference between Elf32_* ↵ | Shinichiro Hamaji | 2008-12-02 | 1 | -163/+173 |
| | | | | | and Elf64_*. Also, introduce ElfW_Rel and SHT_RELX for difference between REL and RELA. | ||||
| * | Allow to use libgcc instead of libtcc1 | Daniel Glöckner | 2008-09-12 | 1 | -0/+6 |
| | | | | | | | | | | | | | | | | This patch adds a switch --with-libgcc to configure. When passed it prevents libtcc1.a from being built and links to /lib/libgcc_s.so.1 instead of PREFIX/lib/tcc/libtcc1.a. It will work on ARM when using libgcc from GCC >= 4.2.0. Prior versions don't have the __floatun[sd]i[sdx]f functions. It won't work on i386 because of two missing symbols emitted when floats are cast to integers, but users can provide those symbols (global short constants) in their code if needed. Daniel | ||||
| * | release loaded dlls cleanly (Sam K) | grischka | 2008-05-05 | 1 | -1/+1 |
| | | |||||
| * | enable pe-output from libtcc (Shmuel Zeigerman) | grischka | 2008-05-05 | 1 | -1/+15 |
| | | |||||
| * | fix stabstr with linked objects | grischka | 2008-04-27 | 1 | -1/+31 |
| | | |||||
| * | fix bogus relocations with TCC_OUTPUT_DLL | grischka | 2008-04-27 | 1 | -2/+17 |
| | | |||||
| * | added verbosity levels (-vv -vvv) | grischka | 2008-03-31 | 1 | -0/+2 |
| | | |||||
| * | Add -soname linker option (Marc Andre Tanner) | grischka | 2008-03-25 | 1 | -3/+58 |
| | | |||||
| * | Fix 'tcc -static' with recent glibc | grischka | 2008-03-08 | 1 | -6/+10 |
| | | |||||
| * | Switch to newer tccpe.c (includes support for resources) | grischka | 2007-12-19 | 1 | -82/+79 |
| | | |||||
| * | Import 409,410: ARM EABI by Daniel Glöckner | grischka | 2007-12-04 | 1 | -7/+35 |
| | | |||||
| * | Import more changesets from Rob Landley's fork (part 2) | grischka | 2007-11-21 | 1 | -1/+18 |
| | | |||||
| * | Fix 'invalid relocation entry' problem on ubuntu - from Bernhard Fischer | grischka | 2007-10-30 | 1 | -3/+5 |
| | | |||||
| * | tcc_load_dll fix (Tao Wu) | bellard | 2005-10-30 | 1 | -3/+3 |
| | | |||||
| * | ignore AS_NEEDED ld command | bellard | 2005-09-03 | 1 | -21/+40 |
| | | |||||
| * | win32 merge (grischka) | bellard | 2005-04-17 | 1 | -9/+2 |
| | | |||||
| * | better st_other support | bellard | 2005-04-13 | 1 | -14/+23 |
| | | |||||
| * | initial PE format support | bellard | 2005-04-10 | 1 | -6/+1 |
| | | |||||
| * | removed warnings | bellard | 2004-11-07 | 1 | -1/+6 |
| | | |||||
| * | copyright update | bellard | 2004-10-27 | 1 | -1/+1 |
| | | |||||
| * | correct libtcc1 link order | bellard | 2004-10-27 | 1 | -4/+3 |
| | | |||||
| * | fixed linker symbol generation - output format support | bellard | 2004-10-23 | 1 | -90/+141 |
| | | |||||
| * | _end symbol definition fix - fixed section alignment logic | bellard | 2004-10-18 | 1 | -14/+26 |
| | | |||||
| * | C67 COFF executable format support (TK) | bellard | 2004-10-05 | 1 | -0/+22 |
| | | |||||
| * | initial TMS320C67xx support (TK) | bellard | 2004-10-04 | 1 | -0/+31 |
| | | |||||
| * | ARM target support (Daniel Glockner) - allow unsigned char as default on ↵ | bellard | 2003-10-14 | 1 | -8/+116 |
| | | | | | ARM (Daniel Glockner) - fixed small ld script support (Daniel Glockner) | ||||
| * | fixed libc linking when running in memory | bellard | 2003-10-04 | 1 | -2/+5 |
| | | |||||
| * | .gnu.linkonce section support (useful to link with recent glibc) | bellard | 2003-10-04 | 1 | -3/+28 |
| | | |||||
| * | changed tcc_get_symbol() prototype | bellard | 2003-07-20 | 1 | -4/+13 |
| | | |||||
| * | added init_array defines for new ld compatibility | bellard | 2003-05-29 | 1 | -0/+33 |
| | | |||||
| * | added -rdynamic support | bellard | 2003-05-24 | 1 | -2/+12 |
| | | |||||
| * | changed license to LGPL | bellard | 2003-05-24 | 1 | -11/+11 |
| | | |||||
| * | alacarte linking (Dave Long) | bellard | 2003-04-28 | 1 | -7/+59 |
| | | |||||
| * | added -nostdlib | bellard | 2003-04-27 | 1 | -7/+11 |
| | | |||||
| * | ignore OUTPUT_FORMAT and TARGET ld script commands (fixes Redhat >= 7 static ↵ | bellard | 2003-04-16 | 1 | -0/+15 |
| | | | | | link problems) | ||||
| * | fixed comment parsing | bellard | 2003-04-13 | 1 | -1/+2 |
| | | |||||
| * | PLT generation fix | bellard | 2003-04-13 | 1 | -46/+68 |
| | | |||||
| * | FreeBSB fixes - elf align issues | bellard | 2002-12-08 | 1 | -0/+11 |
| | | |||||
| * | parsing optimizations | bellard | 2002-11-23 | 1 | -1/+1 |
| | | |||||
| * | prepared parser for direct use of file->buf_ptr - faster comment parsing | bellard | 2002-11-22 | 1 | -1/+2 |
| | | |||||
| * | suppressed ch1 and preparser | bellard | 2002-11-22 | 1 | -43/+82 |
| | | |||||
| * | removed many memory leaks - suppressed many global variables | bellard | 2002-11-02 | 1 | -162/+205 |
| | | |||||
| * | added tcc_relocate() and tcc_get_symbol() | bellard | 2002-09-08 | 1 | -3/+3 |
| | | |||||
| * | suppressed section_ptr - fixed constant string allocation | bellard | 2002-08-18 | 1 | -2/+3 |
| | | |||||
