aboutsummaryrefslogtreecommitdiff
path: root/tccpe.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Use _WIN32 for a windows hosted tcc and define it for the PE target.grischka2007-12-131-496/+496
|
* the PE linker code is not ready for -fleading-underscore supportbellard2005-06-171-4/+7
|
* added -f[no-]leading-underscorebellard2005-06-151-7/+4
|
* win32 merge (grischka)bellard2005-04-171-24/+61
|
* win32 mergebellard2005-04-141-8/+0
|
* better st_other supportbellard2005-04-131-29/+24
|
* initial PE format supportbellard2005-04-101-0/+1220