aboutsummaryrefslogtreecommitdiff
path: root/arm-gen.c
Commit message (Collapse)AuthorAgeFilesLines
* Add support for arm hardfloat calling conventionThomas Preud'homme2012-06-051-70/+310
| | | | | See Procedure Call Standard for the ARM Architecture (AAPCS) for more details.
* Remove vnrott (duplicate vrotb)Thomas Preud'homme2012-03-141-2/+2
|
* rename error/warning -> tcc_(error/warning)grischka2011-08-111-15/+15
|
* make: create native tcc from separate objectsgrischka2011-07-141-3/+6
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix calling ARM EABI functions returning big structuresDaniel Glöckner2011-05-171-1/+1
| | | | The wrong type was tested to determine the size of the structure.
* Remove unused variablesThomas Preud'homme2011-05-161-0/+4
| | | | | Declare float type conditionally to not declare them conditionally when they are not used.
* ARM: use uint32_t for opcodesDaniel Glöckner2010-05-131-42/+43
| | | | fixes cross compiling on x86_64
* allow tcc be build from separate objectsgrischka2009-12-201-31/+39
| | | | If you want that, run: make NOTALLINONE=1
* x86-64: Fix stab debug information.Shinichiro Hamaji2009-08-241-0/+1
| | | | | We need 32bit relocations for code and 64bit for debug info. Introduce a new macro R_DATA_PTR to distinguish the two usages.
* cleanup: constify some global datagrischka2009-07-181-1/+1
|
* ARM: fix big immediate offset constructionDaniel Glöckner2009-05-111-6/+6
| | | | | | | | The loop constructs to iterate over the non-overlapping, even positions of two or three bytes in a word were broken. This patch fixes the loops. It has been verified to generate the 72 combinations for two and the 80 combinations for three bytes.
* Runtime lib functionsDaniel Glöckner2008-09-121-41/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Set VT_LVAL_xxx flags for function arguments in gfunc_prolog (Daniel Glöckner)Daniel Glöckner2008-09-121-1/+1
|
* Import 409,410: ARM EABI by Daniel Glöcknergrischka2007-12-041-66/+380
|
* removed warningsbellard2004-11-071-3/+5
|
* ARM fixes (Daniel Glockner)bellard2004-10-041-86/+176
|
* initial TMS320C67xx support (TK)bellard2004-10-041-0/+1
|
* ARM target support (Daniel Glockner) - allow unsigned char as default on ↵bellard2003-10-141-0/+1293
ARM (Daniel Glockner) - fixed small ld script support (Daniel Glockner)