Commit Graph

31 Commits (0d768b97130ef2180725c4e585bb482ed0dea105)

Author SHA1 Message Date
Frederic Feret 0d768b9713 added 16-bit x86 assembly support 2009-11-13 18:08:58 +01:00
grischka 5b113f3ee3 win32: handle __declspec(dllimport) 2009-11-13 18:04:56 +01:00
grischka 110a4edc15 drop alloca #define
(Because GNU's alloca.h unconditionally #undef's alloca)

Also, remove gcc specific sections in headers. and
instead change tests such that gcc does not use them.
2009-05-16 22:30:13 +02:00
grischka 9a8b2912ed TOK_builtin_malloc: alternative solution 2009-04-18 15:08:02 +02:00
Shinichiro Hamaji ebb874e216 Remove multiple definition error caused by combination of x86-64 and va_list.
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.
2009-04-18 15:07:09 +02:00
Shinichiro Hamaji d6072d3703 Add __builtin_frame_address(0)
Adding the GCC extension __builtin_frame_address(). We support only zero as the argument for now.
With this functionality, we can implement GCC compatible stdarg by macros in x86-64.
2008-12-02 02:25:59 +01:00
Daniel Glöckner 12265da6cd Runtime lib functions
Yesterday I felt the urge to change a few things in TinyCC.
This is the first and biggest change of all of them.

- use __aeabi_*divmod functions in ARM EABI to make binaries depend
  solely on standardized library functions

- refactor ARM floating point <-> integer conversion a bit

- rename long long->float and shift library functions to correspond to
  the names used by GCC

- compile more tokens conditionally to reduce the size of TinyCC

The intention is primarily to allow users of the ARM target to use
libgcc (which is usually available as a shared library) instead of
libtcc1 (which can't be compiled for ARM due to lack of an inline
assembler).

Changing the EABI target to use the divmod functions in theory allows
to use it without libtcc1 on any (not necessarily GCC based) ARM EABI
system.

  Daniel
2008-09-12 22:22:36 +02:00
grischka f99d3de221 Import 409,410: ARM EABI by Daniel Glckner 2007-12-04 20:38:09 +00:00
grischka d778bde7f9 Import more changesets from Rob Landley's fork (part 2) 2007-11-21 17:16:31 +00:00
bellard 8ba48f84fe fastcall keywords 2005-09-04 09:18:02 +00:00
bellard 0bca832c18 #pragma pack support (grischka) 2005-04-13 21:30:51 +00:00
bellard 8f2d519203 #include_next support (Bernhard Fischer) 2005-04-10 22:18:53 +00:00
bellard 9825011ced __chkstk support 2005-04-10 22:15:08 +00:00
bellard 2c538d7a2b initial PE format support 2005-04-10 21:46:58 +00:00
bellard 1e1d3ff687 packed attribute support 2004-10-29 23:55:13 +00:00
bellard e657dfb491 added .quad asm directive 2004-10-25 18:54:29 +00:00
bellard bb07bf31aa update 2004-10-23 22:52:58 +00:00
bellard 807321efba update 2004-10-18 00:20:41 +00:00
bellard ec7d36326d C67 COFF executable format support (TK) 2004-10-05 22:33:55 +00:00
bellard 6e5b1cc43a ARM fixes (Daniel Glockner) 2004-10-04 22:19:21 +00:00
bellard 8da6027e73 both .globl and .global directives are accepted by as 2004-10-02 14:01:26 +00:00
bellard 4df5bd2eb0 ARM target support (Daniel Glockner) - allow unsigned char as default on ARM (Daniel Glockner) - fixed small ld script support (Daniel Glockner) 2003-10-14 22:15:56 +00:00
bellard 71f119fe25 various asm directives - char support (Dave Long) 2003-04-28 21:23:53 +00:00
bellard 7828683e60 added __builtin_constant_p() and __builtin_types_compatible_p() support 2003-04-26 21:28:09 +00:00
bellard 65092b7d85 added asm tokens - suppressed synonims (avoid potential bugs in preprocessing) 2003-01-06 20:23:26 +00:00
bellard 122198a8c2 update 2002-11-24 15:58:28 +00:00
bellard b8772fc99a all keywords are now in tcctok.h 2002-11-02 20:46:19 +00:00
bellard 540d31895c added alloca 2002-08-31 12:44:05 +00:00
bellard 5e85ad260d fixed strlen - added __FUNCTION__ 2002-08-29 21:15:05 +00:00
bellard e9315f499b added bound check symbols 2002-07-24 22:12:47 +00:00
bellard 6cdecbe4e6 added runtime library - fixed more relocations 2002-07-22 23:37:39 +00:00