-- Zusammenführen von r45995 in ».«:
U rtl/linux/i386/sighnd.inc
U rtl/linux/x86_64/sighnd.inc
A tests/webtbs/tw37468.pp
-- Aufzeichnung der Informationen für Zusammenführung von r45995 in ».«:
U .
-- Zusammenführen von r46207 in ».«:
U rtl/linux/i386/sighndh.inc
-- Aufzeichnung der Informationen für Zusammenführung von r46207 in ».«:
G .
-- Zusammenführen von r46208 in ».«:
G rtl/linux/i386/sighnd.inc
-- Aufzeichnung der Informationen für Zusammenführung von r46208 in ».«:
G .
-- Zusammenführen von r46210 in ».«:
U rtl/aix/sighnd.inc
U rtl/beos/i386/sighnd.inc
U rtl/go32v2/dpmiexcp.pp
U rtl/haiku/i386/sighnd.inc
U rtl/haiku/x86_64/sighnd.inc
U rtl/i8086/math.inc
U rtl/inc/genmath.inc
U rtl/linux/m68k/sighnd.inc
U rtl/linux/powerpc/sighnd.inc
U rtl/linux/powerpc64/sighnd.inc
U rtl/linux/sparc/sighnd.inc
U rtl/linux/sparc64/sighnd.inc
G rtl/linux/x86_64/sighnd.inc
U rtl/netbsd/arm/sighnd.inc
U rtl/netbsd/m68k/sighnd.inc
U rtl/netbsd/powerpc/sighnd.inc
U rtl/netbsd/x86_64/sighnd.inc
U rtl/openbsd/i386/sighnd.inc
U rtl/openbsd/x86_64/sighnd.inc
U rtl/os2/system.pas
U rtl/solaris/i386/sighnd.inc
U rtl/solaris/sparc/sighnd.inc
U rtl/solaris/x86_64/sighnd.inc
U rtl/win32/system.pp
U rtl/win64/system.pp
U tests/webtbs/tw37468.pp
U rtl/wince/system.pp
-- Aufzeichnung der Informationen für Zusammenführung von r46210 in ».«:
G .
-- Zusammenführen von r46992 in ».«:
G rtl/linux/x86_64/sighnd.inc
A tests/webtbs/tw37468b.pp
-- Aufzeichnung der Informationen für Zusammenführung von r46992 in ».«:
G .
-- Zusammenführen von r47114 in ».«:
G rtl/linux/x86_64/sighnd.inc
G rtl/linux/i386/sighnd.inc
A tests/webtbs/tw37926.pp
-- Aufzeichnung der Informationen für Zusammenführung von r47114 in ».«:
G .
-- Zusammenführen von r47117 in ».«:
G rtl/linux/i386/sighnd.inc
G rtl/linux/x86_64/sighnd.inc
G rtl/linux/m68k/sighnd.inc
-- Aufzeichnung der Informationen für Zusammenführung von r47117 in ».«:
G .
git-svn-id: branches/fixes_3_2@47906 -
win/sysosh.inc, TEntryInformationOS:
+ new field SysInstance that will hold the address to the main program's SysInstance variable
win32/system.pp:
* rename SysInstance to FPCSysInstance and make it a PLongInt
* OsSetupEntryInformation: setup FPCSysInstance
* adjust initialization of SysInstance to use FPCSysInstance instead
win32/sysinit.inc:
* SysInstance is no longer an external
* initialize the OS.SysInstance field of EntryInformation
win64/system.pp:
* add a FPCSysInstance that's a pointer to SysInstance
win/winres.inc:
* SysInstance is now a pointer and has the same name on both Win32 and Win64
git-svn-id: trunk@33107 -
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 -
* 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 -
* Deprecated StartupInfo variable because it is not there for Delphi compatibility (Delphi apparently does not have such variable in interface of its System unit), and we don't have other reasons to export non-portable stuff.
git-svn-id: trunk@26810 -
* Unwind to DllEntry context only if called from DllEntry. Otherwise, terminate the entire process, making sure that RTL won't be finalized twice.
* Call DLL_process_detach_hook before RTL is finalized, not after.
git-svn-id: trunk@20367 -
- Also don't modify rsp in the middle of procedure, x86_64 targets use fixed stack.
- Cleaned outdated FPC_HAS_RIP_RELATIVE and VER2_2 defines.
git-svn-id: trunk@19460 -
* In Win32, reference TLS directory from SysInit units, allowing the module which needs TLS to be different from module which contains system unit.
* Don't write to TLS directory, as it can be placed into read-only memory.
git-svn-id: trunk@18028 -
Used to support TlsCallbacks.
Tls callback code added inside
ifdef FPC_USE_TLS_DIRECTORY.
NOTE: This code needs compiler changes also to work.
* win/systhread.inc:
Exec_Tls_callback: Callback for main executable.
Several new external variables:
FreePascal_TLS_callback, FreePascal_end_of_TLS_callback
need to be placed into .CRT$XL* section,
using name '.section .CRT$XLFPC __FPC_tls_callbacks'
extension to be provided by compiler change.
tls_callbacks : pointer; external name '___crt_xl_start__';
tls_data_start : pointer; external name '___tls_start__';
tls_data_end : pointer; external name '___tls_end__';
provided by linker script.
tls_index : DWord that will contain the automatic
TlsIndex generated by executable launch code (not used by
FPC code, but might be used by code from loaded objects).
_tls_used: TTlsdirectory record.
* win32/system.pp and win64/system.pp:
Code to force loading of _tls_used record.
git-svn-id: trunk@17893 -