tom_at_work
c6d42528a2
* linker script: keep got and toc sections together; allows use of -Cg (PIC) in large programs (e.g. compiler) on powerpc64/linux
...
git-svn-id: trunk@8591 -
2007-09-21 00:05:51 +00:00
peter
725f1d7176
* remove wrong $esle x86_64 causing uninitialized variable
...
git-svn-id: trunk@8141 -
2007-07-22 20:57:05 +00:00
yury
fd6862acb9
* fixed debugging problem on arm-linux.
...
git-svn-id: trunk@7997 -
2007-07-09 21:17:07 +00:00
yury
b5e38fd2c8
* Fixed resources support on Linux when internal assembler is used.
...
* Enabled multiple resources support on Linux.
git-svn-id: trunk@7883 -
2007-06-30 23:01:22 +00:00
daniel
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
...
+ Some initial work on a formaldef which also carries the typinfo of a parameter.
git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
peter
cbb3667d73
* default dynamic linker for i386
...
git-svn-id: trunk@7367 -
2007-05-16 20:34:21 +00:00
pierre
0b8e1aa0b4
* fix for tw3661 failure for linux
...
git-svn-id: trunk@7122 -
2007-04-17 14:25:06 +00:00
florian
8c8042aaf0
* experimental fix for #8210
...
git-svn-id: trunk@6948 -
2007-03-21 19:19:30 +00:00
peter
8d9e138927
* removed -Bsymbolic, there was a namespace conflict between
...
the program and libraries that caused problems but that is now
fixed by r6643
git-svn-id: trunk@6645 -
2007-02-25 16:44:02 +00:00
Jonas Maebe
90ea73a90b
* more file handling from shortstring to tcmdstr
...
git-svn-id: trunk@6595 -
2007-02-21 21:54:54 +00:00
florian
4ceadcbc6e
+ infrastructure for target specific resourcefile classes
...
git-svn-id: trunk@6564 -
2007-02-19 19:02:21 +00:00
tom_at_work
106fe68ce6
* renamed TStringList to TCmdStrList, in general use TCmdStr instead of shortstrings to fix bug #6351
...
git-svn-id: trunk@6215 -
2007-01-26 22:29:39 +00:00
peter
323fc850b9
* fixed duplicate alias check
...
git-svn-id: trunk@6003 -
2007-01-16 18:31:27 +00:00
peter
c9703d43d5
* check also procedure aliases for duplicate names when
...
generating an export stub
git-svn-id: trunk@5993 -
2007-01-15 17:45:37 +00:00
florian
d4b4cb3096
* linux libraries must be build with -Bsymbolic to avoid symbol shadowing
...
git-svn-id: trunk@5833 -
2007-01-06 23:40:22 +00:00
florian
881fb4d392
* working linker script for x86_64 libraries
...
git-svn-id: trunk@5827 -
2007-01-06 18:39:09 +00:00
florian
481b3c5175
* amd64 linker script
...
git-svn-id: trunk@5825 -
2007-01-06 17:36:10 +00:00
florian
fd2032dab2
+ start of embedded rtl
...
+ feature support in the compiler
git-svn-id: trunk@5628 -
2006-12-17 18:40:36 +00:00
micha
09c8d571a6
* fix shared library linking for linux (issue #7849 , patch from Dominique Leducq)
...
git-svn-id: trunk@5433 -
2006-11-20 19:24:20 +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
peter
e17b424e28
* refactor procsym procdef list
...
git-svn-id: trunk@5210 -
2006-11-03 18:44:46 +00:00
florian
a8928cf22e
* fixed linking against cgywin on win32
...
git-svn-id: trunk@5194 -
2006-11-03 09:08:53 +00:00
florian
6e2187c606
+ windows uses now sysinit units as well
...
git-svn-id: trunk@5191 -
2006-11-02 23:20:35 +00:00
micha
12e8645889
* fix cross-compiling from i386/linux
...
git-svn-id: trunk@5186 -
2006-11-02 21:19:24 +00:00
micha
ad7d549965
+ implement pascal inline asm start/halt code for linux/i386
...
git-svn-id: trunk@5181 -
2006-11-02 16:58:41 +00:00
peter
7a2e0da7bd
* extra parameter for file searching functions
...
that indicate if the cache shall be used or not
* fixed compile of non-x86 targets
git-svn-id: trunk@5115 -
2006-10-31 10:56:58 +00:00
peter
9f5d69ce31
* make win32 compile
...
git-svn-id: trunk@5103 -
2006-10-30 23:46:28 +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
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +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
Jonas Maebe
2429cdce1b
* removed/conditionalised several unused variables
...
git-svn-id: trunk@4197 -
2006-07-14 20:05:46 +00:00
marco
0dc6fb52ea
* linkordering for Linux
...
git-svn-id: trunk@3911 -
2006-06-21 15:49:39 +00:00
peter
d69ad5d84d
* cleanup external/nolink options
...
git-svn-id: trunk@3375 -
2006-04-29 21:49:37 +00:00
peter
0ec2921bbe
* split newasmsymbol to refasmsymbol and defineasmsymbol
...
git-svn-id: trunk@3057 -
2006-03-27 11:45:18 +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
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
Jonas Maebe
5f3e0b5398
* link_allways -> link_always
...
git-svn-id: trunk@2594 -
2006-02-15 14:36:30 +00:00
peter
0bbead8114
* use use_section_smartlink instead of af_smartlink_sections
...
git-svn-id: trunk@2336 -
2006-01-25 18:07:36 +00:00
florian
a11a177469
* generate pic'ed external jmps on 386 as well if necessary
...
git-svn-id: trunk@2092 -
2005-12-31 13:51:57 +00:00
florian
a1189a9d64
* exports info handling refactored, -E will be passed to ld if necessary
...
git-svn-id: trunk@1922 -
2005-12-10 22:00:33 +00:00
florian
dac22b4703
* fixed stupid typo in x86_64 pic code generation
...
git-svn-id: trunk@1731 -
2005-11-13 17:00:34 +00:00
florian
5907f99b6a
* fixed previous commit
...
git-svn-id: trunk@1580 -
2005-10-23 16:59:59 +00:00
florian
a21b79d316
+ plt for export jmps
...
git-svn-id: trunk@1579 -
2005-10-23 16:57:47 +00:00
tom_at_work
4db863d076
* first shared library link path fixes
...
* PowerPC64/Linux signal handler now differs between different FP exceptions
git-svn-id: trunk@1452 -
2005-10-17 21:30:21 +00:00
florian
ab88e4b882
* if no dyn. linker is found on linux, assume glibc21
...
git-svn-id: trunk@1269 -
2005-10-03 17:10:39 +00:00
peter
6bf3269b41
* powerpc64 port from Thomas Schatzl
...
git-svn-id: trunk@1193 -
2005-09-25 17:19:44 +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
peter
c3727c29b2
* rename al_code to al_procedures, al_bss/al_data to al_globals
...
* more work for section smartlinking
git-svn-id: trunk@1083 -
2005-09-15 06:51:12 +00:00
michael
a578c9b7ed
+ Also take resources in main program source into account
...
git-svn-id: trunk@990 -
2005-08-31 14:12:41 +00:00
michael
69d44da006
+ Patch from colin western to let linker use internal script
...
git-svn-id: trunk@975 -
2005-08-29 10:32:12 +00:00
michael
3392189fb0
+ Implemented resources for ELF
...
git-svn-id: trunk@956 -
2005-08-28 09:35:35 +00:00
florian
1c9a8396b7
* commented linker script generation for linux out, causes problems on some machines,
...
see bug #4317
git-svn-id: trunk@945 -
2005-08-26 21:01:28 +00:00
peter
05a628447f
* put typedconsts in own asmlist to prevent mixing
...
array and string data
* added al_rodata
* renamed tasmlist enum names to include al_ prefix
git-svn-id: trunk@899 -
2005-08-17 08:42:52 +00:00
florian
a3e330526d
* exporting of symbols from linux programs, i.e. exports clause in
...
programs allowed
git-svn-id: trunk@855 -
2005-08-13 20:34:28 +00:00
peter
3b2868feaf
* remove ld 2.16 specific line
...
git-svn-id: trunk@778 -
2005-08-01 10:23:28 +00:00
daniel
9916f784ce
* Use a linker script to put threadvars at the right location
...
git-svn-id: trunk@767 -
2005-07-30 19:14:41 +00:00
daniel
d05f58b604
* Group asmlists into array to be able to add
...
some of them more comfortably.
* x86_64 compilation was broken, fixed.
* Sparc compilation was broken, fixed.
git-svn-id: trunk@731 -
2005-07-23 13:44:32 +00:00
daniel
d57c048696
* Remove ifdef 1_0
...
* Add expirimental 32-bit x86_64 target to systems
git-svn-id: trunk@729 -
2005-07-23 08:37:26 +00:00
daniel
31d3e72e56
* Force linker target
...
git-svn-id: trunk@376 -
2005-06-10 21:12:01 +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
748df1810f
* use lib64 for x86_64
2005-03-07 17:10:00 +00:00
peter
e417e34496
* truncate log
2005-02-14 17:13:06 +00:00
peter
ee5cd11877
* generate export jmps in .text section
2005-01-10 15:56:13 +00:00
peter
dc363f29bc
* maybequoted() added
2004-12-22 16:32:45 +00:00
florian
ce3f177339
* dyn. linker path fixed for x86_64
2004-12-19 14:03:16 +00:00
peter
14d25d278b
mangledname setting moved to place after the complete proc declaration is read
...
import generation moved to place where body is also parsed (still gives problems with win32)
2004-11-17 22:21:35 +00:00
peter
6458bd0ce1
* tvarsym splitted
2004-11-08 22:09:58 +00:00
florian
7e778c5d78
* fixed dyn. linker handling
2004-11-05 12:27:27 +00:00
florian
aa23d79073
* path of dyn. linker on arm for linux fixed
2004-11-05 11:04:23 +00:00
peter
d24241b008
* gc-sections added when section smartlinking is used
2004-10-24 13:36:26 +00:00
mazen
e90d8a42e3
* USE_SYSUTILS merged successfully : cycles with and without defines
...
* Need to be optimized in performance
2004-10-14 18:16:17 +00:00
florian
05ca833859
* fixed dyn. linker name for sparc
2004-09-25 18:44:12 +00:00
mazen
da1c3fb6f0
* Fix error committing : previous version must be in branch USE_SYSUTILS
2004-09-22 15:25:14 +00:00
mazen
3b591c5575
* use SysUtils unit instead of Dos Unit
2004-09-22 15:14:37 +00:00
peter
33a834821f
* paraloc branch merged
2004-09-21 17:25:12 +00:00
daniel
9b08a42919
* Uclibc detection
2004-07-08 14:42:54 +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
florian
10e765329d
* fixed arm compilation
...
* cleaned up code generation for exported linux procedures
2004-03-06 20:35:19 +00:00
peter
867f710d8d
* misplaced $Ifdef
2004-03-04 16:32:59 +00:00
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +00:00
Jonas Maebe
2d40a5008b
+ support exported procedures for linuxppc
...
* refuse to compile systems/t_linux.pas if processor-specific support
for exported procedures is absent
+ generate .type and .size info for all currently defined linux-variants
in aggas.pas
2004-01-03 13:51:05 +00:00
Jonas Maebe
e90bd0332a
* default linker name for non-i386 and non-m68k
2004-01-01 15:34:50 +00:00
marco
0d72eee09e
* librarysuffix + profiling
2003-10-30 18:35:30 +00:00
marco
d841f44994
* -Xd
2003-10-11 19:32:04 +00:00
marco
487650ab51
* -XP<prefix> support
2003-10-03 14:16:48 +00:00
florian
d2035fd6b4
* very basic stuff for the arm
2003-07-21 11:52:57 +00:00
peter
7f14891d66
* aktprocdef cleanup, aktprocdef is now always nil when parsing
...
a new procdef declaration
* aktprocsym removed
* lexlevel removed, use symtable.symtablelevel instead
* implicit init/final code uses the normal genentry/genexit
* funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
peter
35801981d1
* .o files belonging to the unit are first searched in the same dir
...
as the .ppu
2003-04-26 09:16:07 +00:00
carl
9972293cee
- remove extra ifdef i386 (avoir compilation errors)
2002-12-14 13:02:45 +00:00
peter
76f0990e8b
* m68k library support
2002-12-06 17:51:43 +00:00
carl
64655be168
* memory optimization (3-4%) : cleanup of tai fields,
...
cleanup of tdef and tsym fields.
* make it work for m68k
2002-11-17 16:31:55 +00:00
peter
bfd72ad5d5
* merged changes from 1.0.7 up to 04-11
...
- -V option for generating bug report tracing
- more tracing for option parsing
- errors for cdecl and high()
- win32 import stabs
- win32 records<=8 are returned in eax:edx (turned off by default)
- heaptrc update
- more info for temp management in .s file with EXTDEBUG
2002-11-15 01:58:45 +00:00
peter
a540ff122c
* tdicationary.replace added to replace and item in a dictionary. This
...
is only allowed for the same name
* varsyms are inserted in symtable before the types are parsed. This
fixes the long standing "var longint : longint" bug
- consume_idlist and idstringlist removed. The loops are inserted
at the callers place and uses the symtable for duplicate id checking
2002-09-09 17:34:14 +00:00
carl
517c2566e8
* moved files to systems directory
2002-09-06 15:03:50 +00:00