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

This commit is contained in:
carl 2001-11-24 14:42:19 +00:00
parent dab4b43521
commit 16397e1a39

View File

@ -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.7 2001-11-24 14:42:19 carl
* completely moerged (except for smartlink option) from fixes branch
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.2 2000/07/13 11:33:39 michael
+ removed logs
}