aboutsummaryrefslogtreecommitdiff
path: root/tccpe.c
Commit message (Collapse)AuthorAgeFilesLines
* add version number to manpageUrs Janssen2013-02-171-1/+1
| | | | | | | avoid c++/c99 style comments in preprocessor directives avoid leadings whitespaces in preprocessor directives mention implemented variable length arrays in documentation fixed ambiguous option in texi2html call (Austin English)
* libtcc: new LIBTCCAPI tcc_set_options(TCCState*, const char*str)grischka2013-02-121-28/+30
| | | | | | | | | | | | | | | | | | | This replaces -> use instead: ----------------------------------- - tcc_set_linker -> tcc_set_options(s, "-Wl,..."); - tcc_set_warning -> tcc_set_options(s, "-W..."); - tcc_enable_debug -> tcc_set_options(s, "-g"); parse_args is moved to libtcc.c (now tcc_parse_args). Also some cleanups: - reorder TCCState members - add some comments here and there - do not use argv's directly, make string copies - use const char* in tcc_set_linker - tccpe: use fd instead of fp tested with -D MEM_DEBUG: 0 bytes left
* win32: Honor "-Wl,-subsystem=console/gui" optiongrischka2013-02-041-9/+10
|
* portability: fix void* <-> target address conversion confusiongrischka2013-02-041-7/+7
| | | | | | - #define addr_t as ElfW(Addr) - replace uplong by addr_t - #define TCC_HAS_RUNTIME_PLTGOT and use it
* safety: replace occurrences of strcpy by pstrcpygrischka2013-01-311-3/+3
|
* tccpe: no debug, no stabsgrischka2013-01-301-1/+4
|
* Revert "Added what I call virtual io to tinycc this way we can make a ↵Thomas Preud'homme2013-01-141-2/+2
| | | | | | | | monolitic executable or library that contains all needed to compile programs, truly tinycc portable." This reverts commit 59e18aee0e509a3ca75dbe6f909e18c1d17893d1. tcc is being stabilized now in order to do a new release soon. Therefore, such a change is not appropriate now.
* Revert "pe: fix tcc not linking to user32 and gdi32"Thomas Preud'homme2013-01-141-1/+1
| | | | | | This reverts commit 943574aba54713ca4a17fe33aadde5abee233b53. The empty string in "libs" was intended behavior, as can be seen from the "if (0 == *p)" below.
* Added what I call virtual io to tinycc this way we can make a monolitic ↵mingodad2013-01-111-2/+2
| | | | | | executable or library that contains all needed to compile programs, truly tinycc portable. Tested under linux exec the "mk-it" shell script and you'll end up with a portable tinycc executable that doesn't depend on anything else.
* pe: fix tcc not linking to user32 and gdi32Roy Tam2012-11-021-1/+1
|
* tcc.h: define TCC_IS_NATIVEgrischka2012-03-051-8/+3
| | | | | | - disable tccrun feature for non-native (cross-) compilers - define uplong for target adress size - fix using -Wl,-Ttext=... for Win64 (tccpe: ADDR3264 imagebase)
* rename error/warning -> tcc_(error/warning)grischka2011-08-111-6/+6
|
* libtcc: support more than one crtprefixgrischka2011-08-061-15/+0
| | | | Looks like gcc has that. Oh Deer!
* tccpe: cleanup ELFW() macros etc.grischka2011-07-141-32/+14
|
* tccrun: win64: add unwind function table for dynamic codegrischka2011-07-141-38/+49
| | | | | This works only when tcc.exe is compiled using MSC. MinGW does something in the startup code that defeats it.
* make: create native tcc from separate objectsgrischka2011-07-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This was already possible using make NOTALLINONE=1 and is now the default. To build as previously from one big source, use make ONE_SOURCE=1 Cross compilers are still build from one source because using separate objects requires separate build directories one per platform which currently is not (yet) supported by the makefile. We could probably use gnu-makeish target variables like $(I386_CROSS): OUTDIR=build/i386 $(X64_CROSS): OUTDIR=build/x86-64 and so on ... Also NEED_FLOAT_TYPES for arm-gen is removed. It was about variables that are referenced from outside (libtcc, tccgen). We could declare them in tcc.h (as with reg_classes) or have them twice in arm-gen.c. I chose option 2.
* win32: add -Wl,--stack=xxx switchgrischka2011-07-111-0/+2
| | | | | | | | For example: $ tcc -Wl,--stack=4194309 which means 4 MB. Default is 1 MB.
* tccpe: support leading underscore for symbolsgrischka2011-02-131-23/+39
| | | | | | | | | To make this the default, enable this line in libtcc.c:tcc_new: #if defined(TCC_TARGET_PE) && 0 s->leading_underscore = 1; and then recompile tcc and also libtcc1.a
* split cross libtcc1.a to separate directoriesHenry Kroll III2010-12-021-8/+1
|
* tccpe.c: fallback to libtcc1.a for other targets (ARM)Henry Kroll III2010-11-301-2/+4
|
* tccpe.c: Makefile: --enable-cross win64 cross library buildHenry Kroll III2010-11-301-1/+6
|
* tccpe: typedef unsigned int DWORD for cross compilers.grischka2010-11-271-5/+5
| | | | | | | | | This fixes the i386-win32-tcc cross-compiler on x86-64 linux platform. I verified that it produces identical binaries for 'hello_win.exe' and 'tcc.exe' (tcc compiled by itself) compared to the output of the native tcc on windows.
* WinCE PE subsystemTimo VJ Lahde2010-04-191-0/+2
|
* PE ARM: jump IAT arm codeTimo VJ Lahde2010-04-191-2/+13
|
* tccpe: improve dllimport/export and use for tcc_add_symbolgrischka2010-01-141-66/+106
|
* use vpushv in some placesgrischka2009-12-201-1/+1
|
* win64: add tiny unwind data for setjmp/longjmpgrischka2009-12-201-2/+60
| | | | | | | | | This enables native unwind semantics with longjmp on win64 by putting an entry into the .pdata section for each compiled fuction. Also, the function now use a fixed stack and store arguments into X(%rsp) rather than using push.
* allow tcc be build from separate objectsgrischka2009-12-201-67/+62
| | | | If you want that, run: make NOTALLINONE=1
* win32: enable bounds checker & exception handlergrischka2009-12-191-3/+3
| | | | exception handler borrowed from k1w1. Thanks.
* tccpe: with -l try also with "lib" prefixgrischka2009-12-191-8/+11
| | | | -lfoo searches: foo.def, libfoo.def, foo.dll, libfoo.dll
* tccpe: improve dllimportgrischka2009-12-191-12/+26
|
* tccpe: allow linkage to extern symbols from asmgrischka2009-12-191-0/+23
|
* tccpe: fclose FILE*grischka2009-11-301-0/+2
| | | | Reported by Martin Ettl (thanks)
* ARM: first support for arm-pe targetFrederic Feret2009-11-131-10/+39
|
* various fixes and new options for PE formatFrederic Feret2009-11-131-8/+38
|
* tccpe: fill checksum header fieldgrischka2009-08-241-27/+58
|
* cleanup: constify some global datagrischka2009-07-181-110/+110
|
* tccpe: set tcc_lib_path from DLLgrischka2009-07-181-1/+1
|
* tccpe: load dll on the flygrischka2009-07-181-52/+89
|
* x86-64: chkstk, allocagrischka2009-07-181-7/+2
|
* win64: fix pointer <-> unsigned long typecast issuesgrischka2009-07-181-1/+1
|
* tccpe: use more official structsgrischka2009-07-181-30/+34
|
* tccpe: support pe32+ (x86_64) targetgrischka2009-07-181-36/+82
|
* tccpe: use ElfW macrosgrischka2009-07-181-51/+81
|
* tccpe: get rid of kludgy export-symbol sortgrischka2009-07-181-13/+20
|
* tccpe: build IAT vector with with -run toogrischka2009-07-181-58/+32
| | | | | This prepares for x86_64 where we need the vector for far jumps. Also, resolve DLL symbols in place
* move some global variables into TCCStategrischka2009-05-111-6/+6
|
* win32: allow user segments as writable & executablegrischka2009-04-181-1/+3
|
* release loaded dlls cleanly (Sam K)grischka2008-05-051-6/+12
|
* Switch to newer tccpe.c (includes support for resources)grischka2007-12-191-690/+997
|