sergei
|
6788fd6433
+ Win64 SEH: install a top-level exception handler around thread functions. This was a missing puzzle piece of SEH support. Now behavior of unhandled exceptions in non-main threads is consistent with that of main thread, and, in general, behavior of SEH-enabled RTL is consistent with one without SEH.
|
12 rokov pred |
sergei
|
bc4c1149c3
+ Native threadvar implementation for Win32 and Win64 (most of it, but not yet complete).
|
12 rokov pred |
florian
|
0e9139c914
* retrieve stack size correctly
|
13 rokov pred |
florian
|
a6a1f2a0a1
* properly retrieve the stacktop on win64
|
13 rokov pred |
Tomas Hajny
|
d442d14e0c
+ FileNameCasePreserving added - see #18066 in Mantis
|
13 rokov pred |
sergei
|
cd44c5f45c
Win32 and Win64, fixed DLL exit sequence, resolves #14603:
|
13 rokov pred |
sergei
|
ea37d71f67
- win64: removed empty procedures remove_exception_handlers and fpc_cpucodeinit.
|
13 rokov pred |
sergei
|
cbad0abab5
+ Platform-specific exception support for x86_64-win64. Enable by cycling with OPT=-dTEST_WIN64_SEH.
|
13 rokov pred |
florian
|
562932a2c9
* change dllparam into PtrInt, this is required for 64 bit systems, patch based on Gennadiy's patch in #21089, resolves #21089
|
13 rokov pred |
sergei
|
cd347e40b2
* Moved existing exception-related definitions into separate include file seh64.inc, and added some more WinAPI definitions needed for SEH.
|
13 rokov pred |
sergei
|
ebb2205c63
* Moved TExceptionRecord definition to sysos.inc, it is identical for all Windows targets.
|
13 rokov pred |
sergei
|
bcbd25568e
* Call InitHeap before InitSystemThreads in TLS callback (necessary because InitSystemThreads calls RelocateHeap), and skip both of them in initialization section of system.pp if they have been called from TLS callback. This restores correct initialization sequence which was broken by r19779, resulting in lots of debug messages about corrupted heap when running tests/test/theapthread.pp
|
14 rokov pred |
sergei
|
32094761ef
* win32/system.pp, win64/system.pp: Moved duplicated declarations of WinAPI functions to sysos.inc (Florian's comment about include ordering is no longer true, wstrings.inc comes after sysos.inc these days).
|
14 rokov pred |
paul
|
1ccf16358c
rtl: init widestring and unitcodestring managers before initialization of Standard IO files (stdin,stdout,stderr)
|
14 rokov pred |
sergei
|
8e41ecfd54
* Made a stupid mistake in r19460: restoring rbp from rbp-relative reference will obviously crash. This went unnoticed however, because PASCALMAIN does not return and wrong code is never executed. Fixed by storing rbp in non-volatile register instead of local var.
|
14 rokov pred |
sergei
|
1404b7397a
- Win64, EXE_Entry: removed messing with gs:[0], it won't work anyway.
|
14 rokov pred |
sergei
|
268d8685e7
- Removed SysResetFPU/SysInitFPU from win32/win64 system unit initialization. It is redundant here because it is called from fpc_initializeunits->fpc_cpuinit (on win64) or from fpc_cpucodeinit (on win32).
|
14 rokov pred |
sergei
|
ad5d2ccabb
* Moved command line handling and randomize() to syswin.inc, so a single copy of code is used for both win32 and win64. This implies that apostrophe is no longer supported as quoting symbol in win64.
|
14 rokov pred |
sergei
|
f35a8179b1
* Status codes are identical for win32 and win64, moved them to syswin.inc.
|
14 rokov pred |
sergei
|
ad94e5e719
* Link TLS directory and callbacks only into executables. It is not necessary for DLLs, because callback functionality is contained in DllMain. Moreover, DLLs with TLS directory cannot be dynamically loaded in Windows versions prior to Vista.
|
14 rokov pred |
sergei
|
50952945e1
* Moved WideString-related code, which is identical for Win32 and Win64, into syswin.inc
|
14 rokov pred |
sergei
|
cd94bb5edf
* tls_index must be renamed everywhere, forgotten part of r17943.
|
14 rokov pred |
pierre
|
46a6be05a5
* More dummy code to avoid removal of required labels
|
14 rokov pred |
pierre
|
bffd571f9d
* win/sysos.inc: TTlsDirectory, new record type
|
14 rokov pred |
sergei
|
3a7ac49cc2
- Removed Win32Wide2AnsiMove, using Win32Unicode2AnsiMove for both Unicode-to-ansi and Wide-to-ansi conversions. In general, we don't need two different conversion routines in wideStringManager, as long as they differ only in PWideChar vs PUnicodeChar (these types are identical).
|
14 rokov pred |
florian
|
a0c25dc0f9
- removes Thread_count from the system unit of several OSes: the value of this variable was unpredictable and the hebaviour was not fixable, resolves #18089
|
15 rokov pred |
pierre
|
ed1c558726
* Fix RIP relative assmebler code of rev 16410
|
15 rokov pred |
pierre
|
709d36a1d0
+ Add signals unit for win64
|
15 rokov pred |
pierre
|
61547f6a5a
* Fix incorrect instruction size
|
15 rokov pred |
pierre
|
90d1dac1d3
+ Add StartupConsoleMode as for win32
|
16 rokov pred |