From 9984dd16b0e827b24e3cca0dec8d4348e79f6fea Mon Sep 17 00:00:00 2001 From: Jonas Maebe <jonas@freepascal.org> Date: Tue, 7 Dec 2004 14:02:24 +0000 Subject: [PATCH] * fix cdecl name problems (patch from Tomas) --- rtl/go32v2/dpmiexcp.pp | 31 ++++++++++++++++--------------- rtl/go32v2/system.pp | 13 ++++++++----- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/rtl/go32v2/dpmiexcp.pp b/rtl/go32v2/dpmiexcp.pp index 8e17933d6d..6907b34637 100644 --- a/rtl/go32v2/dpmiexcp.pp +++ b/rtl/go32v2/dpmiexcp.pp @@ -175,19 +175,19 @@ function dpmi_set_coprocessor_emulation(flag : longint) : longint; function __djgpp_set_sigint_key(new_key : longint) : longint;cdecl; {$ifdef IN_SYSTEM}forward;{$endif IN_SYSTEM} {$ifndef CREATE_C_FUNCTIONS} -external name '___djgpp_set_sigint_key'; +external; {$endif CREATE_C_FUNCTIONS} function __djgpp_set_sigquit_key(new_key : longint) : longint;cdecl; {$ifdef IN_SYSTEM}forward;{$endif IN_SYSTEM} {$ifndef CREATE_C_FUNCTIONS} -external name '___djgpp_set_sigquit_key'; +external; {$endif CREATE_C_FUNCTIONS} function __djgpp__traceback_exit(sig : longint) : longint;cdecl; {$ifdef IN_SYSTEM}forward;{$endif IN_SYSTEM} {$ifndef CREATE_C_FUNCTIONS} -external name '__djgpp__traceback_exit'; +external; {$endif CREATE_C_FUNCTIONS} {$ifndef IN_SYSTEM} @@ -759,13 +759,13 @@ end; ****************************************************************************} var - __djgpp_selector_limit: cardinal; external name '__djgpp_selector_limit'; + ___djgpp_selector_limit: cardinal; external name '___djgpp_selector_limit'; {$ifdef CREATE_C_FUNCTIONS} {$ifdef IN_DPMIEXCP_UNIT} -procedure ___exit(c:longint);cdecl;external name '___exit'; +procedure __exit(c:longint);cdecl;external; {$endif} function except_to_sig(excep : longint) : longint; @@ -920,15 +920,13 @@ begin err('Exception '); itox(signum, 2); err(' at eip='); -{ - ( * For fake exceptions like SIGABRT report where `raise' was called. * ) + (* For fake exceptions like SIGABRT report where `raise' was called. *) if fake and (djgpp_exception_state_ptr^.__cs = _my_cs) and (djgpp_exception_state_ptr^.__ebp >= djgpp_exception_state_ptr^.__esp) - and (djgpp_exception_state_ptr^.__ebp >= &end) - and (djgpp_exception_state_ptr^.__ebp < __djgpp_selector_limit) then - itox(djgpp_exception_state_ptr^.__ebp + 1), 8); + and (djgpp_exception_state_ptr^.__ebp >= endtext) + and (djgpp_exception_state_ptr^.__ebp < ___djgpp_selector_limit) then + itox(djgpp_exception_state_ptr^.__ebp + 1, 8) else -} itox(djgpp_exception_state_ptr^.__eip, 8); end else @@ -998,7 +996,7 @@ begin simple_exit: if exceptions_on then djgpp_exception_toggle; - ___exit(-1); + __exit(-1); end; {$endif CREATE_C_FUNCTIONS} @@ -1047,7 +1045,7 @@ begin errln('FPC triple exception, exiting !!! '); if (exceptions_on) then djgpp_exception_toggle; - ___exit(1); + __exit(1); end; err('FPC double exception, exiting due to signal '); itox(sig, 4); @@ -1382,7 +1380,7 @@ begin if assigned(djgpp_exception_state_ptr) then { This exits, does not return. } do_faulting_finish_message(djgpp_exception_state_ptr=@fake_exception); - ___exit(-1); + __exit(-1); __djgpp__traceback_exit:=0; end; @@ -1618,7 +1616,10 @@ end; {$endif IN_SYSTEM} { $Log$ - Revision 1.16 2004-11-29 20:39:36 peter + Revision 1.17 2004-12-07 14:02:24 jonas + * fix cdecl name problems (patch from Tomas) + + Revision 1.16 2004/11/29 20:39:36 peter fixed compilation Revision 1.15 2004/11/25 20:06:55 jonas diff --git a/rtl/go32v2/system.pp b/rtl/go32v2/system.pp index 49c40b38cf..ef4ce95e13 100644 --- a/rtl/go32v2/system.pp +++ b/rtl/go32v2/system.pp @@ -810,7 +810,7 @@ end; System Dependent Exit code *****************************************************************************} -procedure ___exit(exitcode:longint);cdecl;external name '__exit'; +procedure __exit(exitcode:longint);cdecl;external; procedure do_close(handle : longint);forward; @@ -833,7 +833,7 @@ begin {$ifndef EXCEPTIONS_IN_SYSTEM} set_pm_interrupt($75,old_int75); {$endif EXCEPTIONS_IN_SYSTEM} - ___exit(exitcode); + __exit(exitcode); end; @@ -897,7 +897,7 @@ end; Heap Management *****************************************************************************} -function ___sbrk(size:longint):longint;cdecl;external name '__sbrk'; +function __sbrk(size:longint):longint;cdecl;external; function SysOSAlloc (size: PtrInt): pointer; assembler; asm @@ -910,7 +910,7 @@ asm {$endif} movl size,%eax pushl %eax - call ___sbrk + call __sbrk addl $4,%esp {$ifdef SYSTEMDEBUG} .Lsbrk_fail: @@ -1602,7 +1602,10 @@ Begin End. { $Log$ - Revision 1.45 2004-12-05 14:36:37 hajny + Revision 1.46 2004-12-07 14:02:24 jonas + * fix cdecl name problems (patch from Tomas) + + Revision 1.45 2004/12/05 14:36:37 hajny + GetProcessID added Revision 1.44 2004/11/25 17:37:59 jonas