yury
7547f3a0c0
* Allow @ and ? characters in imported function name when AS is used. It fixes bug #8391 .
...
+ test.
git-svn-id: trunk@6669 -
2007-02-26 17:51:38 +00:00
peter
9f3de7e809
* -Xg generates a separate file with the debug info sections
...
git-svn-id: trunk@6628 -
2007-02-24 15:06:31 +00:00
peter
30e78b71c8
* fix IE after duplicate asm symbol
...
git-svn-id: trunk@5992 -
2007-01-15 17:45:01 +00:00
florian
c238bb15d1
* .init section support
...
git-svn-id: trunk@5835 -
2007-01-07 10:03:52 +00:00
yury
d8d25c2489
* fixed memory leaks in compiler.
...
git-svn-id: trunk@5369 -
2006-11-14 09:32:58 +00:00
peter
f21f055373
* change hashobjectlist.Delete() calls to :=nil now that the .Delete() behaviour
...
is changed
git-svn-id: trunk@5365 -
2006-11-13 22:04:21 +00:00
yury
5f484a0f14
* section "fpc" was renamed to ".fpc".
...
* compiler version string is stored in .fpc.version section.
* debug start/end links are stored in .fpc.links section.
* fixed linking with eVC++ object files by internal linker.
* .fpc.links section is removed by internal linker before writing executable, because it is no longer needed.
git-svn-id: trunk@5305 -
2006-11-10 10:33:41 +00:00
yury
11fcbcc663
* properly align common symbols.
...
git-svn-id: trunk@5264 -
2006-11-06 00:22:33 +00:00
yury
a993ddbe5c
* removed dbgstabs usage.
...
git-svn-id: trunk@5253 -
2006-11-05 20:49:15 +00:00
yury
4e3c5e202a
* Internal linker sorts only .idata section and removes stabs of unused functions. It seems all debug info problems with internal linker are solved now.
...
* Properly arrange arm-wince exception sections.
git-svn-id: trunk@5249 -
2006-11-05 17:13:31 +00:00
peter
4df4a4f7d1
* dynamic growth of blocks in tdynamicarray
...
* revert to old expand algorithms for fplist
git-svn-id: trunk@5204 -
2006-11-03 13:44:44 +00:00
peter
5cd8775d38
* show only totals for memdebug
...
git-svn-id: trunk@5196 -
2006-11-03 11:24:02 +00:00
peter
cb246eb781
* Remove dos,strings units, use SysUtils instead
...
* replace split* functions with Extract* functions
* Add Directory caching
git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
peter
070b86a512
* order of named sections added
...
* fix debugstart and debugend labels
git-svn-id: trunk@5098 -
2006-10-30 22:34:22 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
71665dbc4c
* initial addr_pic support for x86_64 binary writer
...
git-svn-id: trunk@4848 -
2006-10-10 18:36:41 +00:00
micha
d704af7216
fix compilation for {$T+} linux/win
...
git-svn-id: trunk@4794 -
2006-10-04 20:43:55 +00:00
peter
bf1c390027
* refactor import library generation
...
* support variable imports in internal linker
git-svn-id: trunk@4544 -
2006-09-03 19:22:31 +00:00
yury
5aef17adae
* Internal linker now creates .reloc section for DLLs.
...
git-svn-id: trunk@4046 -
2006-07-01 21:45:54 +00:00
yury
03f892719d
* added import by ordinal number in internal linker.
...
git-svn-id: trunk@4037 -
2006-07-01 15:53:18 +00:00
peter
f5c1839ff0
* support static library (.a) linking
...
* move win linker script to t_win
* rename some win32 to win in t_win
git-svn-id: trunk@3991 -
2006-06-28 20:26:53 +00:00
yury
01edb71190
* internal linker removes imports referenced by unused code.
...
git-svn-id: trunk@3832 -
2006-06-09 20:57:48 +00:00
yury
550626ef34
- Removed need of assembler startup files for wince. Now compiler directly creates .pdata section needed for arm-wince exception handling.
...
git-svn-id: trunk@3764 -
2006-06-02 08:36:25 +00:00
yury
2bf89e2040
* Internal linker support for wince.
...
git-svn-id: trunk@3712 -
2006-05-27 22:49:22 +00:00
peter
a57708e63d
* DLL support
...
git-svn-id: trunk@3623 -
2006-05-21 21:07:49 +00:00
peter
392ef22a7f
* win imports are only by importname not anymore per procdef
...
git-svn-id: trunk@3622 -
2006-05-21 20:40:18 +00:00
peter
6af8b52132
* define common symbol when it is not available
...
git-svn-id: trunk@3447 -
2006-05-07 09:08:55 +00:00
florian
cae35add51
+ reading of winx64 coff object files generated by MS-VC
...
git-svn-id: trunk@3426 -
2006-05-06 07:59:37 +00:00
florian
83f4ab0f4a
* align data, bss and text sections to 16 byte boundaries
...
git-svn-id: trunk@3286 -
2006-04-19 21:54:43 +00:00
peter
ead6c6a29a
* fix writing of long stabstr entries
...
git-svn-id: trunk@3279 -
2006-04-19 08:21:49 +00:00
peter
ce58e15393
* fix coff section names to fix resourcestrings with
...
the external linker
* create import libraries for dll imports, this uses
the new objdata framework to generate the binary
object files directly without needing an assembler pass
* store import_dll and import_name in ppu
* external linker uses import libraries
* internal linker uses import info from symtables,
no dlls are needed anymore
git-svn-id: trunk@3255 -
2006-04-17 20:48:22 +00:00
peter
cc67c1ea2d
* RELOC_ABSOLUTE32 for all non-x86_64
...
git-svn-id: trunk@3161 -
2006-04-07 08:29:29 +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
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
peter
d542fd97fb
* use TFPHashObjectList instead of TDictionary
...
git-svn-id: trunk@3133 -
2006-04-02 21:18:04 +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
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
peter
7f4b051f99
* support subsystem
...
* fixed stab
* always keep .rsrc section
git-svn-id: trunk@3089 -
2006-03-30 11:24:17 +00:00
peter
f9ccac3f30
* alignment of dwarf sections
...
git-svn-id: trunk@3059 -
2006-03-27 12:51:05 +00:00
florian
5d243f665a
* fixed <instr> reg,reg with regs>=r8
...
* fixed section naming
* fixed relocations
git-svn-id: trunk@3041 -
2006-03-26 17:54:02 +00:00
peter
37c81492ad
Merged revisions 2827,2831,2837,2932-2980 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
r2827 (peter)
* smartlinking of resourcestrings
r2831 (peter)
* process_ea 64bit fixes
r2837 (peter)
* linker script
git-svn-id: trunk@2981 -
2006-03-19 22:12:52 +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
peter
17bc033747
Merged revisions 2791-2793,2798-2800,2806-2825,2829-2830,2833,2839,2898 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2791 | peter | 2006-03-06 14:57:20 +0100 (Mon, 06 Mar 2006) | 3 lines
* disable internal linker if -s is used
* enable section smartlink by default for internal linker
........
r2792 | peter | 2006-03-06 14:58:23 +0100 (Mon, 06 Mar 2006) | 2 lines
* support long sectionnames
........
r2793 | peter | 2006-03-06 15:04:12 +0100 (Mon, 06 Mar 2006) | 2 lines
* register symbols in section also when reading .o files
........
r2798 | peter | 2006-03-07 10:08:07 +0100 (Tue, 07 Mar 2006) | 2 lines
* symbolrefs need to be loaded from relocations when loading a .o
........
r2799 | peter | 2006-03-07 16:17:52 +0100 (Tue, 07 Mar 2006) | 3 lines
* remove unreferenced sections
* set stacksize in peopthaeder
........
r2800 | peter | 2006-03-07 17:02:46 +0100 (Tue, 07 Mar 2006) | 2 lines
* objsection.fullname added
........
........
r2807 | peter | 2006-03-08 08:18:04 +0100 (Wed, 08 Mar 2006) | 2 lines
* powerpc64 fixes
........
r2808 | peter | 2006-03-08 08:35:53 +0100 (Wed, 08 Mar 2006) | 2 lines
* register x86_64_pecoff
........
r2809 | peter | 2006-03-08 11:26:38 +0100 (Wed, 08 Mar 2006) | 2 lines
* optimize and cleanup matches()
........
r2810 | peter | 2006-03-08 12:25:28 +0100 (Wed, 08 Mar 2006) | 2 lines
* small tweak to readdata to copy values direct without calling move()
........
r2811 | peter | 2006-03-08 15:55:21 +0100 (Wed, 08 Mar 2006) | 2 lines
* compile fix
........
........
........
........
........
........
r2817 | peter | 2006-03-09 14:20:52 +0100 (Thu, 09 Mar 2006) | 2 lines
* more readable with long secnames
........
........
........
........
........
........
........
........
r2825 | peter | 2006-03-10 09:52:05 +0100 (Fri, 10 Mar 2006) | 2 lines
* don't initialize/finalize external variables
........
r2829 | peter | 2006-03-10 10:58:08 +0100 (Fri, 10 Mar 2006) | 2 lines
* merge 64bit assembler
........
r2830 | peter | 2006-03-10 12:25:08 +0100 (Fri, 10 Mar 2006) | 2 lines
* TElfAssembler rename
........
r2833 | peter | 2006-03-10 15:22:27 +0100 (Fri, 10 Mar 2006) | 3 lines
* support & prefix to force identifier parsing, used to access fields that
have the names of a register
........
r2839 | peter | 2006-03-10 19:37:11 +0100 (Fri, 10 Mar 2006) | 2 lines
* merge stabs section flags
........
r2898 | peter | 2006-03-12 23:18:18 +0100 (Sun, 12 Mar 2006) | 2 lines
* reorder instructions for better first match
........
git-svn-id: trunk@2902 -
2006-03-13 09:29:57 +00:00
peter
38c0ae73da
Merged revisions 2775,2788-2789 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2775 | peter | 2006-03-05 22:43:30 +0100 (Sun, 05 Mar 2006) | 2 lines
* merge ppu changes to keep ppus the same
........
r2788 | peter | 2006-03-06 12:59:14 +0100 (Mon, 06 Mar 2006) | 2 lines
* Add TFPList and TFPObjectList
........
r2789 | peter | 2006-03-06 13:01:37 +0100 (Mon, 06 Mar 2006) | 2 lines
* fix powerpc
........
git-svn-id: trunk@2790 -
2006-03-06 12:04:44 +00:00
peter
785550d7e3
Merged revisions 2669,2673,2677,2683,2696,2699-2702,2704,2708,2712-2715,2718,2722-2723,2728-2730,2740,2769 via svnmerge from
...
svn+ssh://peter@www.freepascal.org/FPC/svn/fpc/branches/linker/compiler
........
r2669 | peter | 2006-02-23 09:31:21 +0100 (Thu, 23 Feb 2006) | 2 lines
* add compiler dir
........
r2673 | peter | 2006-02-23 17:08:56 +0100 (Thu, 23 Feb 2006) | 2 lines
* enabled more code
........
r2677 | peter | 2006-02-24 17:46:29 +0100 (Fri, 24 Feb 2006) | 2 lines
* pe stub and headers
........
r2683 | peter | 2006-02-25 23:13:24 +0100 (Sat, 25 Feb 2006) | 2 lines
* section options cleanup
........
r2696 | peter | 2006-02-26 20:27:41 +0100 (Sun, 26 Feb 2006) | 2 lines
* fixed typecasts
........
r2699 | peter | 2006-02-26 23:04:32 +0100 (Sun, 26 Feb 2006) | 2 lines
* simple linking works
........
r2700 | peter | 2006-02-27 09:44:50 +0100 (Mon, 27 Feb 2006) | 2 lines
* internal linker script
........
r2701 | peter | 2006-02-27 12:05:12 +0100 (Mon, 27 Feb 2006) | 2 lines
* make elf working again
........
r2702 | peter | 2006-02-27 14:04:43 +0100 (Mon, 27 Feb 2006) | 3 lines
* disable dwarf for smartlinking with .a
* fix section start in new .a file
........
r2704 | peter | 2006-02-27 18:30:43 +0100 (Mon, 27 Feb 2006) | 2 lines
* stab section fixes
........
r2708 | peter | 2006-02-28 19:29:17 +0100 (Tue, 28 Feb 2006) | 2 lines
* basic work to merge stabs sections
........
r2712 | peter | 2006-02-28 23:17:48 +0100 (Tue, 28 Feb 2006) | 2 lines
* unload tmodules before linking
........
r2713 | peter | 2006-02-28 23:18:51 +0100 (Tue, 28 Feb 2006) | 2 lines
* fixed stabs linking
........
r2714 | peter | 2006-02-28 23:19:19 +0100 (Tue, 28 Feb 2006) | 2 lines
* show code and data size
........
r2715 | peter | 2006-02-28 23:25:35 +0100 (Tue, 28 Feb 2006) | 2 lines
* unload .stabs from objdata after it is merged
........
r2718 | peter | 2006-03-01 12:24:38 +0100 (Wed, 01 Mar 2006) | 3 lines
* memsize/datasize cleanup
* check for exports/resources when adding module to linker
........
r2722 | peter | 2006-03-03 09:12:20 +0100 (Fri, 03 Mar 2006) | 2 lines
* new TObjSymbol splitted from TAsmSymbol
........
r2723 | peter | 2006-03-03 14:08:55 +0100 (Fri, 03 Mar 2006) | 2 lines
* coff fixes after recent objsymbol changes
........
r2728 | peter | 2006-03-03 22:43:04 +0100 (Fri, 03 Mar 2006) | 2 lines
* fixed coff writer
........
r2729 | peter | 2006-03-04 01:10:32 +0100 (Sat, 04 Mar 2006) | 2 lines
* fix read-only opening
........
r2730 | peter | 2006-03-04 01:11:16 +0100 (Sat, 04 Mar 2006) | 2 lines
* Read edata from DLLs, basic work
........
r2740 | peter | 2006-03-04 21:13:43 +0100 (Sat, 04 Mar 2006) | 3 lines
* deletedef added
* don't remove defs from index when we are already clearing everything
........
r2769 | peter | 2006-03-05 21:42:33 +0100 (Sun, 05 Mar 2006) | 4 lines
* moved TObj classes to ogbase
* ObjSection.SymbolRefs and SymbolDefines list
* DLL importing
........
git-svn-id: trunk@2771 -
2006-03-05 21:10:37 +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
mazen
169f43ca6a
* Dos and cpubase units in uses clause are not needed
2004-10-14 17:37:46 +00:00