| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | avoid needless register save when storing structures | bobbl | 2009-12-01 | 1 | -7/+7 |
| | | | | | | | | When storing structs with a memcpy call in vstore(), so far a needless entry remaining on the vstack sometimes resulted in an useless store generated by save_regs() in gfunc_call() for the memcpy routine. | ||||
| * | document -print-search-dirs | Bernhard Reutner-Fischer | 2009-12-01 | 1 | -0/+4 |
| | | | | | Signed-off-by: aldot <rep.dot.nop@gmail.com> | ||||
| * | improve handling of --help | Bernhard Reutner-Fischer | 2009-12-01 | 1 | -1/+3 |
| | | | | | | | Previously ./configure --prefix=/foo --help didn't show the help-text Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | ||||
| * | solve tccelf problem on FreeBSD | Luigi Rizzo | 2009-12-01 | 2 | -13/+100 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Sun, Nov 22, 2009 at 05:43:14PM +0100, Luigi Rizzo wrote: > Hi, > there is a well known problem with tcc and FreeBSD in the generation > of elf objects -- see > http://lists.gnu.org/archive/html/tinycc-devel/2005-07/msg00070.html > > Apparently Sergey Lyubka has tried a partial fix to the problem. > I was wondering if Sergey or someone can post some more detail on > what needs to be done so we can try to help fixing this issue I think i have managed to solve the problem and produce almost valid elf files on FreeBSD. The two patches attached address a few problems (trying to explain to the best of my knowledge; i am not very familiar with ELF and the FreeBSD ELF conventions): 1. ELF file format tcc produces an ELF executable which is good for linux but not for FreeBSD. It misses the PHDR section which is almost mandatory for shared executables, puts in the .dynsym section some relocation info that FreeBSD expects to be in .got, and expect the relocation sections to be contiguous. patch-tccelf.c tries to address the above problem using conditional sections (so hopefully can be imported upstream) and also adds the ability to override the name of the dynamic loader through an environment variable (this is important to debug tcc). 2. predefined macros patch-libtcc.c adds/fixes some predefined macros when compiling on FreeBSD: these are __FreeBSD__ and the usual set of __i386__ and __unix__ variants. It also sets __INTEL_COMPILER so we can grab the __aligned macro from cdefs.h , otherwise many programs would fail The resulting elf file is still not 100% correct -- if you strip it, the program will not run (presumably there is some dangling reference). Other than that, program do seem to run correctly. It would be nice to integrate these patches in the main repository. The FreeBSD specific code is in #ifdef so it should not harm linux users cheers luigi | ||||
| * | win32: remove #define alloca from mingw headers | grischka | 2009-12-01 | 1 | -1/+1 |
| | | |||||
| * | win32: explain usage of mingw w32api package | grischka | 2009-11-30 | 1 | -1/+2 |
| | | |||||
| * | tccpe: fclose FILE* | grischka | 2009-11-30 | 1 | -0/+2 |
| | | | | | Reported by Martin Ettl (thanks) | ||||
| * | win64: Use tcc's own assembler | grischka | 2009-11-21 | 1 | -5/+5 |
| | | | | | Now that we have it thanks to Mr. Féret | ||||
| * | asm 32/64: replace (long)sym->next by sym->jnext | grischka | 2009-11-21 | 2 | -5/+5 |
| | | |||||
| * | x86_64: fix asm | grischka | 2009-11-14 | 3 | -14/+19 |
| | | |||||
| * | fix 32bit asm | grischka | 2009-11-14 | 2 | -25/+17 |
| | | | | | | | | The new 16bit code was causing wrong 0x66 prefixes in 32bit code. The fix possibly breaks the feature on 16bit asm. | ||||
| * | Removed binary executable output support | Feret@.(none) | 2009-11-13 | 1 | -5/+4 |
| | | | | | This broke writing executables. | ||||
| * | fix ambiguity | Bernhard Reutner-Fischer | 2009-11-13 | 1 | -1/+1 |
| | | | | | Signed-off-by: aldot <rep.dot.nop@gmail.com> | ||||
| * | Fixed compilation error in i386-asm.c | Frederic Feret | 2009-11-13 | 2 | -5/+3 |
| | | |||||
| * | fixed and added missing file for x86_64 assembly | Frederic Feret | 2009-11-13 | 2 | -1/+215 |
| | | |||||
| * | ARM: first support for arm-pe target | Frederic Feret | 2009-11-13 | 3 | -10/+47 |
| | | |||||
| * | various fixes and new options for PE format | Frederic Feret | 2009-11-13 | 5 | -18/+100 |
| | | |||||
| * | first support of x86_64 assembly | Frederic Feret | 2009-11-13 | 8 | -221/+1973 |
| | | |||||
| * | added 16-bit x86 assembly support | Frederic Feret | 2009-11-13 | 8 | -37/+245 |
| | | |||||
| * | add binary executable output support | Frederic Feret | 2009-11-13 | 1 | -4/+5 |
| | | |||||
| * | fix sizeof(array + integer) | Daniel Glöckner | 2009-11-13 | 1 | -0/+1 |
| | | | | | | Previously sizeof would return the size of the array although the expression is always a plain pointer of 4 (or 8) bytes. | ||||
| * | win32: handle __declspec(dllimport) | grischka | 2009-11-13 | 4 | -4/+50 |
| | | |||||
| * | #define __TINYC__ = version-number | grischka | 2009-11-13 | 1 | -1/+5 |
| | | |||||
| * | x86-64: Fix stab debug information. | Shinichiro Hamaji | 2009-08-24 | 5 | -3/+7 |
| | | | | | | We need 32bit relocations for code and 64bit for debug info. Introduce a new macro R_DATA_PTR to distinguish the two usages. | ||||
| * | x86-64: change the type of size_t and ptrdiff_t. | Shinichiro Hamaji | 2009-08-24 | 2 | -2/+4 |
| | | | | | size_t and ptrdiff_t should be unsigned long and long, respectively. | ||||
| * | tccpe: fill checksum header field | grischka | 2009-08-24 | 1 | -27/+58 |
| | | |||||
| * | tccpp: fix quirk with cached headers and #else | grischka | 2009-08-24 | 1 | -1/+4 |
| | | | | | | | | | | | Such as with #ifndef FOO_H ... #else ... #endif | ||||
| * | fix "symbol not defined" if symbol has offset 0 | grischka | 2009-08-24 | 1 | -9/+16 |
| | | |||||
| * | tccpp: avoid double free with macro_ptr_allocated (after errors) | grischka | 2009-08-24 | 1 | -0/+1 |
| | | |||||
| * | tccgen: free inline functions correctly | grischka | 2009-08-24 | 1 | -1/+5 |
| | | |||||
| * | win64: fix bat | grischka | 2009-08-24 | 1 | -11/+13 |
| | | |||||
| * | tcc: optionally build using libtcc | grischka | 2009-07-18 | 1 | -0/+4 |
| | | |||||
| * | fix some warning | grischka | 2009-07-18 | 2 | -6/+6 |
| | | |||||
| * | cleanup: constify some global data | grischka | 2009-07-18 | 8 | -125/+126 |
| | | |||||
| * | tccpe: set tcc_lib_path from DLL | grischka | 2009-07-18 | 4 | -33/+10 |
| | | |||||
| * | tccpe: load dll on the fly | grischka | 2009-07-18 | 5 | -227/+313 |
| | | |||||
| * | win32: treat long double as double | grischka | 2009-07-18 | 2 | -0/+16 |
| | | |||||
| * | win32: reformat examples, crt etc | grischka | 2009-07-18 | 4 | -134/+148 |
| | | |||||
| * | x86-64: fix load() for const pointers: (void*)-2 | grischka | 2009-07-18 | 1 | -21/+22 |
| | | |||||
| * | x86-64: chkstk, alloca | grischka | 2009-07-18 | 8 | -59/+104 |
| | | |||||
| * | win64: add x64 target to build-tcc.bat | grischka | 2009-07-18 | 1 | -19/+47 |
| | | |||||
| * | win64: use new headers from mingw | grischka | 2009-07-18 | 91 | -16970/+31780 |
| | | |||||
| * | win64: update tiny_impdef, tiny_libmaker (Elf64) | grischka | 2009-07-18 | 2 | -383/+144 |
| | | |||||
| * | win64: align jmp_buf | grischka | 2009-07-18 | 1 | -0/+10 |
| | | |||||
| * | win64: fix pointer <-> unsigned long typecast issues | grischka | 2009-07-18 | 6 | -19/+34 |
| | | |||||
| * | pe32+ target: adjust x86_64-gen.c | grischka | 2009-07-18 | 1 | -25/+115 |
| | | | | | | | | | - calling conventions are different: * only 4 registers * stack "scratch area" is always reserved * doubles are mirrored in normal registers - no GOT or PIC there | ||||
| * | pe32+ target: add to makefile | grischka | 2009-07-18 | 1 | -4/+9 |
| | | |||||
| * | pe32+ target: add in various #define's | grischka | 2009-07-18 | 4 | -2/+18 |
| | | |||||
| * | tccpe: use more official structs | grischka | 2009-07-18 | 1 | -30/+34 |
| | | |||||
| * | tccpe: support pe32+ (x86_64) target | grischka | 2009-07-18 | 1 | -36/+82 |
| | | |||||
