mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 19:59:18 +02:00
* Fixed i386 longjmp, it must not return 0 if 'value' argument happens to be 0.
git-svn-id: trunk@22781 -
This commit is contained in:
parent
21f5b5559c
commit
c0f49951b1
@ -31,6 +31,10 @@ end;
|
|||||||
Procedure fpc_longJmp (Var S : Jmp_buf; value : longint); assembler;nostackframe;[Public, alias : 'FPC_LONGJMP']; compilerproc;
|
Procedure fpc_longJmp (Var S : Jmp_buf; value : longint); assembler;nostackframe;[Public, alias : 'FPC_LONGJMP']; compilerproc;
|
||||||
asm
|
asm
|
||||||
xchgl %edx,%eax
|
xchgl %edx,%eax
|
||||||
|
testl %eax,%eax
|
||||||
|
jnz .L1
|
||||||
|
incl %eax
|
||||||
|
.L1:
|
||||||
movl Jmp_buf.ebx(%edx),%ebx
|
movl Jmp_buf.ebx(%edx),%ebx
|
||||||
movl Jmp_buf.esi(%edx),%esi
|
movl Jmp_buf.esi(%edx),%esi
|
||||||
movl Jmp_buf.edi(%edx),%edi
|
movl Jmp_buf.edi(%edx),%edi
|
||||||
|
Loading…
Reference in New Issue
Block a user