Commit Graph

1083 Commits

Author SHA1 Message Date
sergei
e79e038f9c + Win32/Win64 SEH: STATUS_FLOAT_MULTIPLE_(FAULTS|TRAPS) need additional handling. Makes floating-point exceptions consistent between x87 and SSE.
git-svn-id: trunk@27177 -
2014-03-17 22:49:29 +00:00
sergei
b32579278b * Forgot to increase size of array in r27146
git-svn-id: trunk@27174 -
2014-03-17 21:28:16 +00:00
sergei
17b5359db0 * Win32 SEH: handle 'Athlon prefetch bug' and SSE detection exceptions in __FPC_default_handler.
git-svn-id: trunk@27164 -
2014-03-16 17:53:29 +00:00
sergei
d728a1636d + Implemented back-tracing with Win32 SEH (not very clean, but works).
git-svn-id: trunk@27146 -
2014-03-15 17:40:07 +00:00
sergei
3a55c4301e * Since StackTop=StackBottom+StackLength, any two variables are sufficient to describe stack, the third one is redundant.
* 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 -
2014-03-12 19:48:03 +00:00
sergei
abc1468a7a * Disabled regvars in __FPC_default_handler by adding an empty assembler block, it is necessary because RtlUnwind does not preserve registers.
* Fixed backtrace for non-language exceptions in programs without SysUtils unit.

git-svn-id: trunk@27093 -
2014-03-11 12:34:36 +00:00
marco
d9df0ff9a8 * fixed typo (no space between serial and \ ) and regenned with a fpcmake that is NOT 3 years old.
git-svn-id: trunk@26872 -
2014-02-25 08:21:19 +00:00
michael
3a34a371b3 * Should compile without c operators
git-svn-id: trunk@26869 -
2014-02-24 15:36:51 +00:00
michael
96c24dcccc * Build serial unit
git-svn-id: trunk@26864 -
2014-02-24 10:00:37 +00:00
michael
c2a9dccc14 * Serial unit from Mark Morgan LLoyd
git-svn-id: trunk@26856 -
2014-02-23 18:34:25 +00:00
sergei
d004607876 * fpc_raiseexception does not return a result.
git-svn-id: trunk@26837 -
2014-02-22 15:18:31 +00:00
sergei
c83f4c5ddc * Windows targets: removed 'errno' threadvar, OS error codes can be passed directly to Errno2InOutRes().
git-svn-id: trunk@26815 -
2014-02-19 07:28:46 +00:00
sergei
489b23cecd * Made TStartupInfo type common for win32 and win64 and updated as suggested by Mantis #23074.
* 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 -
2014-02-18 16:49:08 +00:00
sergei
53f3bc052d - Do not compile non-SEH parts of exception handling if SEH is used.
git-svn-id: trunk@26805 -
2014-02-18 01:54:15 +00:00
yury
73c26bd6be * mipsel-android: Regenerated makefiles. From now the mipsel-android target can be built and used.
git-svn-id: trunk@26705 -
2014-02-07 12:37:17 +00:00
Tomas Hajny
2e004af6e7 + character sets for central Europe added also to Makefiles as implicit units
git-svn-id: trunk@26528 -
2014-01-20 00:26:15 +00:00
florian
2a2184bc40 * regenerated makefiles affected by the last change
git-svn-id: trunk@26503 -
2014-01-18 10:21:41 +00:00
marco
f09374a197 * winsock(and -2), sockets and gpm to rtl-extra.
git-svn-id: trunk@26426 -
2014-01-11 19:45:37 +00:00
marco
dea2c743d5 * Initial active version of
rtl-extra : objects matrix ucomplex
   rtl-objpas: convutil(s) dateutil(s) stdconvs variants varutils
   

git-svn-id: trunk@26398 -
2014-01-05 19:20:15 +00:00
paul
14a34239cc rtl: add cp856 to makefiles
git-svn-id: trunk@26387 -
2014-01-05 06:03:28 +00:00
marco
a001e12d04 * rtl-console initial version.
git-svn-id: trunk@26372 -
2014-01-03 22:19:02 +00:00
sergei
b82b6da493 + Win32 SEH: to avoid memory leaks, it is necessary to free exception object for non-FPC exceptions on re-raise (it will be re-created by next exception handler).
git-svn-id: trunk@26241 -
2013-12-16 14:47:26 +00:00
sergei
695f271b8c + Win32 SEH: actually install the exception handler around main procedure (write to fs:(0) was missing).
git-svn-id: trunk@26239 -
2013-12-16 13:25:44 +00:00
sergei
179586f589 + SEH support for Win32. Enable by cycling with OPT=-dTEST_WIN32_SEH.
Although basic things work (no regressions in test suite, also with TEST_OPT=-O2), there are some secondary issues/TODOs:
- Exception frame around PASCALMAIN is not properly removed in DLLs
- No stack traces yet
- Stack overallocated in finalizer procedures, their entry/exit code needs cleanup
- Signals unit is probably completely broken.

git-svn-id: trunk@26225 -
2013-12-12 12:43:46 +00:00
sergei
5ada0ff373 - Removed debugging code around SetUnhandledExceptionFilter. This function sets some global variable in kernel32.dll, and does not change fs:[0].
git-svn-id: trunk@26179 -
2013-12-04 09:51:57 +00:00
nickysn
1bea98995b * regenerated fpcmake makefiles after r25642
git-svn-id: trunk@25644 -
2013-10-05 10:11:27 +00:00
Jonas Maebe
da7a67bc74 + FPCRTL_FILESYSTEM_SINGLE_BYTE_API define that is set for targets where we
use a single byte API for file system operations
  + FPCRTL_FILESYSTEM_TWO_BYTE_API define that is set for targets where we
    use a single byte API for file system operations
   o in principle, both can be set if both are supprted and implemented in
     the RTL in order to minimise conversions depending on the scenario

git-svn-id: branches/cpstrrtl@24991 -
2013-06-27 21:37:39 +00:00
Jonas Maebe
ecd3cba02b * synchronised with trunk up to r24912
o resolved conflict in updated morphos sysutils unit
   o moved code that had been added to the now deleted  sysunix.inc to the
     unix-specific block of the fpwidestring unit's init code

git-svn-id: branches/cpstrrtl@24913 -
2013-06-17 20:50:02 +00:00
svenbarth
930b76e8fb Fix compilation of WinCE. Change the fixed UNICODE define of WinCE to FPC_OS_UNICODE, so that it won't be undefined when changing the mode/string type and that the usage of a UNICODE API is independant of the mode.
Also adjusted all Windows (Win32/64/CE) units to define a "UNICODE" if "FPC_OS_UNICODE" is defined (except the Jedi units).
Also the common RTL units that checked for UNICODE now check for FPC_OS_UNICODE.

git-svn-id: trunk@24420 -
2013-05-04 11:06:32 +00:00
pierre
78a7043352 Regenerate all Makefiles with an up-to-date fpcmake binary (dummy commit)
git-svn-id: trunk@24367 -
2013-04-29 12:30:54 +00:00
florian
3d7033d81e * Makefiles regenerated
git-svn-id: trunk@24325 -
2013-04-25 20:25:57 +00:00
paul
a592e77f35 rtl: add missing windows codepages (mantis #0024294)
git-svn-id: trunk@24295 -
2013-04-22 01:48:12 +00:00
florian
af6bf244f2 * version update
* do not use default config file

git-svn-id: trunk@24215 -
2013-04-09 13:06:26 +00:00
florian
5ee9fe75e9 * unicodenumtable is also an implicitly built unit
git-svn-id: trunk@24062 -
2013-03-29 18:48:59 +00:00
paul
d80f47a601 rtl: apply similar to r24022-r24026 changes made by Jonas to other targets
git-svn-id: trunk@24027 -
2013-03-28 02:37:17 +00:00
paul
db357320d7 rtl: install all cpXXX .ppu and .o files
git-svn-id: trunk@23802 -
2013-03-12 11:44:15 +00:00
paul
5157304998 rtl: build fpwidestring for the same platforms as character unit
git-svn-id: trunk@23801 -
2013-03-12 03:23:08 +00:00
paul
e379daaf9c compiler, rtl: move cpXXXX.pas files from compiler to RTL\charmaps directory and cleanup them, enable charmaps building for the majority of targets
git-svn-id: trunk@23799 -
2013-03-12 01:35:25 +00:00
paul
b9a33b2b0a rtl: enabled collations building for win32 target
git-svn-id: trunk@23731 -
2013-03-08 15:25:49 +00:00
yury
2fc220cc6c * Regenerated makefiles.
git-svn-id: branches/targetandroid@23410 -
2013-01-16 14:52:36 +00:00
yury
d26f0552a0 * Sync with trunk r23404.
* Regenerated makefiles.

git-svn-id: branches/targetandroid@23405 -
2013-01-16 13:21:51 +00:00
sergei
bc4c1149c3 + Native threadvar implementation for Win32 and Win64 (most of it, but not yet complete).
git-svn-id: trunk@23359 -
2013-01-10 19:13:02 +00:00
Jonas Maebe
598d2feeb6 + rtldefs.inc file for every target that contains defines shared by multiple
RTL units. Comes with a FPCRTL_FILESYSTEM_UTF8 define that can be
    activated for targets whose single byte filesystem interface enforces
    UTF-8; included in inc/systemh.inc and unix/cwstring.pp until now
  + DefaultFileSystemCodePage variable that holds the code page used for
    communicating with the OS single byte file system APIs, and for the
    strings returned by those same APIs. Initialized with
   o the result of GetACP in the system unit of Windows platforms, except for
     WinCE which uses UTF-8 since its file system OS API calls already use
     the UTF-16 versions
   o CP_UTF8 on Unix platforms with FPCRTL_FILESYSTEM_UTF8 defined, and with
     DefaultSystemCodePage on other Unix platforms
   o DefaultSystemCodePage on Java/Android JVM targets
  + DefaultRTLFileSystemCodePage variable that holds the code page used to
    encode strings returned by RTL routines that return filenames obtained
    from OS API calls. By default the same as DefaultFileSystemCodePage on
    all platforms. Separate from DefaultFileSystemCodePage for clarity on
    platforms that may use either utf-16 or single byte OS API calls to
    send/receive file names (such as most Windows platforms)
  + new scpFileSystemSingleByte enum that can be passed to
    GetStandardCodePage() to get the default code page for OS single byte file
    system APIs, with implementations for Unix and Windows
  + SetMultiByteFileSystemCodePage() procedure to override the value of
    DefaultFileSystemCodePage

  In principle, in the long run unchanged programs only using generic
  ansistrings and unicodestrings should (mostly) behave the same as in
  FPC 2.6.0 as far as RTL-level file system APIs are concerned if
  they set DefaultFileSystemCodePage and DefaultRTLFileSystemCodePage
  to DefaultSystemCodePage at the start of their execution

git-svn-id: branches/cpstrrtl@22466 -
2012-09-27 07:54:06 +00:00
tom_at_work
810adb2f65 Merge with trunk r22040. Regenerated makefiles.
git-svn-id: branches/targetandroid@22046 -
2012-08-09 08:12:34 +00:00
florian
f6f6df2780 * removed line breaks
git-svn-id: trunk@21927 -
2012-07-17 20:13:21 +00:00
florian
25b80bedf9 * get rid of tabs with wrong size
git-svn-id: trunk@21913 -
2012-07-15 14:04:50 +00:00
florian
3d76823929 * load StackTop and StackBottom correctly on windows, also in libraries
git-svn-id: trunk@21912 -
2012-07-15 14:03:45 +00:00
tom_at_work
4150f0a2fb Rebase with r21814
git-svn-id: branches/targetandroid@21815 -
2012-07-07 23:09:20 +00:00
florian
2ce563710a * another rule fix
git-svn-id: trunk@21433 -
2012-05-29 18:19:57 +00:00
florian
551bd5e0c2 + added missing dependencies to win32 makefile
git-svn-id: trunk@21397 -
2012-05-27 17:22:04 +00:00