Commit Graph

33 Commits

Author SHA1 Message Date
Jonas Maebe
3380b58695 * when we get near the limit of the maximum number of TOC entries that can
be generated for a single object file on AIX, automatically switch to
    an indirection scheme that uses much less TOC entries, but is slower to
    access global variables
  * manually merged infrastructure for target-specific code generation
    switches from JVM branch (-CTxxx switches)
  * -CTsmalltoc switch for AIX that forces the indirection scheme for TOC
    entries from the start in case the automatic one does not conserve
    a sufficient amount (or in case you bump up against the global TOC
    entries limit during linking)

git-svn-id: trunk@20963 -
2012-04-21 20:17:46 +00:00
Jonas Maebe
69e01418bb * set the type of record/object/class method symbols to AT_FUNCTION
* in case of a jump/call to an AT_FUNCTION symbols on
    systems_dotted_function_names platforms, prepend a dot to the symbol
    name in assembler code

git-svn-id: trunk@20829 -
2012-04-11 18:05:35 +00:00
Jonas Maebe
71106219f2 * detect RTOC-based accesses on AIX in inline assembly, and change the
symbol names to those of the associated TOC entries

git-svn-id: trunk@20797 -
2012-04-11 18:01:29 +00:00
Jonas Maebe
b738657bf3 * on AIX, functions are called via function descriptors whose name
is '.' followed by the function symbol name (like on linux/ppc64)

git-svn-id: trunk@20796 -
2012-04-11 18:01:21 +00:00
Jonas Maebe
335bc9fd46 + PIC support for darwin/ppc32 (-Cg works now, no regressions in test
suite compiled with -Cg compared to without -Cg)
  + support for using a virtual register as PIC/got base register
  * moved got loading code from ncgutil to cgobj/cgcpu (can't test whether
    it didn't break anything under linux/i386, because "make cycle OPT=-Cg"
    was already broken due to the *prt*.as -> si_*.pp changes)

git-svn-id: trunk@8651 -
2007-09-26 16:41:32 +00:00
Jonas Maebe
28bab3fb4f - removed some unused variables
* fixed some (harmless) ptrint warnings
  - removed some commented code in agppcmpw
  * added one missing field in a typed constant in cp1251

git-svn-id: trunk@8081 -
2007-07-17 13:57:15 +00:00
tom_at_work
2d1f9b20a3 * merged trefaddr.addr_lo/addr_hi with trefaddr.addr_low/addr.high; some related bugfixing/cleanup
git-svn-id: trunk@7983 -
2007-07-08 20:50:58 +00:00
Jonas Maebe
c866400823 + support for VMTOFFSET in assembler readers to get VMT offset of virtual
methods (mantis #8153)

git-svn-id: trunk@6168 -
2007-01-24 18:26:23 +00:00
Jonas Maebe
302a2a3ec2 * fixed calling qualified methods in assembler + tests for ppc/ppc64/
i386/x86_64

git-svn-id: trunk@6112 -
2007-01-21 22:16:42 +00:00
tom_at_work
35228f0391 * fixes after 5148 changes for ppc platform
git-svn-id: trunk@5150 -
2006-11-01 16:09:38 +00:00
peter
b7fe6797bf Merged revisions 2921-2922,2925 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines

  * pass ObjectWriter to ObjectOuput

........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines

  * refactor asmdata

........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines

  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit

........

git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
Jonas Maebe
365d2892f4 + support for bo/bi notation for branches in the assembler reader
git-svn-id: trunk@2102 -
2006-01-01 13:34:04 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
4d8460ec2f * float routines all use internproc and compilerproc helpers 2004-11-21 15:35:23 +00:00
peter
0c7e53bb81 * fixed compile of powerpc,sparc,arm 2004-11-11 19:31:33 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
olle
4fecc1a56f * big transformation of Tai_[const_]Symbol.Create[data]name* 2004-03-02 00:36:32 +00:00
florian
55439e77a2 * fixed make cycle 2004-02-28 16:00:45 +00:00
florian
2e78263814 * fixed syntax error in previous commit 2004-02-28 14:14:44 +00:00
florian
cb904e6cfa * jmps in inline assembler fixed 2004-02-28 13:24:36 +00:00
florian
fabb9c33ac * top_symbol killed
+ refaddr to treference added
  + refsymbol to treference added
  * top_local stuff moved to an extra record to save memory
  + aint introduced
  * tppufile.get/putint64/aint implemented
2004-02-27 10:21:04 +00:00
olle
7e373764ba * uodated header comment 2004-02-04 15:23:28 +00:00
Jonas Maebe
8ad6133ea3 * more ppc fixes, hello world works again under linuxppc 2003-11-29 22:54:32 +00:00
Jonas Maebe
d5373d5971 * fixed several ppc assembler reader related problems
* local vars in assembler procedures now start at offset 4
  * fixed second_int_to_bool (apparently an integer can be in  LOC_JUMP??)
2003-11-29 16:27:19 +00:00
Jonas Maebe
6623aaf098 * fixed is_condreg
* fixed branch condition parsing in assembler reader
2003-11-23 20:00:39 +00:00
florian
3f1b80bfaa + skeleton for bXX crX,<label> 2003-11-23 18:32:42 +00:00
Jonas Maebe
9b38228c7e * fixed uninitialised var 2003-11-23 17:33:24 +00:00
florian
3b743d766b * fixed ppc assembler reader 2003-11-15 19:00:10 +00:00
florian
1af574ceca * assembler readers OOPed
+ typed currency constants
  + typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
florian
78e93cec32 * initial revision 2003-11-06 20:48:02 +00:00