Commit Graph

491 Commits

Author SHA1 Message Date
Jonas Maebe
d75b19e484 * removed/conditionalised several unused variables
git-svn-id: trunk@4194 -
2006-07-14 19:44:54 +00:00
peter
3f1070b9d7 * correct fix for resourcestrings
git-svn-id: trunk@4004 -
2006-06-29 21:08:46 +00:00
peter
2bd5aca1b5 * add number prefix to resstr symbols so the get ordered correctly when the
sections are sorted

git-svn-id: trunk@4003 -
2006-06-29 20:50:55 +00:00
peter
283f7ec301 * remove number of errors during linking
git-svn-id: trunk@3989 -
2006-06-28 20:18:47 +00:00
peter
6a4ee03913 * change edatalabel to string references. The edatalabel is not available anymore after a unit is compiled
git-svn-id: trunk@3920 -
2006-06-22 06:02:58 +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
florian
9b75d87b55 * define PIC when generating pic
git-svn-id: trunk@3504 -
2006-05-13 20:03:40 +00:00
peter
d19c898b56 * remove obsolete generatesmartlib
git-svn-id: trunk@3341 -
2006-04-27 06:40:19 +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
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
Jonas Maebe
638b2ecb2b * fix dynamic library compilation on darwin (both i386 and ppc)
git-svn-id: trunk@2875 -
2006-03-11 22:31:56 +00:00
Jonas Maebe
a90e3b3e1d * fixed argc/argv/envp catching for darwin/x86 (not really nice, but
works)

git-svn-id: trunk@2848 -
2006-03-10 23:45:37 +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
e2383470b8 * fixed invalid memory read in tp-mode when parsing uses clause
git-svn-id: trunk@2505 -
2006-02-10 08:01:53 +00:00
Jonas Maebe
2435a7a93c * finalization sections in shared libraries under Darwin are now run
* cleaned up the way the initialisation sections of shared libraries
    under Darwin are run

git-svn-id: trunk@2470 -
2006-02-07 14:29:58 +00:00
peter
232555904e * symtablestack cleanup and rewrite
git-svn-id: trunk@2448 -
2006-02-05 22:24:18 +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
peter
abc49206fc * section smartlink for win32 added, disabled by default because ld.exe
ignores the --gc-sections for pe-i38

git-svn-id: trunk@2305 -
2006-01-16 10:50:02 +00:00
peter
66f8276445 * refactor booleans in systeminfo structure, they are now flags
* support for case aware filesystems (Windows), they do now only
    one lookup if a file exists
  * add -WI option to generate import section for DLL imports or
    let the linker handle it. Default is still import section until
    the Makefiles are fixed, then the generation can be left to the
    linker

git-svn-id: trunk@2274 -
2006-01-13 15:13:26 +00:00
Károly Balogh
fd54c6b468 + ppc-amigaos stack cookie support
git-svn-id: trunk@2199 -
2006-01-07 02:41:15 +00:00
florian
61e3b70cfa * cleaned up segmented thread variables
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +00:00
florian
43cd438544 * generate _GLOBAL_OFFSET_TABLE_ variable on i386 if necessary
git-svn-id: trunk@2124 -
2006-01-02 18:29:43 +00:00
florian
fb4557d71e * first implementation of pic for i386
git-svn-id: trunk@2107 -
2006-01-01 20:14:48 +00:00
peter
95879fe8a7 * basic support for generic classes
git-svn-id: trunk@2020 -
2005-12-21 10:11:15 +00:00
peter
39c553707e * fix win32 linking
git-svn-id: trunk@1957 -
2005-12-15 12:04:39 +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
07ea2a5b38 * fixed generation of exports from units/programs supporting it
git-svn-id: trunk@1920 -
2005-12-10 21:00:37 +00:00
tom_at_work
367df58016 * stack related things (sizes, calculations, etc.) are now 64 bit on 64 bit platforms
* default stack size is now also 32k for Windows (allows the use of stack checking when using threads)

git-svn-id: trunk@1718 -
2005-11-10 17:06:25 +00:00
florian
e1b34a9e7b * cleaning up sets for exports behaviour
+ allow exports from units

git-svn-id: trunk@1535 -
2005-10-19 19:06:45 +00:00
peter
51b8a4a132 * move stabs generation to a single procedure call from pmodules
git-svn-id: trunk@1358 -
2005-10-12 10:35:46 +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
ec4d287fd8 * aktoutputformat removed, add new paraXX vars for target
assembler and debuginfo and use these vars to override
    the defaults for the target after the parameters are read
  * remove not-maintained and tested gdb code

git-svn-id: trunk@1201 -
2005-09-25 21:17:37 +00:00
florian
3da870d699 + -Sk loads also dynlibs
git-svn-id: trunk@1150 -
2005-09-20 20:49:37 +00:00
peter
a3ab2053c9 * support multiple asmlabel types, renamed getlabel to
getjumplabel and added type para to getlabel for specific types
  * moved lineinfo generation from assemble and aggas to dbgstabs

git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
florian
21cc9597f2 + fpcylix unit
+ -Sk option

git-svn-id: trunk@1106 -
2005-09-18 08:34:51 +00:00
peter
fdc4925fcd * basic framework for debuginfo class added
git-svn-id: trunk@1084 -
2005-09-15 08:34:51 +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
peter
375a5add80 * rename al_debug to al_typestabs
* first write al_typestabs before other sections

git-svn-id: trunk@1054 -
2005-09-06 06:32:26 +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
florian
a53c9e2666 * fixed stupid copy/paste which turned softfloat always off
* fixed wince softfloat compiler proc. to be correctly named also when used outside the system unit

git-svn-id: trunk@966 -
2005-08-28 21:08:23 +00:00
michael
d93edfdf13 + Pointer to FPC_RESSYMBOL not in fpc.resptr section
git-svn-id: trunk@962 -
2005-08-28 15:36:17 +00:00
florian
adb193497d + softfloat support for wince
* more units are build for wince

git-svn-id: trunk@959 -
2005-08-28 12:40:43 +00:00
michael
3392189fb0 + Implemented resources for ELF
git-svn-id: trunk@956 -
2005-08-28 09:35:35 +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
daniel
22e89e1a42 * Proof of concept: Support threadvars using segment registers.
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +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
Jonas Maebe
8bc4e0a32f * inline and compilerproc are now procoptions instead of proccall types
(so both can be combined with each other, as well as with other calling
     conventions)
  * defined COMPPROCINLINEFIXED so SYSTEMINLINE is again activated

git-svn-id: trunk@658 -
2005-07-18 15:27:14 +00:00
peter
34df933534 * remove chained overloades before releasing static symtable
git-svn-id: trunk@642 -
2005-07-18 07:06:10 +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
florian
c2fe9e3814 + compiler part of WinCE patches from Yuri Sidorov
git-svn-id: trunk@573 -
2005-07-03 15:52:54 +00:00
florian
f5b9130b98 * deallocation of translated resourcestrings
* load heaptrc before objpas

git-svn-id: trunk@549 -
2005-06-30 19:07:45 +00:00
Jonas Maebe
9d9fd923d9 * the 'main' procedure for darwin is now placed in the main program instead
of in the system unit
+ ability to rename this 'main' symbol (-XM<x>, e.g. -XMSDL_main for SDL), for
  all OS'es
+ mention the -Xm parameter in the help

git-svn-id: trunk@503 -
2005-06-26 13:24:12 +00:00
peter
2720cbd25b * win32 dll smartlink patch from Pavel V. Ozerski
git-svn-id: trunk@182 -
2005-06-03 11:39: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
Jonas Maebe
a5c94ddccd * removed some unused variables 2005-03-25 21:55:43 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
c5488ea6b1 * -Fa option added, it'll load the units before the uses
line is parsed. Can be used to load cthreads from the commandline.
    Example '-g -Faheaptrc,lineinfo' is the same as '-ghl'
2005-02-06 21:33:28 +00:00
peter
ad9d04f104 * removed $threading 2005-02-06 11:15:31 +00:00
florian
b1c8bfc478 + x86_64 pic draft 2005-02-06 00:05:56 +00:00
peter
e820bc93f2 * interface wrapper generation moved to cgobj
* generate interface wrappers after the module is parsed
2005-01-24 22:08:32 +00:00
peter
8d251e8506 * unit mapping rewrite
* new derefmap added
2005-01-19 22:19:41 +00:00
olle
7572f3a539 * rework of macro subsystem
+ exportable macros for mode macpas
2005-01-09 20:24:43 +00:00
peter
9c0be16488 implicit load of variants unit 2004-12-06 19:23:05 +00:00
peter
06cfe01791 * os2 fixes for import
* asmsymtype support for intel reader
2004-11-29 18:50:15 +00:00
michael
180966c0aa * Split po_public into po_public and po_global (Peter) 2004-11-19 08:17:01 +00:00
peter
87d2861f89 * fixes for win32 mangledname 2004-11-16 20:32:40 +00:00
peter
e740a66636 * tparaitem removed, use tparavarsym instead
* parameter order is now calculated from paranr value in tparavarsym
2004-11-15 23:35:30 +00:00
peter
6458bd0ce1 * tvarsym splitted 2004-11-08 22:09:58 +00:00
florian
fa2f619598 * THREADVARLIST is now aligned 2004-11-05 20:04:49 +00:00
peter
088892de9b use filepos of main when generating the module stabs 2004-11-04 23:59:13 +00:00
peter
f4a7c3d444 fixed debuginfo for variables in staticsymtable 2004-11-04 17:09:54 +00:00
olle
f8c9ad629c + All sections get names in macos 2004-10-31 15:29:39 +00:00
peter
759c010f6a * -Ch for heapsize added again
* __heapsize contains the heapsize
2004-10-26 15:11:01 +00:00
peter
e7459f5466 * heap and heapsize removed
* checkpointer fixes
2004-10-25 15:38:41 +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
ef7ae0eab1 * debuginfo fixes 2004-10-04 18:26:51 +00:00
peter
7f8844e74d * release localsymtables when module is compiled 2004-09-14 16:33:46 +00:00
armin
354004d803 * target netwlibc added (libc is preferred for newer netware versions) 2004-09-04 21:18:47 +00:00
armin
5f567e75f8 * dont create main for netware (only PASCALMAIN) 2004-09-03 16:12:32 +00:00
olle
189214f79b + Added automatic use of unit macpas under mode macpas 2004-08-16 22:52:35 +00:00
peter
9d7048d917 * remove unused and not loaded units before linking 2004-07-06 20:23:25 +00:00
peter
230105093d * only enable dwarf for supported platforms 2004-06-29 21:00:08 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
peter
2eecc76977 * fixed debuginfo symbol 2004-06-18 15:16:27 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
peter
a3c4abf4a7 * initialize errorsym/errortype.def.owner to prevent crashes 2004-05-23 20:56:42 +00:00
peter
72365ec95b * implicit_finally flag must be set in pass1
* add check whether the implicit frame is generated when expected
2004-05-23 15:06:20 +00:00
peter
c553f6b320 * add DEBUGINFO symbol to reference the .o file that includes the
stabs info for types and global/static variables
  * debuginfo flag added to ppu to indicate whether debuginfo is
    generated or not
2004-05-19 21:16:12 +00:00
peter
d4dcaeafaf * fix checking for forwards in static symtable 2004-05-16 13:29:21 +00:00
olle
6227590f61 * changed $mode mac to $mode macpas (macro defined should be FPC_MACPAS) 2004-05-11 18:22:16 +00:00
olle
90bf09aa35 + enable omitting of IMPLEMENTATION for mode mac
+ added macro FPC_MAC for mode mac
2004-05-03 09:55:27 +00:00
peter
2b1fee21f1 * fix stabs for globals 2004-05-02 17:26:19 +00:00
Tomas Hajny
9238319c2f * OS/2 heap management modified to be able to grow heap as needed 2004-03-24 20:24:25 +00:00
olle
a7f25327f6 * change AT_FUNCTION to AT_DATA where appropriate 2004-03-18 11:43:57 +00:00
peter
1ae8d3849b * fix stabs lineno for fpc_compiled 2004-03-14 20:10:14 +00:00
peter
37f3f95b59 * more stabs fixes
* special mode -gv for valgrind compatible stabs
2004-03-10 22:52:57 +00:00