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