| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | new subdirs: include, lib, tests | grischka | 2009-04-18 | 16 | -6/+0 |
| | | |||||
| * | win32: readme.txt->tcc-win32.txt, update tcc-doc | grischka | 2009-04-18 | 5 | -136/+177 |
| | | |||||
| * | mute strange difference in tcctest | grischka | 2009-04-18 | 1 | -0/+3 |
| | | |||||
| * | libtcc: add support to be build as DLL | grischka | 2009-04-18 | 1 | -20/+26 |
| | | |||||
| * | libtcc: new api tcc_set_lib_path | grischka | 2009-04-18 | 4 | -12/+26 |
| | | |||||
| * | tcc_relocate: return error and remove unused code | grischka | 2009-04-18 | 1 | -18/+5 |
| | | |||||
| * | Call relocate_sym() before we return the offset, so user doesn't need to ↵ | Shinichiro Hamaji | 2009-04-18 | 1 | -5/+5 |
| | | | | | check the return value twice. | ||||
| * | tcc -E: fix pasting empty tokens | grischka | 2009-04-18 | 1 | -23/+13 |
| | | | | | | | | | | | | /* test case */ #define t(x,y,z) x ## y ## z int j[] = { t(1,2,3), t(,4,5), t(6,,7), t(8,9,), t(10,,), t(,11,), t(,,12), t(,,) }; tcc -E: xpected result: int j[] = { 123, 45, 67, 89, 10, 11, 12, }; | ||||
| * | tcc -E: preserve spaces, alternative solution | grischka | 2009-04-18 | 1 | -43/+73 |
| | | | | | | | | | | | | | /* test case */ #define STR(x) #x #define MKSTR(x) STR(x) MKSTR(-A-) MKSTR(+ B +) tcc -E: expected result: "-A-" "+ B +" | ||||
| * | CONFIG_TCC_STATIC: add dummy for dlclose | grischka | 2009-04-18 | 1 | -0/+4 |
| | | |||||
| * | avoid warning uninitialized | grischka | 2009-04-18 | 1 | -1/+1 |
| | | |||||
| * | x86-64: Fix tcc -run. We need extra memory for PLT and GOT. | Shinichiro Hamaji | 2009-04-18 | 2 | -12/+27 |
| | | | | | Size of the extra buffer is too large for now. | ||||
| * | get rid of 8 bytes memory leak | grischka | 2009-04-18 | 1 | -0/+1 |
| | | |||||
| * | change tcc_add/get_symbol to use void* | grischka | 2009-04-18 | 4 | -22/+19 |
| | | |||||
| * | alternative int tcc_relocate(TCCState *s1, void *ptr); | grischka | 2009-04-18 | 3 | -74/+80 |
| | | |||||
| * | TOK_builtin_malloc: alternative solution | grischka | 2009-04-18 | 2 | -14/+8 |
| | | |||||
| * | x86-64: Define make variable TARGET so that test2 and test3 use correct flag. | Shinichiro Hamaji | 2009-04-18 | 1 | -7/+5 |
| | | |||||
| * | x86-64: Remove code for debug print. | Shinichiro Hamaji | 2009-04-18 | 1 | -16/+0 |
| | | | | | Now, we concat buffers before relocation. So this only happens when users try creating >2GB binary. | ||||
| * | x86-64: Fix cast from integers to pointers. | Shinichiro Hamaji | 2009-04-18 | 2 | -3/+13 |
| | | | | | | | | | Now, ./tcc -run -DTCC_TARGET_X86_64 tcc.c -run tcctest.c works! | ||||
| * | Work around for the issue TCC doesn't handle -2147483648 properly. | Shinichiro Hamaji | 2009-04-18 | 1 | -1/+1 |
| | | | | | | | | | | TCC produces code which is incompatible with GCC for the following code: printf("%lld\n", (long long)-2147483648); printf("%lld\n", (long long)-2147483649); For now, just avoid using the corner value. | ||||
| * | Fixes for issues I've just found/introduced to x86 TCC. | Shinichiro Hamaji | 2009-04-18 | 2 | -3/+6 |
| | | | | | | - Cast from pointer to long long makes TCC output an error. Use cast to int before we apply shift operation for a pointer value. - Removed test cases for casts from pointer to char/short because they produce warning. | ||||
| * | x86-64: Cast from 64bit pointer to long long must not generate movslq. | Shinichiro Hamaji | 2009-04-18 | 2 | -1/+11 |
| | | |||||
| * | win32: accept uppercase filename suffixes | grischka | 2009-04-18 | 1 | -3/+5 |
| | | |||||
| * | x86-64: There can be valid addresses which is greater than 0xc0000000. | Shinichiro Hamaji | 2009-04-18 | 1 | -1/+1 |
| | | |||||
| * | Fix for x86-64: The first and second arguments of memcpy must be pointers. | Shinichiro Hamaji | 2009-04-18 | 1 | -2/+2 |
| | | |||||
| * | Fix silly typos in the previous change. | Shinichiro Hamaji | 2009-04-18 | 1 | -2/+2 |
| | | |||||
| * | x86-64: Make ABI for long double compatible with GCC. | Shinichiro Hamaji | 2009-04-18 | 2 | -3/+31 |
| | | | | | | | - Now we use x87's stack top the long double return values. - Add rc_fret and reg_fret, wrapper functions for RC_FRET and REG_FRET. - Add a test case to check if strto* works OK. | ||||
| * | Improve the test coverage: !val for float/double/long long f. | Shinichiro Hamaji | 2009-04-18 | 2 | -1/+4 |
| | | |||||
| * | x86-64: Combine buffers of sections before we call tcc_run(). | Shinichiro Hamaji | 2009-04-18 | 3 | -47/+56 |
| | | | | | | | | - Now we can run tcc -run tcc.c successfully, though there are some bugs. - Remove jmp_table and got_table and use text_section for got and plt entries. - Combine buffers in tcc_relocate(). - Use R_X86_64_64 instead of R_X86_64_32 for R_DATA_32 (now the name R_DATA_32 is inappropriate...). | ||||
| * | Generate PIC code so that we can create shared objects properly. | Shinichiro Hamaji | 2009-04-18 | 3 | -34/+128 |
| | | | | | | | - Add got_table in TCCState. This approach is naive and the distance between executable code and GOT can be longer than 32bit. - Handle R_X86_64_GOTPCREL properly. We use got_table for TCC_OUTPUT_MEMORY case for now. - Fix load() and store() so that they access global variables via GOT. | ||||
| * | check for absolute include paths | grischka | 2009-04-18 | 1 | -6/+16 |
| | | | | | Suggested by Sandor Zsolt <narkoskatona@yahoo.com> | ||||
| * | get rid of "free_section problem" with private sections | grischka | 2009-04-18 | 1 | -13/+14 |
| | | |||||
| * | tiny_libmaker: fix function array overflow | grischka | 2009-04-18 | 1 | -6/+6 |
| | | |||||
| * | accept "restrict" in array-decl (STDC 199901) | grischka | 2009-04-18 | 1 | -0/+2 |
| | | |||||
| * | i386: apply "align=8 for doubles ..." for PE only | grischka | 2009-04-18 | 1 | -0/+4 |
| | | |||||
| * | x86-64: Now TCC can create healthy shared objects from object files ↵ | Shinichiro Hamaji | 2009-04-18 | 1 | -2/+8 |
| | | | | | | | | generated by GCC - Handle R_X86_64_GOTPCREL. - Output R_X86_64_RELATIVE reloc generated from R_X86_64_64. | ||||
| * | 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. | ||||
| * | x86-64 bug fix: Use stack with alignment just like 32bit environments. | Shinichiro Hamaji | 2009-04-18 | 1 | -5/+4 |
| | | |||||
| * | x86-64: Save RDX and RCX before we use them as function parameters. | Shinichiro Hamaji | 2009-04-18 | 1 | -2/+2 |
| | | | | | When the function call is indirect, these registers may be broken to load a function pointer. | ||||
| * | Remove multiple definition error caused by combination of x86-64 and va_list. | Shinichiro Hamaji | 2009-04-18 | 3 | -7/+25 |
| | | | | | | We need malloc and free to implement va_start and va_end. Since malloc and free may be replaced by #define, we add __builtin_malloc and __builtin_free. | ||||
| * | Add check for invalid numbers. | Shinichiro Hamaji | 2009-04-18 | 1 | -0/+2 |
| | | | | | | | | | If there are some characters after TCC parses a number, it is an error. This bug was reported on list: http://www.mail-archive.com/tinycc-devel@nongnu.org/msg02014.html | ||||
| * | Fix overrun in decl_initializer_alloc. | Shinichiro Hamaji | 2009-04-18 | 1 | -2/+4 |
| | | | | | | | | | This bug was reported on http://lists.gnu.org/archive/html/tinycc-devel/2009-03/msg00035.html This happens because parser of array initializer doesn't stop to read until semi-colon or comma. | ||||
| * | 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. | ||||
| * | Generate PIC for addresses of symbols. | Shinichiro Hamaji | 2009-04-18 | 1 | -11/+8 |
| | | |||||
| * | Suppress noisy pointer signed-ness warnings on x86-64. | Shinichiro Hamaji | 2009-04-18 | 1 | -0/+4 |
| | | |||||
| * | Code cleaning: utilize vpushll(). | Shinichiro Hamaji | 2009-04-18 | 1 | -7/+1 |
| | | |||||
| * | Support long long bitfields for all architectures. | Shinichiro Hamaji | 2009-04-18 | 2 | -10/+46 |
| | | | | | | | - Modified gv() and vstore(), added vpushll(). - Added a test case for long long bitfields. - Tested on x86 and x86-64. | ||||
| * | A uint64 bug fix on x86-64 | Shinichiro Hamaji | 2009-04-18 | 2 | -1/+3 |
| | | | | | | 64bit unsigned literal was handled as 32bit integer. Added a unittest to catch this. | ||||
| * | Allow long long as a type of bitfields on x86-64. | Shinichiro Hamaji | 2009-04-18 | 1 | -1/+5 |
| | | |||||
