sergei
|
74f9d719f1
|
* i386-win32 setjmp and longjmp: if SEH support is enabled, save/restore head of exception registration chain. Without this, a longjmp out of a function with exception frame(s) will leave these exception frames below ESP, which will fail integrity checks in OS and cause process termination if an exception occurs later on (or they may be overwritten by subsequent operations on stack and, again, cause undesired results).
* Additionally, use a branchless sequence to fix up result of longjmp.
git-svn-id: trunk@26238 -
|
2013-12-16 10:12:36 +00:00 |
|
sergei
|
c0f49951b1
|
* Fixed i386 longjmp, it must not return 0 if 'value' argument happens to be 0.
git-svn-id: trunk@22781 -
|
2012-10-19 19:49:33 +00:00 |
|
sergei
|
b36a930f26
|
- Cleaned out REGCALL defines
git-svn-id: trunk@19482 -
|
2011-10-13 17:02:23 +00:00 |
|
florian
|
24fea58b92
|
+ initial implementation of iso style gotos in iso mode
* made setjmp/longjmp accessible to the compiler by compiler proc, they are used by the iso goto code
git-svn-id: trunk@15711 -
|
2010-08-05 19:20:46 +00:00 |
|
yury
|
c4ed91b9ff
|
* Fixed warnings about EBP based access.
* Improved SetJmp and longJmp by not using stack frame.
git-svn-id: trunk@9112 -
|
2007-11-03 18:05:12 +00:00 |
|
peter
|
4ace790492
|
* remove $Log
git-svn-id: trunk@231 -
|
2005-06-07 09:47:55 +00:00 |
|
fpc
|
790a4fe2d3
|
* log and id tags removed
git-svn-id: trunk@42 -
|
2005-05-21 09:42:41 +00:00 |
|
fpc
|
50778076c3
|
initial import
git-svn-id: trunk@1 -
|
2005-05-16 18:37:41 +00:00 |
|
peter
|
16b121f8c4
|
* unblock signal in signalhandler, remove the sigprocmask call
from setjmp
|
2005-04-24 21:19:22 +00:00 |
|
peter
|
e417e34496
|
* truncate log
|
2005-02-14 17:13:06 +00:00 |
|
peter
|
ae8b7b153b
|
* include file cleanup
|
2005-02-13 20:01:37 +00:00 |
|
peter
|
7395e7e546
|
* restore sigprocmask for linux
|
2005-01-20 16:38:28 +00:00 |
|
peter
|
0d3948fc5f
|
* register calling updates
|
2003-12-04 21:42:07 +00:00 |
|
peter
|
8f8b47194a
|
* REGCALL define added
|
2003-11-11 21:08:17 +00:00 |
|
peter
|
9f31783a0a
|
* old logs removed and tabs fixed
|
2002-09-07 16:01:16 +00:00 |
|
michael
|
650fbb86aa
|
+ removed logs
|
2000-07-13 11:32:24 +00:00 |
|
michael
|
e7aca136a1
|
+ Initial import
|
2000-07-13 06:29:38 +00:00 |
|
pierre
|
d7afdbd8e6
|
* Preserve all registers in SetJmp
* set EAX to value filed in LongJmp instead of only 0 or 1
|
2000-05-04 09:47:40 +00:00 |
|
pierre
|
beecf1ec51
|
* remove fninit in longjump
|
2000-03-31 23:12:09 +00:00 |
|
florian
|
95d572ca04
|
* we don't need to to finit twice ...
|
2000-02-18 16:16:13 +00:00 |
|
florian
|
ff96d13e5f
|
* fixed constants in rtti
* longjmp does now a finit
|
2000-02-18 15:23:01 +00:00 |
|
florian
|
4dd95e6a80
|
* longjump does now a finit
|
2000-02-09 22:12:54 +00:00 |
|
peter
|
6b66a55cd6
|
* truncated log
|
2000-02-09 16:59:28 +00:00 |
|
daniel
|
ec29a31834
|
* copyright 2000
|
2000-01-07 16:41:28 +00:00 |
|
pierre
|
e33295ceb0
|
* loading of esp value corrected
|
1999-08-18 10:42:13 +00:00 |
|
peter
|
af8a04a5af
|
* use external names
* removed all direct assembler modes
|
1999-03-01 15:40:48 +00:00 |
|
peter
|
4620a73a9b
|
* FPC_ names
* Heap manager is now system independent
|
1998-09-14 10:48:00 +00:00 |
|
peter
|
bd57e42086
|
* $ifdef ver0_99_5 updates
|
1998-08-11 00:04:46 +00:00 |
|
pierre
|
b495ca5d7d
|
* problem with asmmode for bugfix branch
|
1998-08-04 18:22:02 +00:00 |
|
michael
|
11cbb1fd82
|
+ Initial implementation
|
1998-07-28 20:36:41 +00:00 |
|