Commit Graph

296 Commits

Author SHA1 Message Date
peter
0ec2921bbe * split newasmsymbol to refasmsymbol and defineasmsymbol
git-svn-id: trunk@3057 -
2006-03-27 11:45:18 +00:00
peter
4e5319a581 * fixed $MAP for DLL linking
git-svn-id: trunk@3020 -
2006-03-24 09:15:33 +00:00
peter
d3fa4dbca2 * fixed wrong merge
git-svn-id: trunk@2990 -
2006-03-20 16:52:58 +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
tom_at_work
496c31ac29 * DWARF debug info is now default on ppc64/linux
* disallow stabs debug info generation on ppc64/linux.

git-svn-id: trunk@2956 -
2006-03-18 20:48:04 +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
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
florian
4be2b9411e + support for ar scripts, from Yury Sidorov
git-svn-id: trunk@2863 -
2006-03-11 16:53:10 +00:00
florian
5ece7cbc2f * first part of x86-64 assembler
git-svn-id: trunk@2824 -
2006-03-09 22:05:16 +00:00
Jonas Maebe
1578af214a * darwin/i386 doesn't use function-relative addresses for stabs
git-svn-id: trunk@2822 -
2006-03-09 18:38:01 +00:00
Jonas Maebe
123951865c * darwin-i386 is little endian, not big endian :)
git-svn-id: trunk@2814 -
2006-03-08 22:40:20 +00:00
Jonas Maebe
a0b62a1bc7 * fixed ppc "make cycle" on Mac OS X/x86
git-svn-id: trunk@2812 -
2006-03-08 21:32:19 +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
yury
8a12d38862 * For wince external startup file is used and placed first, because ARM prolog structure must be located at the very beginning of code. Otherwise exceptions do not work properly.
git-svn-id: trunk@2786 -
2006-03-06 10:53:31 +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
yury
1d58b572b5 * Changed Win32 DLL entry point names (removed @12 at the end).
git-svn-id: trunk@2770 -
2006-03-05 20:44:23 +00:00
peter
e176f81527 * check for empty objectfiles before writing INPUT()
git-svn-id: trunk@2727 -
2006-03-03 21:03:20 +00:00
peter
4c56a87d59 * integrate loaders in system unit
git-svn-id: trunk@2695 -
2006-02-26 18:21:35 +00:00
Jonas Maebe
23868147a6 - disable automatic adding of "splitfilename(libname)" to to-be-linked
libraries for darwin (accidentally committed in previous commit)

git-svn-id: trunk@2595 -
2006-02-15 14:59:38 +00:00
Jonas Maebe
5f3e0b5398 * link_allways -> link_always
git-svn-id: trunk@2594 -
2006-02-15 14:36:30 +00:00
Jonas Maebe
8808faf5c0 + some darwin i386 support
git-svn-id: trunk@2589 -
2006-02-15 10:43:57 +00:00
florian
305d5c66ce + i386-darwin
git-svn-id: trunk@2555 -
2006-02-12 21:58:49 +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
6b536c206a * fix dll linking
git-svn-id: trunk@2464 -
2006-02-07 06:55:47 +00:00
florian
850188d5da + define sunos as well for Solaris/SunOS
git-svn-id: trunk@2463 -
2006-02-06 22:24:04 +00:00
florian
d26f004cdb * solaris port doesn't need the startup files
git-svn-id: trunk@2460 -
2006-02-06 21:43:22 +00:00
mazen
bc18d6eb8a + added palmos support to makes files
+ added Makefile.fpc to palmos in rtl
+ added faked prt0 to plamos rtl

git-svn-id: trunk@2443 -
2006-02-05 19:22:12 +00:00
peter
54d4e9e4b9 * palmos patch from mazen
git-svn-id: trunk@2400 -
2006-02-02 07:12:43 +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
1e236c65b7 * fix order of libraries for -pg
git-svn-id: trunk@2321 -
2006-01-22 11:16:15 +00:00
florian
f5d790f9b6 * i386 uses dwarf cfi info on linux/win32, so even when omitting the stack frame, trace backs in gdb are correct
git-svn-id: trunk@2316 -
2006-01-21 14:30:57 +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
marco
4fe8654fe4 * shared lib i_ and t_ changes. Some small comments cleanup to t_
git-svn-id: trunk@2297 -
2006-01-15 15:22:29 +00:00
florian
d525a3b162 + set WINDOWS define on all Windows platforms (Win32,Win64,WinCE)
git-svn-id: trunk@2291 -
2006-01-15 11:00:35 +00:00
Károly Balogh
b0d7dd59e8 * fixed case sensitivity flags for Amiga & co
git-svn-id: trunk@2275 -
2006-01-13 16:26:39 +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
Tomas Hajny
6aced9e534 * fix for web bug #4182
git-svn-id: trunk@2238 -
2006-01-09 02:52:55 +00:00
Károly Balogh
cd38c236a0 + made the compiler to know about PowerPC AmigaOS
git-svn-id: trunk@2201 -
2006-01-07 04:46:27 +00:00
florian
61e3b70cfa * cleaned up segmented thread variables
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +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
27f28eec1a * use 16 byte procedure alignment on windows too
git-svn-id: trunk@1962 -
2005-12-15 19:50:58 +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
marco
d2e7a4e587 * cross-darwin support
git-svn-id: trunk@1796 -
2005-11-20 22:13:23 +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
tom_at_work
ff47ffb255 * quick fix for stack checking on Linux/PPC64
git-svn-id: trunk@1716 -
2005-11-10 15:15:26 +00:00
Jonas Maebe
41d2ba68fe * use an absolute output path for the linker when creating shared libraries,
so they can be used regardless where the executable is located

git-svn-id: trunk@1588 -
2005-10-23 18:19:03 +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
florian
11e087e212 + fixed some alignment settings
git-svn-id: trunk@1563 -
2005-10-22 15:40:36 +00:00