yury
bf00b3e94b
* Replaced some ifdef x86_64 by ifdef cpu64bitaddr, since it is more correct.
...
git-svn-id: trunk@13159 -
2009-05-17 12:43:58 +00:00
yury
ede93974bc
* Fixed writing of external debug info when reloc section should be created.
...
git-svn-id: trunk@13146 -
2009-05-15 22:30:52 +00:00
yury
c4439e4e39
* Properly write 64-bit relocations into .reloc section.
...
* Warning when 64-bit object file contains 32-bit absolute relocations. In such case an executable image can be loaded into lower 4Gb of address space only.
git-svn-id: trunk@13110 -
2009-05-07 10:46:56 +00:00
yury
5cd83b26d9
* More proper check for executable image size limits.
...
* Proper handling of 64-bit COFF relocations.
* Use jumps with 32-bit relative addressing in imports on win64.
* This fixes are related to bug #13657 . The bug is not fully fixed yet...
git-svn-id: trunk@13104 -
2009-05-06 18:07:07 +00:00
yury
99917e034d
* Fixed visibility notes of some overrode methods.
...
git-svn-id: trunk@13095 -
2009-05-04 10:24:47 +00:00
yury
9d78ca3f19
* RELOC_SECREL32 must be relative to EXE section, not to object file section.
...
* Write zero to relocs in debug sections, which point to unused sections, eliminated by linker.
* It seems internal linker creates correct dwarf debug info now.
git-svn-id: trunk@13093 -
2009-05-04 09:42:51 +00:00
yury
50060dfd52
* Do not assume sizeof(pint) section alignment if no alignment is specified for the section.
...
git-svn-id: trunk@13092 -
2009-05-04 08:27:36 +00:00
yury
070fa422b5
* Partially reverted r12648. PE flags should be set in main PE header (and it is done already). LoaderFlags in optional header are obsolete.
...
git-svn-id: trunk@13088 -
2009-05-03 14:43:46 +00:00
florian
442333d05f
* fixed string length which makes ObjC section names fit
...
git-svn-id: trunk@12889 -
2009-03-14 20:26:31 +00:00
Jonas Maebe
6165536b5e
+ added {$modeswitch objectivec1}/-Mobjectivec1 mode switch to enable
...
the use of Objective-C 1.0 constructs. Because it is a mode switch, it
can be used cumulatively with every syntax mode. Note that a {$mode xxx}
statement resets all mode switches as well, so you cannot use the
-Mobjectivec1 variant if you have such a statement in a unit. This
modeswitch is currently only enabled for Darwin/PowerPC and Darwin/i386,
as the backend support is not yet implemented for other platforms.
+ implemented selector() statement that can be used to create an Objective-C
selector for the message with the specified *constant* name (in the future,
it will also work for Objective-C method identifiers)
+ added SEL type to the system unit (the selector() statement returns it)
+ added all Objective-C segments to the assembler writers
+ (currently mostly dummy) objc1 unit that is automatically included if the
{$modeswitch objectivec1} statement is used
+ some tests for the selector() statement
git-svn-id: trunk@12870 -
2009-03-08 18:40:32 +00:00
yury
89d466a3dc
* Fixed writing debug link for external symbols file. Bug #13041 .
...
git-svn-id: trunk@12686 -
2009-02-05 11:44:52 +00:00
florian
a3d784b8e5
* internal coff linker takes care of min./max. stack size as well as pe flags
...
git-svn-id: trunk@12648 -
2009-02-01 18:22:18 +00:00
Jonas Maebe
b1c3f76ff9
* changed the supported targets for assembler writers to a set, and
...
(hopefully correctly) limited all assembler writers to only the
OSes they support (mantis #11801 )
git-svn-id: trunk@12622 -
2009-01-28 15:12:43 +00:00
yury
9cc15bd994
* Do not write COFF string table into EXE if COFF symbol table is not present. It fixes loading of stripped DLL on Win9x. Bug #12629 .
...
git-svn-id: trunk@12352 -
2008-12-12 14:54:14 +00:00
yury
4cabbe0e39
* Fixed compiler cycling with enabled range and overflow checking.
...
git-svn-id: trunk@11489 -
2008-07-29 21:11:03 +00:00
yury
eb9c9c77d8
* More correct fix for overflow check for RELOC_RELATIVE_24.
...
* Fixed 2007062701 while linking DLL.
git-svn-id: trunk@11484 -
2008-07-29 08:44:05 +00:00
yury
c92c034882
* Fixed overflow check for RELOC_RELATIVE_24.
...
git-svn-id: trunk@11483 -
2008-07-28 22:30:46 +00:00
yury
4cb3fef484
* Fixed executable size limit for wince.
...
git-svn-id: trunk@11482 -
2008-07-28 22:06:15 +00:00
yury
c84aa860bd
* Added error message if resulting executable image size is too big to fit in memory. bug #11702 .
...
git-svn-id: trunk@11481 -
2008-07-28 21:54:18 +00:00
yury
5e11e697b4
* Use unsigned integers for sizes and positions to break 2GB limit in tdynamicarray, object writer, internal linker, coff and PE headers.
...
git-svn-id: trunk@11480 -
2008-07-28 20:29:25 +00:00
yury
0bcaf8845f
* Fixed 'mixed signed/unsigned' warnings.
...
* Suppressed 2 unreachable code warnings.
* Now x86 compiler compiles without warnings and notes! It will be great to keep such state in future...
git-svn-id: trunk@11455 -
2008-07-23 13:16:46 +00:00
yury
491f0fa1d8
* Replaced all user defined warnings by TODO comments to reduce compiler noise.
...
git-svn-id: trunk@11443 -
2008-07-23 11:00:03 +00:00
yury
fd0ed50331
* Removed/commented more unused variables.
...
* Fixed some uninitialized variable warnings.
git-svn-id: trunk@11442 -
2008-07-23 10:48:53 +00:00
yury
d5a3a28379
* Set PE_FILE_LARGE_ADDRESS_AWARE flag for win64 executables to allow access more than 2GB of memory.
...
* Fixed $setpeflags directive. Flags should be set in main PE header. LoaderFlags in optional header are obsolete.
git-svn-id: trunk@11433 -
2008-07-22 11:53:55 +00:00
yury
fcceb9cfa1
* Removed/ifdefed/commented unused local variables.
...
git-svn-id: trunk@11430 -
2008-07-20 23:00:31 +00:00
yury
efb280e0e9
* Use system_wince in all places.
...
git-svn-id: trunk@11429 -
2008-07-20 22:39:19 +00:00
yury
0e17d9e4d9
* Use system_wince instead of [system_arm_wince,system_i386_wince].
...
git-svn-id: trunk@11426 -
2008-07-20 22:22:57 +00:00
yury
22df9855d9
* For some unknown reason WM 6.1 requires .idata section to be read only. Otherwise it refuses to load DLLs greater than 64KB. Earlier versions of WinCE load DLLs regardless of .idata flags.
...
git-svn-id: trunk@11421 -
2008-07-20 20:28:37 +00:00
florian
9e88af9a78
* support ABSOLUTE32 in the COFF writer on x86-64, resolves #10641
...
git-svn-id: trunk@11376 -
2008-07-13 09:10:50 +00:00
florian
cad678840e
+ internal linker takes care of setpeflags
...
git-svn-id: trunk@10499 -
2008-03-17 21:06:35 +00:00
peter
f915cbc4ca
* replace constants to formal const with variables
...
git-svn-id: trunk@10425 -
2008-03-02 14:01:22 +00:00
Jonas Maebe
f36e5411af
* split cpu64bit compiler define into
...
a) cpu64bitaddr, which means that we are generating a compiler which
will generate code for targets with a 64 bit address space/abi
b) cpu64bitalu, which means that we are generating a compiler which
will generate code for a cpu with support for 64 bit integer
operations (possibly running in a 32 bit address space, depending
on the cpu64bitaddr define)
All cpus which had cpu64bit set now have both the above defines set,
and none of the 32 bit cpus have cpu64bitalu set (and none will
compile with it currently)
+ pint and puint types, similar to aint/aword (not pword because that
that conflicts with pword=^word)
* several changes from aint/aword to pint/pword
* some changes of tcgsize2size[OS_INT] to sizeof(pint)
git-svn-id: trunk@10320 -
2008-02-13 20:44:00 +00:00
florian
ddad44bc1e
* win64 -glw build fix
...
git-svn-id: trunk@9817 -
2008-01-20 15:13:42 +00:00
peter
793fd8fc09
* Add -Xg to help pages
...
* -Xg now produces a .dbg file with debuginfo
that can be used by gdb. The main executable gets
a debuglink section that references the .dbg file.
git-svn-id: trunk@9778 -
2008-01-17 01:20:37 +00:00
yury
13d948c07b
* Fixed: import Address Table should contain the same data as Import Lookup Table.
...
* Perform import by name with index as hint, if both import name and import index are specified.
* Fixed import by ordinal when external linker is used.
* Fixed some warnings and notes.
git-svn-id: trunk@9083 -
2007-11-02 23:07:15 +00:00
peter
488c06d275
* don't reuse emptyint
...
git-svn-id: trunk@8724 -
2007-10-02 18:41:07 +00:00
peter
9f0ca44c94
* new tf_smartlink_library flag
...
* use create_smartlink[_sections|_library] to check what to
do for smartlinking
git-svn-id: trunk@8715 -
2007-10-01 16:55:08 +00:00
Jonas Maebe
70c2414daa
* split off sec_rodata_norel from sec_rodata, and only put constant data
...
without relocations in sec_rodata_norel. It should be possible to make
this new section read-only on all platforms, although currently it
is only done for darwin, and for non-pic code written using the
-Aas assembler writer.
Most platforms also have a special section for "constant but with
relocations" data, but such a section is currently only used for
Darwin (others still use plain .data sections for that, like they
did before)
git-svn-id: trunk@8650 -
2007-09-26 15:49:01 +00:00
florian
4151029ee5
+ .fini section support
...
git-svn-id: trunk@8174 -
2007-07-28 08:40:10 +00:00
yury
28f0d47d83
* Don't be too strict while reading COFF symtable if obj file does not have COFF string table (to be compatible with LD and MS linkers). It fixes bug #9175 .
...
git-svn-id: trunk@7913 -
2007-07-01 19:57:09 +00:00
yury
04147151e4
* Fixed stabs generation for DLLs by internal assembler (use RELOC_ABSOLUTE in all cases).
...
* Do not generate relocs by internal linker for sections which are not loaded in memory.
git-svn-id: trunk@7829 -
2007-06-26 22:51:21 +00:00
yury
38b8731ba0
* Restored relocs generation for dlls by internal linker. It fixes bug #9048 .
...
* It is possible to generate relocs for exe with internal linker using -WB switch.
git-svn-id: trunk@7743 -
2007-06-20 15:47:10 +00:00
yury
73b8fba64b
* fixed linking with eVC++ object files (bug #8542 ).
...
git-svn-id: trunk@7556 -
2007-06-02 22:14:35 +00:00
yury
821c91c230
* fix Mantis #8760 : do not put actually empty sections in executable by internal linker.
...
* .bss section no longer required by internal linker.
git-svn-id: trunk@7316 -
2007-05-12 13:32:52 +00:00
yury
b2605b8ff6
* Internal linker now correctly links to gcc import libraries. It fixes win32 IDE with debugger support.
...
git-svn-id: trunk@7278 -
2007-05-05 19:21:30 +00:00
peter
29ffdefacb
* secrel32 relocation support required by dwarf2 under windows
...
git-svn-id: trunk@7172 -
2007-04-25 09:06:36 +00:00
peter
71a11fafe9
* support long section names in executable
...
git-svn-id: trunk@7170 -
2007-04-25 07:32:13 +00:00
pierre
a7f5951cb0
* force empty .idata section at end of each dll to be in executable with oso_keep option
...
git-svn-id: trunk@7126 -
2007-04-17 23:09:09 +00:00
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
florian
6588b2cb57
* fix resource embedding on arm-wince
...
git-svn-id: trunk@6576 -
2007-02-20 18:01:10 +00:00
florian
c238bb15d1
* .init section support
...
git-svn-id: trunk@5835 -
2007-01-07 10:03:52 +00:00
yury
f8cfa49971
* enabled af_smartlink_sections for i386-wince.
...
git-svn-id: trunk@5743 -
2006-12-29 21:06:05 +00:00
yury
f258b907fb
* Set procalign alignment for sections of import jumps table.
...
git-svn-id: trunk@5376 -
2006-11-14 17:05:46 +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
f89a0ac4c1
* small fix for previous commit.
...
git-svn-id: trunk@5252 -
2006-11-05 19:47:24 +00:00
yury
aa9c217f6b
* unused coff symbols are removed by internal linker.
...
git-svn-id: trunk@5251 -
2006-11-05 19:39:50 +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
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
b7386124c4
* quick fix for broken relocation in stabs
...
git-svn-id: trunk@4874 -
2006-10-12 21:56:16 +00:00
peter
2ecd4522be
* make rvasize the same as datasize
...
git-svn-id: trunk@4546 -
2006-09-03 20:41:02 +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
89e2f8b5df
* prevent crash when reading unknown section
...
git-svn-id: trunk@4006 -
2006-06-29 21:29:15 +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
florian
dc2bef3875
+ implemented directives $setpeflags, $maxstacksize, $minstacksize and $imagebase, fixes #6349 and #6714
...
git-svn-id: trunk@3935 -
2006-06-25 10:22:42 +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
fb9f8bb2a1
* Support for -WB<image_base> option in internal linker.
...
git-svn-id: trunk@3828 -
2006-06-09 11:08:46 +00:00
yury
e80e5be980
* RELOC_RVA fix for ARM cpu.
...
* Added offset overflow check for RELOC_RELATIVE_24.
git-svn-id: trunk@3827 -
2006-06-09 11:06:10 +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
ba04f1a147
* Internal linker does not leave reference to .dll if no imports from it are used.
...
* Internal linker writes FPC version to EXE header.
* Internal linker writes subsystem version 3.0 for wince.
git-svn-id: trunk@3760 -
2006-05-31 22:32:08 +00:00
yury
b73557ea4e
* fixed wince internal linker.
...
git-svn-id: trunk@3719 -
2006-05-28 20:09:22 +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
florian
688547953d
* fixed win64 coff writing
...
git-svn-id: trunk@3493 -
2006-05-13 16:04:33 +00:00
florian
83a0c8cd4b
+ support for more win64 specific relocs
...
git-svn-id: trunk@3482 -
2006-05-11 19:34:21 +00:00
peter
739c322f60
* fix dllscanner for win32
...
git-svn-id: trunk@3449 -
2006-05-07 10:20:17 +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
yury
9ad6409662
* Fixed linking for arm-wince target.
...
git-svn-id: trunk@3349 -
2006-04-29 09:44:22 +00:00
florian
001ca388eb
* fixed important library writing on arm
...
git-svn-id: trunk@3336 -
2006-04-26 18:11:25 +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
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
peter
d542fd97fb
* use TFPHashObjectList instead of TDictionary
...
git-svn-id: trunk@3133 -
2006-04-02 21:18:04 +00:00
peter
e2f768982d
* fix idata generation
...
git-svn-id: trunk@3118 -
2006-04-02 00:58:28 +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
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
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
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
bb7ff4b064
Merged revisions 2912 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2912 | peter | 2006-03-14 07:45:15 +0100 (Tue, 14 Mar 2006) | 2 lines
* data and bss start and end symbols
........
git-svn-id: trunk@2913 -
2006-03-14 06:45:50 +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
86a15e83e9
* fix section flags for stabs
...
git-svn-id: trunk@2838 -
2006-03-10 18:35:17 +00:00
peter
ab1ec76962
Merged revisions 2805 via svnmerge from
...
http://svn.freepascal.org/svn/fpc/branches/linker/compiler
........
r2805 | peter | 2006-03-08 07:56:12 +0100 (Wed, 08 Mar 2006) | 2 lines
* x86_64 compile fix
........
git-svn-id: trunk@2806 -
2006-03-08 06:56:41 +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
peter
c53c4b669c
* fix stab section flags
...
git-svn-id: trunk@2710 -
2006-02-28 21:31:26 +00:00
florian
8cd8e4ba8d
+ basic dwarf support for variables and types
...
git-svn-id: trunk@2353 -
2006-01-28 16:06:08 +00:00
florian
aa176601fb
+ added more dwarf sections
...
git-svn-id: trunk@2318 -
2006-01-21 21:22:47 +00:00
peter
2ee18b3d8c
* support section names with length > 8
...
git-svn-id: trunk@2304 -
2006-01-16 10:48:21 +00:00
tom_at_work
c887507adf
* generic compiler patches for ppc64/linux PIC code
...
git-svn-id: trunk@2222 -
2006-01-08 13:27:31 +00:00
florian
61e3b70cfa
* cleaned up segmented thread variables
...
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +00:00
peter
ed1df49879
* fix stabs writing for win32
...
git-svn-id: trunk@1532 -
2005-10-19 13:05:20 +00:00
peter
a01774c73d
* writesymbol for relocations in stabs
...
git-svn-id: trunk@1357 -
2005-10-12 05:57:30 +00:00
peter
89297d2c39
* move all stabs ($ifdef gdb) code to dbgstabs
...
git-svn-id: trunk@1255 -
2005-10-02 11:17:05 +00:00
peter
82faa95118
* lineinfo fixed for binary writer
...
* add tai_directive to replace old tai_direct calls
in powerpc
git-svn-id: trunk@1139 -
2005-09-19 11:47:30 +00:00
florian
14fca113bf
* basic framework for integrated arm assembler
...
git-svn-id: trunk@1061 -
2005-09-07 21:34:25 +00:00
michael
3392189fb0
+ Implemented resources for ELF
...
git-svn-id: trunk@956 -
2005-08-28 09:35:35 +00:00
daniel
e98865ab40
* Fixes and further development of fast threadvars
...
git-svn-id: trunk@743 -
2005-07-25 14:07:02 +00:00
daniel
22e89e1a42
* Proof of concept: Support threadvars using segment registers.
...
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +00:00
florian
83c6b3aca2
* from Yury Sidorov:
...
+ Added new target WinCE for i386 (to be able compile and run programs in WinCE emulator)
git-svn-id: trunk@596 -
2005-07-09 09:31:57 +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
581b52422c
- remove $IFDEF DELPHI and related code
...
- remove $IFDEF FPCPROCVAR and related code
2004-10-15 09:14:16 +00:00
peter
1654d9ad27
don't use .rodata, it doesn't work yet
2004-08-27 20:55:08 +00:00
peter
6663adfd50
* fixed win32 that was broken by previous fix
2004-08-25 15:55:32 +00:00
Tomas Hajny
a3d82fd80f
* binary writer fix for GO32v2 from Peter
2004-08-24 19:31:44 +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
peter
29a382388e
* fix range check error after previous commit
2003-04-23 11:37:15 +00:00
peter
9ed2ce8c12
* removed some notes/hints
2003-04-22 14:33:38 +00:00
carl
f154b31ef8
* fix warning
2002-12-07 14:08:11 +00:00
carl
9da171faf2
+ stab register indexes for powerpc (moved from gdb to cpubase)
...
+ tprocessor enumeration moved to cpuinfo
+ linker in target_info is now a class
* many many updates for m68k (will soon start to compile)
- removed some ifdef or correct them for correct cpu
2002-08-12 15:08:39 +00:00
florian
eb2ca8d10f
* rewrote the system handling
2002-07-26 21:15:37 +00:00
peter
4285e99853
* internal linker
...
* reorganized aasm layer
2002-07-01 18:46:20 +00:00
peter
06ebac4e27
* readded missing revisions
2002-05-18 13:34:04 +00:00
carl
21b3a10f02
+ defines.inc -> fpcdefs.inc to avoid conflicts if compiling by hand
...
+ try to fix temp allocation (still in ifdef)
+ generic constructor calls
+ start of tassembler / tmodulebase class cleanup
2002-05-16 19:46:34 +00:00
peter
2992e1819c
* removed old logs and updated copyright year
2002-05-14 19:34:38 +00:00
peter
5e7a1e3729
* removed unused units
...
* use tlocation.size in cg.a_*loc*() routines
2002-04-04 19:05:54 +00:00
carl
0ee2ac7451
+ added wdosx support (patch from Pavel)
2002-04-04 18:30:22 +00:00
peter
45dab81414
* merged netbsd, fpu-overflow from fixes branch
2001-09-17 21:29:10 +00:00
Jonas Maebe
344fd00373
* completed incomplete typed constant records
2001-05-06 17:13:22 +00:00
peter
7cb892dba4
* finally added the missing outputbinary field that was missing
2001-05-04 19:50:58 +00:00
peter
0c03535b5b
* registration of targets and assemblers
2001-04-18 22:01:53 +00:00
peter
a7cf57524e
* symtable change to classes
...
* range check generation and errors fixed, make cycle DEBUG=1 works
* memory leaks fixed
2001-04-13 01:22:06 +00:00
peter
4e2655cdc5
* resulttype rewrite
2001-04-02 21:20:29 +00:00