Commit Graph

27 Commits

Author SHA1 Message Date
nickysn
eed7e3aa6b + implemented GetCode/Data/BssSize in the i8086-msdos internal linker
git-svn-id: trunk@31351 -
2015-08-20 21:11:09 +00:00
nickysn
ebde434255 * specify the proper segment ordering in the link script of the i8086-msdos
internal linker

git-svn-id: trunk@31341 -
2015-08-18 14:44:00 +00:00
nickysn
0dab94e35d * i8086-msdos internal linker: put the static libraries in a group, to enable
multiple passes when resolving symbols

git-svn-id: trunk@31338 -
2015-08-18 13:37:57 +00:00
nickysn
ef207475fd + parse omf modend records and add symbol for module start address
git-svn-id: trunk@31324 -
2015-08-14 15:42:43 +00:00
nickysn
e1298a035c * provide msdos-specific dummy overrides for GetCode/Data/BssSize to avoid crash
when using the (not yet finished) internal linker

git-svn-id: trunk@31323 -
2015-08-14 14:36:18 +00:00
nickysn
d4a4b9a57b * refactored the internal linker ar object reader object creation to allow using
different 'ar' implementations under different platforms
* use the omflib reader instead of the ar reader in the msdos internal linker

git-svn-id: trunk@31322 -
2015-08-14 13:52:45 +00:00
nickysn
91d3cb1cd0 + initial implementation of TInternalLinkerMsDos.DefaultLinkScript
git-svn-id: trunk@30863 -
2015-05-15 22:22:36 +00:00
nickysn
3b288554e7 + more msdos internal linker classes added
git-svn-id: trunk@30811 -
2015-05-06 14:49:07 +00:00
nickysn
93ec811c97 + created the msdos internal linker class (empty for now)
git-svn-id: trunk@30810 -
2015-05-06 13:45:39 +00:00
nickysn
9f31fcc2ca + added support for HeapMax in the far data i8086 memory models as well
git-svn-id: trunk@28051 -
2014-06-24 22:54:54 +00:00
nickysn
7cfd7a66cd + create a special 'heap' segment with reserved space equal to heapsize (i.e.
the value set by -Ch or the second parameter to the $M directive). This is
  equivalent to the heapmin value in Turbo Pascal 7 and ensures that the program
  has at least this amount of heap space available (otherwise DOS will show a
  'not enough memory' error and will refuse to load the program).

git-svn-id: trunk@28002 -
2014-06-19 14:14:01 +00:00
nickysn
49f93b4464 * use the 'order' wlink directive to specify the segment order, instead of using
'option dosseg'. This allows us more flexibility in setting up the segment
  order the way we like.

git-svn-id: trunk@27958 -
2014-06-14 18:04:58 +00:00
nickysn
510fa9596f * add 'option quiet' to wlink to suppress its info messages
git-svn-id: trunk@27271 -
2014-03-24 18:13:29 +00:00
pierre
2a6e592fba Handle link map for msdos wlink
git-svn-id: trunk@26461 -
2014-01-14 21:40:02 +00:00
nickysn
12b1e0cbfd + tell wlink to add dwarf debug info to the executable when -gw2/3/4 is used
git-svn-id: trunk@25874 -
2013-10-27 20:30:00 +00:00
nickysn
52a5ffc386 * use apptype to indicate that the target is a DOS .COM file, instead of introducing a new field in tsettings (as suggested by Sven)
git-svn-id: trunk@25544 -
2013-09-24 12:13:47 +00:00
nickysn
567cdf875b + added new i8086 compiler options -Wtexe and -Wtcom for specifying the MS-DOS
binary format (.exe or .com)
* the default format for i8086 tiny model binaries changed to .exe

git-svn-id: trunk@25528 -
2013-09-21 16:44:14 +00:00
sergei
38058505ba * Changed linking infrastructure to look like assembler one:
* Changed direct references to linker classes in TSystemInfo records to enumerated ids.
  * RegisterExtennalLinker and RegisterInternalLinker procedures replaced by single RegisterLinker procedure and moved to link.pas.
  - TAbstractLinker is no longer necessary, removed.

This change allows to register linker once per id, rather than once per target, and also allows TSystemInfo records to be read-only.

git-svn-id: trunk@25279 -
2013-08-18 12:01:21 +00:00
pierre
277ae481b8 Add passing of -k option to linker for msdos and go32v2 targets
git-svn-id: trunk@24981 -
2013-06-26 22:27:16 +00:00
nickysn
f5a9442910 + added the appropriate startup code names for each memory model
git-svn-id: trunk@24832 -
2013-06-09 12:44:03 +00:00
nickysn
e28852d07d * prt0 startup code file for small model renamed to prt0s
git-svn-id: trunk@24809 -
2013-06-05 16:41:39 +00:00
nickysn
b409d600ee + implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well
git-svn-id: trunk@24793 -
2013-06-02 23:02:10 +00:00
nickysn
fb12778f0e + add static libraries to the wlink script for the msdos target
git-svn-id: branches/i8086@23966 -
2013-03-23 00:05:50 +00:00
nickysn
ec3d9ebc8a wlink support added and made the default
git-svn-id: branches/i8086@23787 -
2013-03-10 21:41:59 +00:00
nickysn
da37d03dd7 alink support added and enabled by default
git-svn-id: branches/i8086@23784 -
2013-03-10 19:25:57 +00:00
nickysn
28f8a8e51d i8086-msdos linking with tlink support added
git-svn-id: branches/i8086@23781 -
2013-03-10 18:28:20 +00:00
nickysn
72fcc2b9bd added 'msdos' 16-bit real mode dos target
git-svn-id: branches/i8086@23715 -
2013-03-07 23:07:20 +00:00