Commit Graph

8441 Commits

Author SHA1 Message Date
florian
61d86150aa * interface wrappers for win64 abi fixed
git-svn-id: trunk@3240 -
2006-04-17 08:25:44 +00:00
florian
f702b481f0 * fixed assembling of (%rbp)
git-svn-id: trunk@3239 -
2006-04-17 07:58:37 +00:00
Jonas Maebe
6738df45e8 * made ar'ing of smartlinked libraries a lot faster
git-svn-id: trunk@3235 -
2006-04-16 18:43:28 +00:00
Jonas Maebe
adea84b807 * made ar'ing of smartlinked libraries a lot faster
git-svn-id: trunk@3234 -
2006-04-16 18:42:15 +00:00
Jonas Maebe
7c16869e48 * don't write individual names of all assembler files when generating
a smart linkable unit with -ap

git-svn-id: trunk@3233 -
2006-04-16 18:25:20 +00:00
florian
2d3d4a66f6 * keep stack aligned to 16 byte borders on winx64
git-svn-id: trunk@3212 -
2006-04-15 16:48:28 +00:00
Jonas Maebe
0d77459b9d * added missing masking of upper 24/16 bits on ppc after performing
add/sub/shl/mul on 8 or 16 bit "registers" + test (tcinvint5)
  * optimized register-register loading of < 32 bit values (removes
    30KB of superfluous extsb/extsh/rlwinm's from compiler+rtl)

git-svn-id: trunk@3207 -
2006-04-14 13:01:10 +00:00
Jonas Maebe
608f7de834 * fixed typo in comments
git-svn-id: trunk@3205 -
2006-04-14 09:16:43 +00:00
Jonas Maebe
5e02b02d24 * properly count references to overloaded operators (tests/tbs/tb0500.pp)
git-svn-id: trunk@3204 -
2006-04-14 09:12:48 +00:00
yury
7d8aa405b1 * GenerateImportSection is true by default as before. Import libs issue need to be fixed before setting this option to false by default.
git-svn-id: trunk@3203 -
2006-04-14 06:47:38 +00:00
peter
810a776e10 * patch from Jonas to pass interface result as parameter
git-svn-id: trunk@3199 -
2006-04-13 07:04:48 +00:00
Jonas Maebe
f93ea93cea * fixed returning of records < 8 bytes but not a power of 2 from
functions under Darwin/x86
  * implemented "mwpascal" calling conventions for darwin/x86
    (pass const records by reference, destroyed registers are
     [eax,ecx,edx])

git-svn-id: trunk@3196 -
2006-04-12 12:19:08 +00:00
Jonas Maebe
76937d5222 * fixed previous commit
git-svn-id: trunk@3195 -
2006-04-12 10:46:21 +00:00
peter
b7a936faa0 * interfaces return values need to be passed in parameters
git-svn-id: trunk@3194 -
2006-04-12 10:26:10 +00:00
Jonas Maebe
05540cad44 * give an error for {$calling } (i.e., when a procedure directive is
missing)

git-svn-id: trunk@3193 -
2006-04-12 07:58:25 +00:00
Jonas Maebe
4d55b3aee3 + support for {$calling default} to switch back to the default calling
convention

git-svn-id: trunk@3192 -
2006-04-11 20:41:53 +00:00
Jonas Maebe
0a10fac060 * fixed regvar bug in in-node code (regvar could be modified by
"in" code)

git-svn-id: trunk@3191 -
2006-04-11 15:08:07 +00:00
Jonas Maebe
039e7143f4 * avoid some unnecessary bool->int->bool type conversions
git-svn-id: trunk@3184 -
2006-04-09 18:33:05 +00:00
Tomas Hajny
c17b57db07 + Statistics of warnings, hints and notes - (modified/fixed) patch from Naj Kejah, part of wishlist item 4897, plus hardcoded text moved to message file
git-svn-id: trunk@3181 -
2006-04-09 11:54:09 +00:00
Jonas Maebe
55a2007321 * fixed skipping of parameter registers for ppc/aix in case a parameter
has to be passed on the stack before all registesters are used up
  * fixed calculation of stack offsets for ppc/aix abi for small records, 
    arrays and ordinals passed on the stack after all registers are used
  + test for all of the above

git-svn-id: trunk@3166 -
2006-04-07 22:17:45 +00:00
Jonas Maebe
c41da1172c * removed wrong comment along with commented-out code
git-svn-id: trunk@3165 -
2006-04-07 21:57:30 +00:00
Jonas Maebe
a55ca0e89f * fixed c record aligning for ppc after symtablestack structure change
git-svn-id: trunk@3164 -
2006-04-07 20:41:33 +00:00
peter
cc67c1ea2d * RELOC_ABSOLUTE32 for all non-x86_64
git-svn-id: trunk@3161 -
2006-04-07 08:29:29 +00:00
Jonas Maebe
eb9f00193b * return OS_NO from int_cgsize() for sizes which are not a power of 2
(fixes crash in tests/test/cg/tpara2.pp for ppc, does not break i386)

git-svn-id: trunk@3159 -
2006-04-06 22:09:25 +00:00
peter
945cb29f24 * TFPHashList.Pack now also packs the items
* Free ObjRelocations

git-svn-id: trunk@3153 -
2006-04-05 12:36:17 +00:00
peter
82b6546997 * fix importing for win32
git-svn-id: trunk@3147 -
2006-04-05 07:17:41 +00:00
peter
96db39b15d * fix compile for win32
git-svn-id: trunk@3146 -
2006-04-05 06:31:01 +00:00
Vincent Snijders
3c8968a4b3 * moved misplaced comma
git-svn-id: trunk@3145 -
2006-04-05 06:21:21 +00:00
florian
a69ae7ca34 * fixed win32->win64 cross compilation
* fixed win64 import section generation in linker module

git-svn-id: trunk@3143 -
2006-04-04 20:43:34 +00:00
Jonas Maebe
385815beff * fixed offset calculation of first parameter on the stack if there
were any preceding parameters < 4 bytes

git-svn-id: trunk@3141 -
2006-04-04 12:44:19 +00:00
peter
66c41ee7cc * fix memory leak with normal exit
git-svn-id: trunk@3137 -
2006-04-03 16:04:55 +00:00
peter
780089fb26 * fixed and simplified section handling now all sections are
always in objsectionlist

git-svn-id: trunk@3135 -
2006-04-03 08:47:20 +00:00
peter
7923a81cfd * range check error
git-svn-id: trunk@3134 -
2006-04-03 07:51:34 +00:00
peter
d542fd97fb * use TFPHashObjectList instead of TDictionary
git-svn-id: trunk@3133 -
2006-04-02 21:18:04 +00:00
peter
1a3cf9650e * prevent overflow in fphash
git-svn-id: trunk@3130 -
2006-04-02 20:48:36 +00:00
florian
a8c2419d8a * fixed left_and_right_must_be_fpureg
git-svn-id: trunk@3129 -
2006-04-02 20:36:20 +00:00
peter
efe41b0766 * fixed section smartlinking with ld.exe
* reference debugstart and debugend sections

git-svn-id: trunk@3127 -
2006-04-02 20:18:38 +00:00
florian
9da293678e * fixed mm register parameters which were messed up by a previous commit
* fixed duplicate ie number

git-svn-id: trunk@3125 -
2006-04-02 19:15:38 +00:00
florian
d904a04d3b * fixed stackframe generation for win x64
git-svn-id: trunk@3124 -
2006-04-02 19:05:00 +00:00
peter
e2f768982d * fix idata generation
git-svn-id: trunk@3118 -
2006-04-02 00:58:28 +00:00
peter
a609d76920 * don't generate import data section anymore by default
git-svn-id: trunk@3117 -
2006-04-02 00:31:52 +00:00
peter
fc6e4adf74 Merged revisions 3068,3070,3114 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

r3068 | peter | 2006-03-28 15:02:06 +0100 (Tue, 28 Mar 2006) | 2 lines

  * Add new TFPHashList and TFPHashObjectList

r3070 | peter | 2006-03-29 07:39:04 +0100 (Wed, 29 Mar 2006) | 2 lines

  * fix compile

r3114 | peter | 2006-04-01 23:47:50 +0100 (Sat, 01 Apr 2006) | 3 lines

  * remove debug writelns
  * enable vtable optimizer with -Xv

git-svn-id: trunk@3116 -
2006-04-02 00:13:03 +00:00
peter
be88cd47b2 Merged revisions 3090-3113 via svnmerge from
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler

r3090 | peter | 2006-03-30 15:10:15 +0100 (Thu, 30 Mar 2006) | 2 lines

  * infrastructure for .vtable directives

r3094 | peter | 2006-03-31 10:01:48 +0100 (Fri, 31 Mar 2006) | 2 lines

  * vtable directive fixes

r3113 | peter | 2006-04-01 22:49:57 +0100 (Sat, 01 Apr 2006) | 2 lines

  * Smart VTable linking using Symbols

git-svn-id: trunk@3115 -
2006-04-02 00:11:17 +00:00
florian
5e51aa7968 * fixed pe flags x86_64
* fixed idata for x86_64

git-svn-id: trunk@3112 -
2006-04-01 20:09:13 +00:00
florian
3129dd042e * fixed i386 compilation
git-svn-id: trunk@3110 -
2006-04-01 15:10:46 +00:00
florian
d0c327b14b * basic winx64 calling convention support
git-svn-id: trunk@3108 -
2006-04-01 14:42:52 +00:00
florian
79b2432369 * fixed relocation fixup for x86_64
git-svn-id: trunk@3107 -
2006-04-01 13:41:11 +00:00
florian
3324a4a14b * additional ie
git-svn-id: trunk@3106 -
2006-04-01 13:23:15 +00:00
florian
44f797e5bc + x86_64 relocation support
git-svn-id: trunk@3105 -
2006-04-01 13:13:40 +00:00
florian
1d46c65496 * enabled internal linker for winx64
* more descriptive error messages for the coff reader
* fixed coff magic for x64

git-svn-id: trunk@3104 -
2006-04-01 12:39:15 +00:00