Commit Graph

42 Commits

Author SHA1 Message Date
Károly Balogh
888e59d34d amiga: added some code to compile the Amiga RTL with tinyheap. will be useful for Kickstart 1.3 and better very-low-end systems support. disabled by default. also added ifdefs around DynLibs support
git-svn-id: trunk@37879 -
2017-12-30 06:57:15 +00:00
Károly Balogh
04dee0fc04 regenerated Makefiles for m68k-macos target
git-svn-id: trunk@37034 -
2017-08-22 11:16:42 +00:00
Károly Balogh
6e3936c534 amicommon: implement StackTop for other Amiga-like systems
git-svn-id: trunk@36697 -
2017-07-08 23:48:29 +00:00
Károly Balogh
2d8313165d m68k: support FFU exception settings, also reworked FPU initalization
git-svn-id: trunk@36618 -
2017-06-30 02:38:14 +00:00
Károly Balogh
5ffc833842 amiga/m68k: enable inlining and compiler mul32to64 in the softfpu
git-svn-id: trunk@36489 -
2017-06-12 12:47:07 +00:00
Károly Balogh
7d2360eb0c m68k: Test68000/Test68881 support boilerplate and special support for Amiga
git-svn-id: trunk@35194 -
2016-12-24 21:11:06 +00:00
Károly Balogh
23cf551bf3 m68k-amiga: fixed wrong define to test against softfpu (oops...)
git-svn-id: trunk@33672 -
2016-05-11 07:09:53 +00:00
Károly Balogh
7fff76d936 m68k-amiga: only compile softfpu code into system unit, when FPU_SOFT is defined
git-svn-id: trunk@33670 -
2016-05-10 16:08:17 +00:00
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
c5907d5f71 it's now possible to compile the RTL again for AmigaOS/PowerPC. entirely untested, but it builds at least
git-svn-id: trunk@33252 -
2016-03-14 02:14:43 +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
846dd6b57b m68k: use the Amiga-specific atomic ops on Amiga
git-svn-id: trunk@30903 -
2015-05-24 21:44:51 +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
3edad2774a Amiga: use stdout as stderr, so code which is wired to use stderr doesn't commit suicide
git-svn-id: trunk@30788 -
2015-05-03 17:41:20 +00:00
Károly Balogh
bbecfeed9e Amiga: manually semaphore-protect the heap Pool, because classic Amiga has no MEMF_SEM_PROTECTED
git-svn-id: trunk@30356 -
2015-03-29 00:18:19 +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
27befd2375 amiga: reintroduced some of the exec debug functions, which were removed, but actually *DO* exist on classic Amiga and hooked the new SysDebug stuff into the Amiga RTL
git-svn-id: trunk@28701 -
2014-09-21 00:15:49 +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
26d53cfa55 amicommon: Amiga/m68k RTL now uses the common code
git-svn-id: trunk@28509 -
2014-08-21 23:49:21 +00:00
Károly Balogh
b5d559dce1 Amiga: fixed FileNameCasePreserving flag to true
git-svn-id: trunk@28440 -
2014-08-18 12:26:43 +00:00
Károly Balogh
fbc7b3d89a fixed some recently added external vs. public mixup, so Amiga binaries even link again
git-svn-id: trunk@27736 -
2014-05-04 23:11:38 +00:00
Károly Balogh
8a83037883 amiga: added some hacks to support the ancient code in amunits package. most of this will be gone after amunits package cleanup, but at least amunits package builds now
git-svn-id: trunk@27578 -
2014-04-13 23:39:59 +00:00
Károly Balogh
fb218fa671 require v37 libs (OS2.04+) instead of v50 (nextgen)
git-svn-id: trunk@27059 -
2014-03-09 19:23:30 +00:00
Károly Balogh
2f02fa6f16 fixed AllFilesMask for Amiga and some comment typos
git-svn-id: trunk@27057 -
2014-03-09 17:47:21 +00:00
Károly Balogh
e22228ca27 AMIGAOS4 is now defined in the compiler, not in the RTL
git-svn-id: trunk@27056 -
2014-03-09 17:43:05 +00:00
Károly Balogh
3137c6ac4a answer the WBMsg on process exit, when run from Workbench
git-svn-id: trunk@23265 -
2013-01-01 01:47:30 +00:00
Tomas Hajny
27403b542b + FileNameCasePreserving added - see #18066 in Mantis
git-svn-id: trunk@20896 -
2012-04-15 21:21:53 +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
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
Károly Balogh
f3e13f1e68 + removed a define which seems unnecessary
git-svn-id: trunk@8502 -
2007-09-16 11:07:47 +00:00
Tomas Hajny
3b3849c02c + AllFilesMask constant added
git-svn-id: trunk@8492 -
2007-09-15 12:09:25 +00:00
florian
4cbb67aa00 * some fpu emulation code from arm to generic code generator moved
* several m68k fixes

git-svn-id: trunk@5218 -
2006-11-04 10:23:35 +00:00
Károly Balogh
705033284e + regenerated makefiles to support powerpc-amiga target
git-svn-id: trunk@4371 -
2006-08-06 12:28:28 +00:00
Károly Balogh
fe6637884d + some basic system unit. morphos one with _lot_ of commented out parts
git-svn-id: trunk@2392 -
2006-02-01 15:21:29 +00:00