Commit Graph

241 Commits

Author SHA1 Message Date
Karoly Balogh
5b0669d036 aros: build the CPU unit for i386 and x86_64 aros 2022-12-15 10:47:26 +01:00
magorium
4058a0ac4b AROS: Make sure opaque SMP extension is used for ABIv11 only
These changes adds an additional record field to record structure TMsgPort in
order to support SMP for ABIv11 (non m68k targets only).

This additional field contains two opaque IPTR's/PtrUInt's and therefor breaks
compatibility between ABIv0, ABIv1 and ABIv11 as well as make them binary
incompatible.

It also renders ABIv11 incompatible with itself when this change was introduced
on march 18 2022. Recompilation of existing code for this ABI is thus required.

See: b9bc67accc
2022-06-26 19:03:18 +00:00
magorium
c660120329 AROS: Ensure that spinlocks for SMP enabled build is not possible for ABIv11
These changes makes sure that the use of record structure spinlock is not
active/available when compiling for AROS ABIv11 as that ABI does not support
spinlocks as implemented for AROS ABIv1.

Note that this is a ABI and Binary Compatible break between ABIv1 and ABIv11.
2022-06-26 19:03:18 +00:00
magorium
14f9774838 AROS: Ensure that spinlocks for SMP enabled build can only be active for ABIv1
These changes makes sure that the use of record structure TSpinlock can only
be enabled/active for AROS ABIv1 as that ABI is currently the only ABI that
is able to support SMP by using the spinlock record structure.
2022-06-26 19:03:18 +00:00
magorium
41a48fe385 AROS: Use structure spinlock for SMP enabled build (ABI/BC break)
This commit will add an additional spinlock field to record structures
TMsgPort and TSemaphoreRequest for a SMP enabled build.

This will break ABI and Binary Compatibility between ABIv0 and ABIv1 and for
ABIv1 (for a SMP enabled build).

Recompilation in such case is required as both record structures TMsgPort and
TSemaphoreRequest are embedded in other record structures which causes a
myriad of changes to those records including different record sizes and other
field offsets.

Note that SMP is currently only available for ABIv1 and afaik only supported
for AROS target x86_64 while AROS target i386 has initial support for SMP
(but not actively enabled).

SMP enabled build can be 'activated' by defining AROS_PLATFORM_SMP and
AROSEXEC_SMP.
2022-06-26 19:03:18 +00:00
magorium
b467de658d AROS: Add structure spinlock for SMP builds
In 2015 ABIv1 introduced support for spinlocks for SMP enabled builds (1) by
use of a special spinlock structure.

This structure was later updated to end up in its current form in 2017 (2)

This commit adds this record structure to both RTL (execd) and unit (exec).

The structure can be "enabled" by defining AROSPLATFORM_SMP during build.

1) b6045c27fd
2) 0ffdbdc48f
2022-06-26 19:03:18 +00:00
magorium
b218393b57 AROS: ABI compatibility update AROSSupportBase (ABI/API/BC break)
These changes break API/Binary Compatibility between ABIv0 and ABIv1.

Field stdOut is replaced by undefined field named _pad for ABIv1 while
(still) being present as stdOut for ABIv0.

Field DebugConfig is completely removed from ABIv1 (still present for ABIv0).

If your code depends on either of these two fields then you need to make
appropriate changes when compiling for ABIv1.

Removing dependency on either of these two mentioned fields is preferred.

Both RTL (execd.inc) and unit (exec.pas) are updated.

See also 194cc5e1c5
2022-06-26 18:38:06 +00:00
magorium
8bc7d5897d AROS: ABI compatibility update structure TETask (ABI/BC break)
These changes break Binary Compatibility between ABIv0 and ABIv1.

Record TETask was not compliant to ABIv1 because field et_Compatibility is
only required for ABIv0 (06538a1790).

Therefor these changes update record TETask for both RTL (execd.inc) and unit
exec (exec.pas) so that field et_Compatibility is only present for ABIv0.

The impact of these changes should be minimal because all relevant fields are
still accessible (some located at another offset) and code should never rely
on the size of this structure.
2022-06-26 18:17:44 +00:00
magorium
08cc81ff60 AROS: Update RTL structure TETask (execd)
Bring RTL (execd.inc) structure TETask up to date to unit exec (exec.pas).

This structure situated in the RTL was (literally) based on the MorphOS
version which is not compliant to AROS.

The original MorphOS TETask structure can still be 'activated' when the flag
AROS_MORPHOS_COMPATIBLE is defined when compiling the RTL and exec unit (as
is also the case in the original AROS repo).
2022-06-26 18:17:44 +00:00
Nikolay Nikolov
8c562995d7 * regenerate makefiles with latest fpcmake 2022-05-24 14:01:59 +03:00
magorium
d78e39d360 AROS: 32/64-bit RTL utility compatibility update
Update some utility RTL record structures to be 32/64-bit compatible.

Unit Utility was already up-to-date with these changes.
2022-05-06 22:21:47 +00:00
magorium
94d47bf7cb AROS: RTL doslib, record field members update
Update some doslib RTL record field members for AROS compatiblity.
2022-05-06 22:21:47 +00:00
magorium
b2f6ca70cd AROS: 32/64-bit RTL doslib compatibility update
Update some doslib RTL record structures to be 32/64-bit compatible.
2022-05-06 22:21:47 +00:00
magorium
e339d236e1 AROS: RTL exec update. Memory sizes are IPTR
Memory sizes are expressed in IPTR/PtrUInt in order to be compatible to both
32 and 64-bit.

Affects both record structures and API call signatures.

See: d7df812342
2022-05-06 22:21:47 +00:00
magorium
2a75debff6 AROS: 32/64-bit RTL exec compatibility update
Update some exec RTL record structures to be 32/64-bit compatible.

Unit Exec was already up-to-date with these changes.
2022-05-06 22:21:47 +00:00
magorium
f2fc63aed2 AROS 64bit fixes filehandles #2
Solve crashes when opening, closing and managing files for AROS 64-bit when
filehandles are located in memory > 32-bit by making sure the used file
handles are actually of type BPTR/THandle instead of longint/cardinal
(and stays compatible to AROS 32-bit).
2022-04-29 20:30:17 +00:00
magorium
a45394d849 AROS: 64-bit filehandle compatibility fixes for doslibf.inc 2022-03-30 21:32:44 +00:00
Pierre Muller
497dd20a08 Regenerate Makefile's with trunk fpcmake 2022-03-27 08:23:22 +00:00
inoussa
163d2ab344 Unicode' unicodenumtable.pas removed : update Makefile.fpc. 2022-03-26 21:17:54 +00:00
Marcus Sackrow
729d920ed3 AROS: Locks must be BPTR type 2022-03-17 18:05:24 +01:00
Pierre Muller
2f28c5596f Regenerate all Makefile's to fix problem on x86_64 linux 2022-03-07 23:46:15 +00:00
Pierre Muller
ad2ac98858 Update Makefile's 2022-03-07 22:35:29 +00:00
Pierre Muller
4da4c96349 Regenerate Makefile's with mips gcc fixes and new enabled mips64-linux target 2022-02-15 15:45:15 +00:00
Nikolay Nikolov
21593942a1 * regenerate all makefiles with the latest fpcmake 2022-02-13 15:26:54 +02:00
Nikolay Nikolov
b407b67ca1 * regenerate all makefiles with latest fpcmake 2022-01-19 07:08:32 +02:00
Robert Roland
53e5a4a03a Adding aaarch64-embedded target
This adds support for aarch64-embedded, specifically for the Raspberry Pi 3.

Uses UART0 at 115200 baud 8N1 for console IO.
2022-01-05 12:29:00 +00:00
Pierre Muller
271ba59cf1 All Makefile's regenerated 2021-11-25 22:13:32 +00:00
florian
65ef6f1f37 * regenerated Makefiles 2021-11-24 22:50:37 +01:00
nickysn
433050a2c4 * set EXEEXT to .wasm for the WASI target in fpcmake
git-svn-id: trunk@49552 -
2021-06-24 00:16:00 +00:00
Jonas Maebe
500e29e5e2 * regenerated with FreeBSD/AArch64 support
git-svn-id: trunk@49159 -
2021-04-10 08:19:40 +00:00
florian
e4cc8af8fc * Makefiles regenerated
git-svn-id: trunk@49124 -
2021-04-05 15:39:07 +00:00
nickysn
ea8f068817 * regenerated makefiles after sync with trunk
git-svn-id: branches/wasm@48951 -
2021-03-13 21:52:13 +00:00
nickysn
e42330a7ad * synchronized with trunk
git-svn-id: branches/wasm@48949 -
2021-03-13 21:47:24 +00:00
pierre
e8fbe6696b Update Makefile's after commits 48929/48930
git-svn-id: trunk@48940 -
2021-03-12 13:23:41 +00:00
nickysn
1d9d1ab859 * regenerated makefiles
git-svn-id: branches/wasm@48369 -
2021-01-24 02:01:11 +00:00
nickysn
cf6c173653 * regenerated makefiles
git-svn-id: branches/wasm@47988 -
2021-01-02 22:25:27 +00:00
nickysn
a84b091b5e * makefiles regenerated after fpcmake update
git-svn-id: branches/wasm@47985 -
2021-01-02 22:15:42 +00: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
68d3962889 Regenerate all Makefile's, and update utils/fpcm/fpcmake.inc and utils/fpcm/revision.inc after commit 47483
git-svn-id: trunk@47484 -
2020-11-20 14:03:57 +00:00
Károly Balogh
9d67adcbb6 * regenerated all Makefiles after Sinclair QL support was added
git-svn-id: trunk@47453 -
2020-11-19 02:58:27 +00:00
svenbarth
225bc70e7e * regenerate Makefiles
git-svn-id: trunk@47192 -
2020-10-25 10:18:14 +00:00
svenbarth
8badcbdd0d * explicit build rules are not required for the softfpu units that are build with a buildrtl
git-svn-id: trunk@47191 -
2020-10-25 10:18:09 +00:00
svenbarth
8eefb37b42 * fix buildrtl units on Amiga-likes
git-svn-id: trunk@47190 -
2020-10-24 21:25:04 +00:00
svenbarth
985c4fafeb * regenerate Makefiles after adding the softfpu units
git-svn-id: trunk@47188 -
2020-10-24 20:58:24 +00:00
svenbarth
707034b271 + add all softfpu units for various targets
git-svn-id: trunk@47187 -
2020-10-24 20:58:08 +00:00
pierre
ca40956a3a Regenerated all Makefile's
git-svn-id: trunk@46224 -
2020-08-04 10:19:49 +00:00
Jonas Maebe
fb23834367 * regenerated Makefiles again
git-svn-id: trunk@45766 -
2020-07-11 09:51:28 +00:00
Jonas Maebe
350d2d92f9 * regenerated Makesfiles
git-svn-id: trunk@45762 -
2020-07-10 22:08:30 +00:00
Károly Balogh
cab80d1218 amiga-likes: add headers for timer.device/GetSysTime()
git-svn-id: trunk@45712 -
2020-06-28 22:23:36 +00:00
svenbarth
b3ddd4e786 * regenerate Makefiles
git-svn-id: trunk@45601 -
2020-06-06 17:18:48 +00:00
pierre
c77ef7d6dd Regenerate all Makefile's after change in utils/fpcm/fpcmake.ini to better support use of i386 compiler on x86_64 machines
git-svn-id: trunk@45356 -
2020-05-13 13:53:15 +00:00
nickysn
56b79257a1 * fixed fpmake invokation when building an i386-linux snapshot on a x86_64-linux host
git-svn-id: trunk@45298 -
2020-05-06 20:41:01 +00:00
nickysn
86643f8a34 * synchronized with trunk
git-svn-id: branches/z80@44981 -
2020-04-21 23:36:44 +00:00
svenbarth
184d6d61ed * regenerate makefiles
git-svn-id: trunk@44958 -
2020-04-21 06:09:20 +00:00
nickysn
d57ffc4745 * changed the object file format for z80-embedded and z80-zxspectrum to .rel
git-svn-id: branches/z80@44899 -
2020-04-20 23:36:15 +00:00
nickysn
2f68090dd6 * synchronized with trunk
git-svn-id: branches/z80@44898 -
2020-04-20 22:42:08 +00:00
pierre
cd6de6a4ca Regenerate all Makefiles
git-svn-id: trunk@44882 -
2020-04-20 13:58:47 +00:00
nickysn
0f323df7a3 * synchronized with trunk
git-svn-id: branches/z80@44873 -
2020-04-19 21:10:31 +00:00
Jonas Maebe
26ec913725 * regenerated makefiles
git-svn-id: trunk@44861 -
2020-04-19 17:33:47 +00:00
nickysn
b868d653bb * regenerated makefiles after sync with trunk
git-svn-id: branches/z80@44847 -
2020-04-19 13:00:50 +00:00
nickysn
daf22383b0 * makefiles regenerated with the zxspectrum target
+ added zxspectrum to ppudump

git-svn-id: branches/z80@44820 -
2020-04-19 01:56:06 +00:00
Jonas Maebe
4b59bcb0ca * regenerated makefiles
git-svn-id: trunk@44793 -
2020-04-18 16:08:25 +00:00
florian
5bab6201d5 * rebuild Makefiles
git-svn-id: trunk@44679 -
2020-04-10 19:42:14 +00:00
florian
43dc4c7ea0 * regenerated Makefiles
git-svn-id: trunk@44333 -
2020-03-21 20:59:59 +00:00
Károly Balogh
fb76f529ee amiga-likes: add fpwidestring unit to the RTL build
git-svn-id: trunk@44309 -
2020-03-18 00:32:48 +00:00
pierre
a09e40945c Regenerate all Makefile's after commit #43472
git-svn-id: trunk@43478 -
2019-11-15 14:47:02 +00:00
pierre
5ed7bd35df Update all trunk/fpcsrc Makefile's after commit 42749
git-svn-id: trunk@42750 -
2019-08-20 15:58:10 +00:00
Jonas Maebe
128bf046b4 * regenerated Makefiles with LLVM bitcode installation support
git-svn-id: branches/debug_eh@41914 -
2019-04-20 18:56:45 +00:00
pierre
74fed2a4cd Regenerate Makefile's after fpcmake change in commit #41721
git-svn-id: trunk@41723 -
2019-03-17 14:45:03 +00:00
Károly Balogh
cb5a1ed727 build/install fixes for the new sortbase unit for amiga, atari, aros and morphos
git-svn-id: trunk@41183 -
2019-02-03 02:06:32 +00:00
nickysn
248fd313f8 + introduced unit SortBase, which implements the foundation for pluggable
sorting algorithms. A default QuickSort implementation is provided by the
  unit. Other units can be added, to provide other sorting algorithms (e.g.
  HeapSort, MergeSort, IntroSort, etc.)
* TList and TFPList updated to use the current default sorting algorithm defined
  in SortBase for their .Sort method.

git-svn-id: trunk@41167 -
2019-02-02 20:06:50 +00:00
Károly Balogh
c3607e0059 aros: only build lineinfo for i386 for now. FPC on x86_64 doesn't support stabs at all and the Amiga-specific lineinfo unit has no ARM support
git-svn-id: trunk@41095 -
2019-01-28 13:11:55 +00:00
Károly Balogh
40630653b7 aros: fixed lineinfo to build from amicommon
git-svn-id: trunk@41093 -
2019-01-28 06:01:54 +00:00
Károly Balogh
5182dc37af haiku-x86_64: regenerated all Makefiles, take 2
git-svn-id: trunk@40758 -
2019-01-04 03:18:42 +00:00
yury
a29290202f * Regenerated makefiles to support x86_64-android.
git-svn-id: trunk@39958 -
2018-10-17 17:12:20 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
pierre
fe61157cae Update all rtl Makefile's
git-svn-id: trunk@39824 -
2018-09-27 06:55:12 +00:00
Jeppe Johansen
2aaf481d89 Regenerated makefiles.
git-svn-id: branches/laksen/riscv_new@39476 -
2018-07-20 10:40:57 +00:00
nickysn
65d8836952 * updated dependencies of unit ports (objpas and x86 is no longer required on
certain platforms) and regenerated makefiles

git-svn-id: trunk@39373 -
2018-07-04 00:33:12 +00:00
pierre
d6be56e225 Regenerated Makefile's after addition of ppas and ppaslink script removal in rev 38745
git-svn-id: trunk@38750 -
2018-04-12 15:23:03 +00:00
Károly Balogh
2968ce41e1 aros: do not specify dos as an explicity dependency for extpas. depend on buildrtl instead.
git-svn-id: trunk@38313 -
2018-02-22 12:25:04 +00:00
pierre
595938637e Add explicit FPC_SYSTEM_OPT variable that is only used for compilation of system units, thus allowing to explicitly pass -Sf option
git-svn-id: trunk@37890 -
2018-01-02 16:50:58 +00:00
florian
5bedaf11f4 * fpcmake.inc and Makefiles renerated after last commit
git-svn-id: trunk@37834 -
2017-12-27 15:08:18 +00:00
pierre
d18627f0af * Update all fpcsrc Makefile's using latest fpcmake version 2017-09-21 rev 37286
git-svn-id: trunk@37462 -
2017-10-16 00:27:27 +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
nickysn
748428b637 + support the KOI8-R and KOI8-U Cyrillic encodings
git-svn-id: trunk@36445 -
2017-06-07 13:51:53 +00:00
nickysn
fce5fbd726 + added cp3021 (Bulgarian MIK) code page support
git-svn-id: trunk@36444 -
2017-06-07 13:19:20 +00:00
nickysn
396eebbfb5 + added support for iso8859-[3,4,6,7,8,9,10,11,13,14,15,16]
* charmap .txt files in rtl/ucmaps for iso8859-[1,2,5] also updated

git-svn-id: trunk@36425 -
2017-06-05 16:36:24 +00:00
nickysn
35be7348fb + added code pages 737, 775, 857, 860, 861, 862, 863, 864, 865 and 869
git-svn-id: trunk@36423 -
2017-06-05 14:25:15 +00:00
nickysn
ef25c33d69 + added cp855 to the implicit unit list in the rtl makefiles
git-svn-id: trunk@36421 -
2017-06-05 12:19:01 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +00:00
Károly Balogh
d084bd0d3b aros: implemented pascal sysinit, will be shared across all cpus. also refactored the RTL build
git-svn-id: trunk@35237 -
2017-01-05 00:21:59 +00:00
marcus
7eba7122d2 AROS: ABIv1 AmigaDOS unit
git-svn-id: trunk@35067 -
2016-12-04 16:58:59 +00:00
marcus
bebef242d4 AROS: Initial ABIv1 Support
git-svn-id: trunk@35066 -
2016-12-04 15:41:35 +00:00
marcus
114a43e6ef AROS: fixed TTask type
git-svn-id: trunk@35064 -
2016-12-04 13:45:04 +00:00
marcus
85e485826a AROS: Startupcode for x86_64 with stack extent feature
git-svn-id: trunk@35049 -
2016-12-03 19:29:00 +00:00
marcus
b02d541e78 AROS: x86_64 needs also BINCOMPAT, TTask fixed type for 64 bit
git-svn-id: trunk@35028 -
2016-12-01 17:22:11 +00:00
marcus
f3d080f57a AROS: improve ARM-startupcode with Alloc own stack, if OS stack is too small
git-svn-id: trunk@34901 -
2016-11-15 19:33:46 +00:00
marcus
3207a346e1 AROS: arm needs AROS_FLAVOUR_BINCOMPAT defines
git-svn-id: trunk@34895 -
2016-11-13 21:05:12 +00:00
marcus
328772cc46 AROS: return code and comments in startupcode
git-svn-id: trunk@34827 -
2016-11-06 19:23:28 +00:00
marcus
f8a7708741 AROS: startupcode for arm-aros
git-svn-id: trunk@34820 -
2016-11-06 17:32:40 +00:00
Károly Balogh
7c1c964c28 arm-aros: enabled basic AROS on ARM build
git-svn-id: trunk@34811 -
2016-11-06 14:40:02 +00:00
Károly Balogh
d5d62b7675 aros: startup code tweaks for i386, to keep libbase untouched in eax
git-svn-id: trunk@34418 -
2016-09-03 07:59:32 +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
marcus
e38e051425 Amicommon: Unified parameterhandling for Amiga, AROS, MorphOS
git-svn-id: trunk@33528 -
2016-04-17 15:31:18 +00:00
marcus
62c4ff0e21 AROS: BackTraceStrFunc for AROS via debug.library, enable with EnableBackTraceStr()
git-svn-id: trunk@33261 -
2016-03-17 19:12:56 +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
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
Károly Balogh
7eb05ba2ab AROS: use BPTR type as filehandle. BPTR is now PtrInt instead of a Pointer, because it's usually not directly referenceable, and that allows interoperability with THandle type
git-svn-id: trunk@31181 -
2015-06-29 23:11:02 +00:00
Károly Balogh
77bdd83bfc AROS/x86_64: regenerated Makefiles
git-svn-id: trunk@31177 -
2015-06-29 00:09:06 +00:00
marcus
627d63e7af AROS: Startup code for x64
git-svn-id: trunk@31165 -
2015-06-28 14:51:50 +00:00
Károly Balogh
cdfe930c31 Amiga-likes: fix the same header issues in Amiga and AROS, which was fixed for MorphOS in r30917
git-svn-id: trunk@31151 -
2015-06-23 23:22:22 +00:00
Károly Balogh
1a53f6a799 AROS: in agreement with Marcus Sackrow, AThreads is now enabled for AROS, and the old AROS-specific threading implementation is zapped
git-svn-id: trunk@31008 -
2015-06-07 18:35:50 +00:00
Károly Balogh
6afcca7cd3 Amiga-likes: preparations for inclusion of AThreads into the RTL buildprocess
git-svn-id: trunk@30923 -
2015-05-28 00:47:35 +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
Jonas Maebe
89418d23e5 * regenerated Makefiles with Linux/AArch64 support
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
marcus
ff56b81ad3 AROS: Copy WBArgs to argv so its available for Objpas.ParamStr()
git-svn-id: trunk@30886 -
2015-05-19 16:56:20 +00:00
marcus
ebf9c07f41 AROS: RKM demands a Forbid before reply WBStartupMsg
git-svn-id: trunk@30813 -
2015-05-06 16:44:11 +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
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
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
Károly Balogh
3cdf2d0e53 AROS: fixed the new do_filesize() code to build on AROS.
git-svn-id: trunk@29381 -
2015-01-04 01:55:49 +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
marcus
34a726b89d AROS: hooked the new debug stuff into the AROS RTL, to be compatible with MorphOS and Amiga
git-svn-id: trunk@28703 -
2014-09-21 17:05:48 +00:00
marcus
8ec15cb6ba AROS: some bugfixes for threading
git-svn-id: trunk@28684 -
2014-09-17 15:19:40 +00:00
Károly Balogh
26f8a732e8 aros: no executable flag in the SVN for source files
git-svn-id: trunk@28683 -
2014-09-16 22:22:03 +00:00
marcus
980abaa9ba AROS: introduced threading without additional library
git-svn-id: trunk@28682 -
2014-09-16 19:32:56 +00:00
marcus
203089fe1a AROS: sockets, fcl-net, fcl-web included
git-svn-id: trunk@28671 -
2014-09-15 18:33:26 +00:00
Károly Balogh
fbfcda2926 AROS: apparently, the NewStackSwap() function is just a half arsed copy of MorphOS/NewPPCStackSwap(), so it doesn't accept nil as its third argument. Therefore we pass a pointer to some area we won't use anyway. this fixes crashes in the stack swapping code on hosted systems.
git-svn-id: trunk@28636 -
2014-09-09 17:47:13 +00:00
Károly Balogh
5a10472729 AROS: massively enhanced i386 startup code, including
- fixed to always update the stacksize in __stklen, so the RTL knows the correct stacksize (StackLength in system unit is correct)
- this probably also fixes stack checking or opens the way to have a working stack checking on AROS, but that was not tested
+ call PASCALMAIN via exec/NewStackSwap() and provide a larger stack when the pre-set value is higher than what the system provides
+ use operatingsystem_result to simplify return code handling

These changes bring the AROS startup's stack handling to the Amiga/m68k and MorphOS level

git-svn-id: trunk@28611 -
2014-09-07 14:05:42 +00:00
marcus
85700afd0d AROS: StdErrout introduced, string fixes, preparations for threading
git-svn-id: trunk@28602 -
2014-09-05 18:45:00 +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
marcus
339ccbf610 AROS: Syscall-ified util and dos library
git-svn-id: trunk@28522 -
2014-08-26 19:41:37 +00:00
Károly Balogh
65f13ac118 amicommon: a common Amiga RTL implementation based on the current AROS one, and made AROS port to use it
git-svn-id: trunk@28507 -
2014-08-21 22:33:07 +00:00
Károly Balogh
ae0cc5d9e3 AROS: unlike on other Amiga-flavors, file handles can be negative but -1 on AROS
git-svn-id: trunk@28506 -
2014-08-21 20:25:21 +00:00
Károly Balogh
167fad359e AROS: syscall-ified the exec.library functions used by the RTL
git-svn-id: trunk@28464 -
2014-08-19 00:56:34 +00:00
Károly Balogh
4179e8812d AROS: initial RTL, based on the work by Marcus Sackrow. this is enough to have a working native compiler. contains duplicated code from the Amiga and MorphOS RTLs, but the three Amiga variants will be merged soon, and then it will go away.
git-svn-id: trunk@28445 -
2014-08-18 16:42:02 +00:00