Browse Source

* completely moerged (except for smartlink option) from fixes branch

carl 24 years ago
parent
commit
16397e1a39
1 changed files with 15 additions and 14 deletions
  1. 15 14
      rtl/go32v2/dpmiexcp.pp

+ 15 - 14
rtl/go32v2/dpmiexcp.pp

@@ -482,7 +482,7 @@ function dpmi_setjmp(var rec : dpmi_jmp_buf) : longint;
 {$ifndef CREATE_C_FUNCTIONS}
 external name 'FPC_setjmp';
 {$else CREATE_C_FUNCTIONS}
-[alias : 'FPC_setjmp'];
+[public, alias : 'FPC_setjmp'];
 begin
   asm
         pushl   %edi
@@ -1009,6 +1009,7 @@ var
    export name '_ori_exceptions';
 {$endif def DPMIEXCP_DEBUG}
   kbd_ori    : tseginfo;
+  int0_ori,
   npx_ori    : tseginfo;
   cbrk_ori,
   cbrk_rmcb  : trealseginfo;
@@ -1062,6 +1063,9 @@ begin
   get_pm_interrupt($75,_except);
   set_pm_interrupt($75,npx_ori);
   npx_ori:=_except;
+  get_pm_interrupt($0,_except);
+  set_pm_interrupt($0,int0_ori);
+  int0_ori:=_except;
   get_pm_interrupt(9,_except);
   set_pm_interrupt(9,kbd_ori);
   kbd_ori:=_except;
@@ -1251,6 +1255,12 @@ begin
   __djgpp__traceback_exit:=0;
 end;
 
+procedure djgpp_int0;
+begin
+  HandleError(200);
+end;
+
+
 procedure djgpp_exception_setup;
 [alias : '___djgpp_exception_setup'];
 var
@@ -1304,6 +1314,8 @@ begin
   kbd_ori.segment:=_except.segment;
   npx_ori.segment:=_except.segment;
   npx_ori.offset:=@djgpp_npx_hdlr;
+  int0_ori.segment:=_except.segment;
+  int0_ori.offset:=@djgpp_int0;
   if (go32_info_block.linear_address_of_primary_screen <> $a0000) then
    kbd_ori.offset:=@djgpp_kbd_hdlr
   else
@@ -1483,19 +1495,8 @@ end;
 {$endif IN_SYSTEM}
 {
   $Log$
-  Revision 1.6  2001-06-18 20:36:29  peter
-    * -Ur added
-
-  Revision 1.5  2001/06/13 18:27:14  peter
-    * missing exceptions for restoring (merged)
-
-  Revision 1.4  2000/10/05 21:56:45  pierre
-   + exceptions 18 and 19 contributed by Thomas Schatzl (merged)
-
-  Revision 1.3  2000/08/13 19:23:26  peter
-    * fixed double declared ___exit() (merged)
+  Revision 1.7  2001-11-24 14:42:19  carl
+  * completely moerged (except for smartlink option) from fixes branch
 
-  Revision 1.2  2000/07/13 11:33:39  michael
-  + removed logs
 
 }