Commit Graph

69 Commits

Author SHA1 Message Date
marcus
e38e051425 Amicommon: Unified parameterhandling for Amiga, AROS, MorphOS
git-svn-id: trunk@33528 -
2016-04-17 15:31:18 +00:00
Károly Balogh
5eea4b2846 amicommon: support for init/exit procedures for threads. will be used by Sockets unit for example, because bsdsocket.library needs to be reopened for each thread
git-svn-id: trunk@30991 -
2015-06-06 19:51:12 +00:00
Károly Balogh
f5bcb011ea amicommon: properly arbitrate access to the open file list in a multithreaded environment
git-svn-id: trunk@30899 -
2015-05-24 12:15:02 +00:00
Károly Balogh
ee0cbece03 MorphOS: use stdout as stderr, so code which is wired to use stderr doesn't commit suicide
git-svn-id: trunk@30789 -
2015-05-03 17:42:05 +00:00
Károly Balogh
0bccf5f09f morphos: use MEMF_SEM_PROTECTED flag for semaphore protect our memory pool. this is required for the future threading (concurrent accesses to the same pool from separate threads).
git-svn-id: trunk@30355 -
2015-03-28 22:58:49 +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
Károly Balogh
155ae9961e MorphOS: hooked the new debug stuff into the MorphOS RTL
git-svn-id: trunk@28696 -
2014-09-19 21:18:33 +00:00
Károly Balogh
ef5f1b7ed2 amicommon: fixed sysdir.inc/do_chdir() to actually work on AROS
- fixed all Amiga-like system units to not leak the last directory
  lock while changing back to the original dir in System_exit;
  (a bug found by Marcus Sackrow, thanks!)
* renamed AOS_origDir to ASYS_origDir

git-svn-id: trunk@28537 -
2014-08-30 00:58:42 +00:00
Károly Balogh
785a1690a2 amicommon: AOS_heapPool renamed to ASYS_heapPool. common stuff should start with ASYS, to avoid confusion on AmigaOS, so more to come
git-svn-id: trunk@28533 -
2014-08-28 21:50:05 +00:00
Károly Balogh
2bbf991365 MorphOS: migrated the RTL to use the common Amiga code. still needs cleanup, but works as a first
git-svn-id: trunk@28511 -
2014-08-22 22:19:16 +00:00
sergei
9801288cdc * Removed SysInitFPU/SysResetFPU from (remaining) system units initialization code. It is redundant there because it is called from fpc_cpuinit, or, in case of i386, from fpc_cpucodeinit.
* It fixes regression of tw16283b after r27169. 
* BeOS, Haiku: added fpc_cpucodeinit to compensate for removal of SysInitFPU, it also enables use of CPU features like SSE.

git-svn-id: trunk@27171 -
2014-03-17 10:53:52 +00:00
Tomas Hajny
d442d14e0c + FileNameCasePreserving added - see #18066 in Mantis
git-svn-id: trunk@20894 -
2012-04-15 20:56:13 +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
Károly Balogh
f5930b0dfc * MorphOS, Amiga: changed definition of sLineBreak to match other system units, fixes fcl-base build
git-svn-id: trunk@16192 -
2010-10-21 02:13:57 +00:00
Károly Balogh
c11243c83d * made MorphOS build to cycle again: fixed path_absolute() for Amiga and MorphOS, and fixed AllFilesMask for MorphOS
git-svn-id: trunk@13474 -
2009-07-30 00:57:06 +00:00
florian
344ccfce72 * who uses C style operators in the heart of FPC ;)? fixed
git-svn-id: trunk@12764 -
2009-02-21 22:59:10 +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
florian
f97c2968f9 * fixed widestring/unicodemanager initialisiation
git-svn-id: trunk@11743 -
2008-09-10 21:02:50 +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
florian
7da7364ee7 * refactored SysResetFPU into SysInitFPU and SysResetFPU
git-svn-id: trunk@8966 -
2007-10-28 12:06:49 +00:00
Tomas Hajny
3b3849c02c + AllFilesMask constant added
git-svn-id: trunk@8492 -
2007-09-15 12:09:25 +00:00
Károly Balogh
65077065bc + fixed handling of Ambient mode, because that was totally broken: closes CON:, replies WBMsg now
+ added support for paramstr(0) when started from Ambient

git-svn-id: trunk@4044 -
2006-07-01 21:28:03 +00:00
Károly Balogh
bd24678ae5 Merged r1666 changes from fixes branch
git-svn-id: trunk@1813 -
2005-11-24 04:58:15 +00:00
tom_at_work
1b4b42fdd6 * added CheckInitialStkLen() function which checks whether the given stack size value is valid on the OS when creating a thread, fixing stack checking
git-svn-id: trunk@1722 -
2005-11-11 12:16:08 +00:00
Károly Balogh
ccc29a13f3 * added SysResetFPU, which is required for MorphOS
git-svn-id: trunk@1279 -
2005-10-03 22:49:44 +00:00
michael
21425e303c + Removed HASVARIANT define
git-svn-id: trunk@244 -
2005-06-07 20:48:31 +00:00
michael
8a226bba52 + Removed HASWIDESTRING/HASWIDECHAR defines
git-svn-id: trunk@241 -
2005-06-07 20:42:22 +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
3ddd944b81 * fix for potential SIGSEGV during argv allocation 2005-05-10 21:45:08 +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
f6f22df152 * system unit updated 2005-02-07 21:30:12 +00:00
florian
4f7560d89e * improved widestring infrastructure manager 2005-02-01 20:22:49 +00:00
Károly Balogh
947246873d * Few more Sysutils functions implemented 2005-01-12 08:03:42 +00:00
Károly Balogh
28929b736b * some cleanup, more sanity checks and updates for sysutils 2005-01-11 17:43:14 +00:00
Károly Balogh
50b086d81d * GetProcessID implemented 2004-12-14 21:01:16 +00:00
Károly Balogh
be1d1d304d * removed debug code accidentally left in 2004-12-07 10:07:50 +00:00
Károly Balogh
82d0728c5a * previous change broke PathConv, fixed 2004-12-07 09:55:46 +00:00
Károly Balogh
2263433f93 * added a public alias to PathConv for use in DOS unit 2004-12-06 20:09:55 +00:00
Tomas Hajny
353d5cc3de + GetProcessID added 2004-12-05 14:36:37 +00:00
Károly Balogh
6d82ab6d84 * Reworked path handling to be less messy 2004-11-15 23:18:16 +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