Commit Graph

63 Commits

Author SHA1 Message Date
Michaël Van Canneyt
4c529287c6 * string -> shortstring 2023-07-22 08:26:22 +00:00
Michael VAN CANNEYT
57353df68f * Char -> AnsiChar 2023-07-14 17:26:09 +02:00
pierre
b54e3bea6a Add OLD_ASSEMBLER macro to circumvent limitation of 2.6 GNU assembler used for EMX
git-svn-id: trunk@37006 -
2017-08-21 13:13:41 +00:00
pierre
d5b314ca52 Fix EMX rtl compilation
git-svn-id: trunk@36864 -
2017-08-08 22:36:16 +00:00
svenbarth
2d454dc8fa Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages.
Each port that allows the usage of dynamic libraries should call InitSystemDynLibs during initialization of the System unit.
The DynLibs unit has been adjusted to be a forwarder for the functions that now reside in the System unit (for backwards compatiblity just in case). Additionally the unit will register the DynLibsManager if it doesn't reside in the System unit anyway.
Currently only the Windows targets (Win32, Win64 and WinCE) implement the DynLibsManager inside the System unit. For other systems using the LoadLibrary, etc. functions will lead to a run error/exception.
If a port wants to implement its own DynLibsManager then it needs to define DISABLE_NO_DYNLIBS_MANAGER. TLibHandle, NilHandle and optionally TOrdinalEntry (it's set to SizeUInt otherwise) should be defined in sysdlh.inc which needs to be enabled using the define FPC_SYSTEM_HAS_SYSDLH (because there are targets which have FEATURE_DYNLIBS enabled, but don't support them... e.g. powerpc-wii -.-).
The DynLibsManager contains methods for loading a library based on a RawByteString and based on a UnicodeString. BOTH should be implemented, but internally one can forward to the other.
The loading by ordinal *can* be be implemented. If it is set to Nil then the implementation of GetProcAddress(lib,ordinal) will return Nil.

+ new functions SetDynLibsManager and GetDynLibsManager to set and retrieve the current DynLibsManager
* provide interface of DynLibs unit in unit System

git-svn-id: trunk@29613 -
2015-02-03 20:00:00 +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
sergei
76e5970993 * Clarified comments regarding TIB layout and stack bounds on OS/2.
git-svn-id: trunk@27134 -
2014-03-14 15:18:23 +00:00
sergei
3a55c4301e * Since StackTop=StackBottom+StackLength, any two variables are sufficient to describe stack, the third one is redundant.
* As a first part of cleanup, replaced StackTop with function returning StackBottom+StackLength.
* On Win32 and Win64, StackTop returns the stack base from TIB instead.

git-svn-id: trunk@27119 -
2014-03-12 19:48:03 +00:00
Tomas Hajny
d442d14e0c + FileNameCasePreserving added - see #18066 in Mantis
git-svn-id: trunk@20894 -
2012-04-15 20:56:13 +00:00
Tomas Hajny
21179c6833 * retrieve process ID even if running under DOS
git-svn-id: trunk@19644 -
2011-11-17 20:19:00 +00:00
paul
1ccf16358c rtl: init widestring and unitcodestring managers before initialization of Standard IO files (stdin,stdout,stderr)
git-svn-id: trunk@19542 -
2011-10-25 02:29:29 +00:00
Tomas Hajny
b873d3133f * unicodestringmanager patch from r11743 extended to OS/2 and other platforms using system.pas instead of system.pp
git-svn-id: trunk@12393 -
2008-12-19 12:46:58 +00:00
Jonas Maebe
d4d7b695c7 - removed all "islibrary:=false;" assignments from system unit
initialisation code, because that's a typed constant already initialised
    to that value and it interferes with a generic solution to set islibrary
    to true for libraries

git-svn-id: trunk@12376 -
2008-12-17 17:48:04 +00:00
peter
f4f3ae84d0 * AllowDirectorySeparators and AllowDriveSeparators typed constants
added to allow customization of path and directory parsing in the rtl
  * Use the new sets instead of the hardcoded / and \

git-svn-id: trunk@10105 -
2008-01-29 23:04:56 +00:00
peter
5acb3649df * revert r9557, the performance impact is to big for an academic corner
case optimziation

git-svn-id: trunk@9603 -
2007-12-31 13:36:16 +00:00
yury
0dcad4d822 * Implemented late thread manager initialization. Thread manager code is not included to executable if thread stuff are not used. WinCE executable size is reduced by 4KB, Win32 executable size is reduced by 3KB. No testsuite regressions.
git-svn-id: trunk@9557 -
2007-12-28 14:40:28 +00:00
Tomas Hajny
3b3849c02c + AllFilesMask constant added
git-svn-id: trunk@8492 -
2007-09-15 12:09:25 +00:00
Tomas Hajny
21d7670a0b * StackTop now common and changed to pointer (remove duplicate declaration)
git-svn-id: trunk@2753 -
2006-03-05 10:41:47 +00:00
Tomas Hajny
f29fde8978 * CheckInitialStkLen and/or StackLength initialization added to previously omitted targets
git-svn-id: trunk@1736 -
2005-11-13 19:13:16 +00:00
Tomas Hajny
349d7108ce * Check of memory ranges under OS/2 added to HeapTrc
git-svn-id: trunk@1735 -
2005-11-13 19:05:38 +00:00
Tomas Hajny
eb26e1aa39 * missing calls to InitWideStringManager added
git-svn-id: trunk@1071 -
2005-09-10 09:40:26 +00:00
michael
859bb30daa + Removed HASTHREADVAR SUPPORT_THREADVAR defines
git-svn-id: trunk@295 -
2005-06-09 17:40:29 +00:00
michael
21425e303c + Removed HASVARIANT define
git-svn-id: trunk@244 -
2005-06-07 20:48:31 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
michael
ffb55c4254 + Removed VER1_0 defines
git-svn-id: trunk@33 -
2005-05-19 21:14:45 +00:00
peter
b68af1b0e3 * post 2.0.0 fixes from cvs
git-svn-id: trunk@7 -
2005-05-16 20:59:02 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
michael
2e48181661 + Added maxpathlen constant (maximum length of filename path) 2005-05-12 20:29:04 +00:00
Tomas Hajny
d3c103dfd7 * EOF_CTRLZ conditional define replaced with CtrlZMarksEOF, #26 handling made more consistent (fix for bug #2453) 2005-04-03 21:10:59 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
e49fa4bd08 * threads for go32v2,os,emx,netware 2005-02-06 16:57:18 +00:00
Tomas Hajny
134c0bf3fa * ThreadID is shared 2004-12-12 21:08:29 +00:00
Tomas Hajny
353d5cc3de + GetProcessID added 2004-12-05 14:36:37 +00:00
peter
dbc2025604 ErrOutput added 2004-11-04 09:32:31 +00:00
peter
869b0ecc85 * compiler defined HEAP and HEAPSIZE removed 2004-10-25 15:38:59 +00:00
Tomas Hajny
605ee59e81 * handle type changed to thandle in do_isdevice 2004-09-18 11:12:09 +00:00
olle
9a4855aa43 + added maxExitCode to all System.pp
* constrained error code to be below maxExitCode in RunError et. al.
2004-09-03 19:25:21 +00:00
Tomas Hajny
dadda35ce2 * simulated support for new heap manager 2004-07-24 01:15:25 +00:00
Tomas Hajny
915800af51 * handle in do_* changed to THandle 2004-05-16 20:39:59 +00:00
peter
041eb4aa1d * do_read/do_write addr argument changed to pointer 2004-04-22 21:10:56 +00:00
Tomas Hajny
e0f9297e01 * ExecuteProcess fixes, ProcessID and ThreadID added 2004-01-20 23:05:31 +00:00
Tomas Hajny
ac8870b489 * regcall fixes 2003-12-26 22:20:44 +00:00
Tomas Hajny
ce052a6eba * fix for stackbottom change to pointer 2003-12-17 22:52:39 +00:00
Tomas Hajny
315d8bf6a0 * cardinal2pointer changes 2003-11-06 23:21:51 +00:00
Tomas Hajny
5371a1dd3d * fix of previous mistyping 2003-11-01 19:25:50 +00:00
Tomas Hajny
7adcc315bc * file handling related fixes 2003-10-25 22:45:37 +00:00
Tomas Hajny
136a47429e * UnusedHandle value made the same as with other targets 2003-10-19 12:13:41 +00:00
Tomas Hajny
fc7111ff4b * fixes from OS/2 merged to EMX 2003-10-19 09:35:28 +00:00
peter
d0eac29ab9 * THandle is platform dependent 2003-10-16 15:43:13 +00:00
Tomas Hajny
c9445358ce * wrong use of Intel syntax 2003-10-12 18:07:30 +00:00