Commit Graph

38 Commits

Author SHA1 Message Date
florian
9328dd6489 * fix further instances where reallocmem instead of sysreallocmem is used to allocate the cmdline buffer, resolves #41168 2025-03-02 12:57:11 +01:00
Michaël Van Canneyt
e80ce5f61f * Allow to disable monitor 2024-06-18 14:51:34 +02:00
Michaël Van Canneyt
4c26e4f989 * Enable monitor support 2024-02-24 18:11:23 +01:00
Michael VAN CANNEYT
59016499dc * string -> shortstring 2023-07-14 17:26:11 +02:00
Michael VAN CANNEYT
7c538b1797 * Char -> AnsiChar 2023-07-14 17:26:09 +02:00
florian
a06c034189 * cleanup of outdated defines 2023-01-20 23:31:04 +01:00
florian
7baf2461f0 * check paramstr argument for negative values, resolves #39410 2021-10-20 20:04:32 +02:00
ondrej
1a0ba60de6 * revert r47598: implement TRandomGenerator
git-svn-id: trunk@47605 -
2020-11-27 04:53:06 +00:00
ondrej
c4dd3b661a * rtl: implement TRandomGenerator for thread-safe random
git-svn-id: trunk@47598 -
2020-11-26 05:59:00 +00:00
pierre
aec9ef1b70 Fix StackTop computation by using StackTopPtr variable set in _start code
git-svn-id: trunk@33009 -
2016-01-27 13:50:02 +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
cfd2600b24 - Don't include softfpu code on SPARC, unless bootstrapping with 2.6.
- Atari is never compiled on SPARC or MIPS (and even it does one day, softfpu is not needed).

git-svn-id: trunk@27203 -
2014-03-20 17:20:58 +00:00
yury
2b2a68446d * Added new unit unixcp. It contains stuff from winiconv.inc - a table to map Windows code page identifiers to locale names on unix. Also GetSystemCodePage function in this unit can be used to detect which code page is used currently.
* Build unixcp for all unix-like systems.
* Use the unixcp unit in cwstring instead of winiconv.inc.
- Deleted winiconv.inc
- Reverted r22410,r22411,r22428. The compiler will use the unixcp unit to get a default code page for ansistrings.

git-svn-id: trunk@23670 -
2013-02-28 18:21:28 +00:00
paul
88a10330c2 rtl: initialize DefaultSystemCodePage on aix,beos,haiku,solaris
git-svn-id: trunk@22428 -
2012-09-21 01:45:18 +00:00
Jonas Maebe
c71cb9dc69 * fixed null termination of cmdline (based on patch by C Western,
mantis #22742) -- that function seems like a good candidate to
    put in a shared include file though

git-svn-id: trunk@22270 -
2012-08-30 21:30:31 +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
florian
b17a9385e5 * use generic first_int_to_real 64 bit values on sparc
* compile part of softfpu into the system unit as consequence of using the generic first_int_to_real

git-svn-id: trunk@18961 -
2011-09-03 19:58:32 +00:00
pierre
79ec403774 Fix for multiple exception troubles
git-svn-id: trunk@14218 -
2009-11-19 21:25:04 +00:00
Jonas Maebe
f6d452c2c0 * remove the RTL's installed signal handlers at the end of the system
unit's initialization code in case we're in a library
  + implemented InquireSignal(), AbandonSignalHandler(), HookSignal() and
    UnhookSignal() in the sysutils unit
  * for Kylix compatibility, these routines support operating on
    SIGINT and SIGQUIT as well, although they are not hooked by default
    by FPC. The run time errors/exception codes for these signals are
    resp. 217 and 233 (same as in Kylix; I changed ENoWideStringSupport
    to 234).
  * changed the BSD syscall version of fpsigaction to use pointer
    rather than "var" arguments (compatible with other targets, and
    required to be able to pass nil arguments inside the system unit)
  -> together fixes mantis #12704

git-svn-id: trunk@13077 -
2009-05-02 09:40:44 +00:00
Jonas Maebe
1f6ec36064 * save/restore errno inside reenable_signal, because it can be called
from inside signal handlers

git-svn-id: trunk@12997 -
2009-04-04 09:59:41 +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
Jonas Maebe
57087da620 * return an empty string for paramstr(value>paramcount) (already correct
for other targets, mantis #11169)

git-svn-id: trunk@10704 -
2008-04-18 16:56:44 +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
6a03189443 * fixed hello world on sparc/solaris
git-svn-id: trunk@2462 -
2006-02-06 21:45:56 +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
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
michael
aea4d56d46 + Reversed setup of stdio and arguments to fix bug #3962
git-svn-id: trunk@114 -
2005-05-25 21:47:52 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
f4011dabba * solaris updates 2005-02-14 16:32:41 +00:00
peter
b89a03b903 * get solaris back in shape 2005-02-13 22:13:20 +00:00
peter
4534feb917 * include file cleanup part 2 2005-02-13 21:47:56 +00:00
peter
a6c95078dc * renamed to solaris 2005-02-10 17:30:54 +00:00