Commit Graph

276 Commits

Author SHA1 Message Date
pierre
7129de8a6e Fix compilation with -dSYSTEMDEBUG after heap changes (removal of 'tiny' in memory functions in tiny heap)
git-svn-id: trunk@34019 -
2016-06-25 08:16:52 +00:00
nickysn
5306ee552b * regenerated makefiles with latest fpcmake
git-svn-id: trunk@34008 -
2016-06-18 01:00:45 +00:00
nickysn
a58dd988a4 * regenerate makefiles after the fpcmake update
git-svn-id: trunk@34002 -
2016-06-17 22:05:59 +00:00
pierre
a72434e93a Trial to clarify heap for i8086 issues:
- MSDOS heap in tinyheap.inc modified to use usual
  SysGetMem and similar names.
  - Use HAS_MEMORYMANAGER (used previously in wince source code,
  to specify that a memory manager is defined elsewhere than inside
  heap.inc include file.
  - Use
  - Remove TinyHeapMemoryManager Structure variable completely

  heaptrc.pp: remove unneeded macro code after name changes of tinyheap.inc

  msdos/system.pp now only defines HAS_MEMORYMANAGER macro
  win16/system.pp defines HAS_MEMORYMANAGER and FPC_NO_DEFAULT_HEAP
  as it still uses a different memory manager.
  __stkbottom variable added for win16 system.pp as it is required
  by i8086 specific stack check code.

git-svn-id: trunk@33983 -
2016-06-13 22:26:03 +00:00
Tomas Hajny
c1afb4b63b * avoid FindFirst failing due to Attribute parameter bigger than $FF
git-svn-id: trunk@33894 -
2016-06-03 21:16:35 +00:00
pierre
e4a9e0ceea * Fix compilation for msdos OS with -dSYSTEMDEBUG
git-svn-id: trunk@33717 -
2016-05-20 15:46:46 +00:00
pierre
01ea38a627 Implement basic SysOSAlloc using MSDOS Interrrupt 0x21, AH=0x48 function
git-svn-id: trunk@33676 -
2016-05-11 14:29:11 +00:00
pierre
2a3b5bec86 Add new FPC_NO_DEFAULT_MEMORYMANAGER define for msdos OS
git-svn-id: trunk@33675 -
2016-05-11 14:27:26 +00:00
nickysn
6d4dfb5595 * fixed compilation of sysutils on i8086-msdos after r33290
git-svn-id: trunk@33312 -
2016-03-21 21:09:27 +00:00
nickysn
759a4f8258 * don't try to build lnfodwrf on i8086-msdos, because it causes internal error
200309041 and thus breaks building i8086-msdos snapshots entirely. Added test
  that reproduces the bug in a small program, so it can be fixed eventually.

git-svn-id: trunk@33276 -
2016-03-18 19:56:37 +00:00
nickysn
5aa8392e05 * i8086-msdos compilation fixed
git-svn-id: trunk@33043 -
2016-02-04 08:45:20 +00:00
pierre
3c88a3c59b Use Tiny getmem/freemem functions for systemdebug code, add more debug output
git-svn-id: trunk@32949 -
2016-01-16 00:50:30 +00:00
pierre
3bf9019676 + Define FPC_ANSI_TEXTFILEREC to avoid unnecessary use of unicode char
+ Add possibility to disable FEATURE_WIDESTRINGS by
 setting conditional NO_WIDESTRINGS
 + Add ifndef RTLLITE around LFN code

git-svn-id: trunk@32948 -
2016-01-16 00:42:36 +00:00
nickysn
79c5b632f1 + added portl class for 32-bit port access in the i8086-msdos ports unit, if
the target cpu is 386 or later

git-svn-id: trunk@32929 -
2016-01-12 18:06:21 +00:00
nickysn
72dc92e8b8 * added 'word ptr' overrides, to avoid generating 32-bit instructions (due to a
bug in the i8086 internal assembler reader, which will be fixed later)

git-svn-id: trunk@32872 -
2016-01-07 15:40:47 +00:00
nickysn
05a3a91d19 * fixed msdos cross compiler compilation with "make -j2"
git-svn-id: trunk@32354 -
2015-11-17 19:30:57 +00:00
florian
70b8789262 o basic extended pascal support:
+ automatically loaded helper unit
  * Makefiles adapted
  * mode switch
  * mode switches reorganized
+ TimeStamp support

git-svn-id: trunk@32330 -
2015-11-15 15:13:36 +00:00
michael
fde42ca8ef * Type helpers, compatible to Delphi XE 8
git-svn-id: trunk@32262 -
2015-11-07 09:40:54 +00:00
nickysn
20e5b3e586 * handle empty environment correctly when initializing argv0 under msdos.
Patch by Max Nazhalov, mantis #28705.

git-svn-id: trunk@32028 -
2015-10-12 17:59:51 +00:00
nickysn
ace95e550b * initialize argc and argv on i8086-msdos. This fixes paramcount and paramstr
in objfpc mode on this platform (mantis #28705)
+ support quoted parameters like the go32v2 target

git-svn-id: trunk@32018 -
2015-10-11 17:38:45 +00:00
nickysn
4454332d7a * fixed the sysutils.GetEnvironment* functions for i8086-msdos
- removed the envp variable from the msdos system unit, because it's not
  compatible with ppchar in all memory models (we use ppfarchar to avoid copying
  the environment in the program's data segment in near data memory models)

git-svn-id: trunk@32017 -
2015-10-11 13:23:59 +00:00
nickysn
239fc27c38 + implemented sysutils.diskfree and sysutils.disksize for i8086-msdos
git-svn-id: trunk@31905 -
2015-10-01 15:25:13 +00:00
nickysn
12f49eb280 * fixed getting the current locale's ansi upper case table under i8086-msdos
git-svn-id: trunk@31904 -
2015-10-01 15:05:33 +00:00
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
nickysn
1264eaf8c6 * fixed "nil pointer assignment" error in huge memory model
git-svn-id: trunk@31502 -
2015-09-03 22:37:01 +00:00
nickysn
63f86ee6a5 + huge memory model fixes in the i8086-msdos startup code
git-svn-id: trunk@31501 -
2015-09-03 22:08:53 +00:00
nickysn
4061628ffb * the i8086-msdos default code segment (in near code memory models) renamed
'_TEXT'. This name is used in object modules, produced by Borland C and Open
  Watcom.

git-svn-id: trunk@31482 -
2015-09-02 13:14:12 +00:00
nickysn
a3dd5c7c17 * set stack alignment to 16 in the msdos startup code
git-svn-id: trunk@31397 -
2015-08-24 19:58:08 +00:00
nickysn
5dc42404cf * capitalize omf segment class names, as that's how other 16-bit compilers write them
git-svn-id: trunk@31371 -
2015-08-22 19:07:04 +00:00
nickysn
1643c5f073 * also capitalize 'DGROUP' in the msdos startup code as well after r31369
git-svn-id: trunk@31370 -
2015-08-22 18:56:36 +00:00
nickysn
536346a441 * use 'dw' instead of 'dd' to reference the stack, in order to prevent nasm from
generating a 32-bit fixup record

git-svn-id: trunk@31353 -
2015-08-20 21:51:23 +00:00
nickysn
3ee0fc22d9 * use 'dw' instead of 'dd' to reference the heap from the i8086-msdos startup
code, because 'dd' causes nasm to emit a 32-bit OMF relocation entry, which
  we won't support (at least initially) in our internal linker

git-svn-id: trunk@31345 -
2015-08-19 14:33:56 +00:00
Jonas Maebe
89418d23e5 * regenerated Makefiles with Linux/AArch64 support
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
nickysn
5a1ce6162b * set the bss, rodata and rodata_norel section alignment to 2 bytes for the i8086-msdos target
git-svn-id: trunk@30680 -
2015-04-20 01:27:26 +00:00
nickysn
a69b98484e + enabled compilation of unit lnfodwrf on i8086-msdos
git-svn-id: trunk@30637 -
2015-04-18 01:56:04 +00:00
nickysn
930327eabf * fixed a race condition during parallel build, when nasm tries to create the
output file, before mkdir has created the output directory

git-svn-id: trunk@30148 -
2015-03-08 13:32:35 +00:00
nickysn
e513cd44cf * cleaned up, fixed dependencies and enabled parallel build in the msdos makefile
git-svn-id: trunk@30145 -
2015-03-08 12:31:58 +00:00
Tomas Hajny
db7a9950d1 * unit name changed to System (starting with uppercase 'S') for improved compatibility to Delphi - see test tobject5.pp
git-svn-id: trunk@30025 -
2015-02-27 19:00:50 +00:00
Jonas Maebe
fa328436ab * regenerated for iphonesim/x86-64
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
3d01d4ceb1 * regenerated with Darwin/AArch64 support
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
pierre
7bbb30ccd4 * Reset filerec mode field to fmClosed if the system call to open the file failed
git-svn-id: trunk@29132 -
2014-11-23 21:49:29 +00:00
sergei
3a5e6485b5 - RTL: removed InitVariantManager, it was an empty procedure since day 1.
git-svn-id: trunk@29114 -
2014-11-22 20:35:46 +00:00
nickysn
8edfd33af8 * use RegisterTinyHeapBlock_Simple_Prealigned in the msdos rtl
git-svn-id: trunk@28652 -
2014-09-13 19:55:55 +00:00
nickysn
c8e9d2cf6e + added a simplified version of RegisterTinyHeapBlock, for use when the tiny
heap is a single memory block

git-svn-id: trunk@28635 -
2014-09-09 12:45:47 +00:00
nickysn
45ed066fed * fixed SysUtils.FindFirst/FindNext/FindClose on i8086-msdos in the compact and
large memory models by changing TSearchRec.FindHandle to a pointer (because
  THandle is 16-bit on this platform and is thus not able to hold a far pointer
  without truncating it)

git-svn-id: trunk@28451 -
2014-08-18 21:39:20 +00:00
nickysn
7958466ef9 * on i8086-msdos, in the compact and large memory models, set the end of heap to
be the end of the current program's MCB, instead of 16 bytes earlier

git-svn-id: trunk@28442 -
2014-08-18 13:54:20 +00:00
nickysn
9979aa702f + added the TP7-compatible pointer variables HeapOrg and HeapEnd, indicating,
respectively, the start and end of the tiny heap. Eventually they are also
  going to be used for catching attempts to free memory that is outside the
  heap.

git-svn-id: trunk@28437 -
2014-08-17 22:42:44 +00:00
nickysn
a61c775d29 + enabled the huge (>64kb) heap support in the compact and large memory models
git-svn-id: trunk@28349 -
2014-08-08 23:32:12 +00:00
nickysn
b1144508a7 * fixed the far/huge data ifdefs in InitDosHeap
git-svn-id: trunk@28348 -
2014-08-08 21:44:19 +00:00