setjumph.inc 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. {******************************************************************************
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2000-2002 by Jonas Maebe and other members of the
  4. Free Pascal development team
  5. SetJmp/Longjmp declarations
  6. See the file COPYING.FPC, included in this distribution,
  7. for details about the copyright.
  8. This file was adapted from
  9. Guardian:/usr/local/src/glibc-2.2.3/sysdeps/sparc/sparc32# more setjmp.S
  10. Guardian:/usr/local/src/glibc-2.2.3/sysdeps/sparc/sparc32# more __longjmp.S
  11. Copyright (C) 1991, 93, 94, 96, 97, 98 Free Software Foundation, Inc.
  12. This file is part of the GNU C Library.
  13. The GNU C Library is free software; you can redistribute it and/or
  14. modify it under the terms of the GNU Library General Public License as
  15. published by the Free Software Foundation; either version 2 of the
  16. License, or (at your option) any later version.
  17. The GNU C Library is distributed in the hope that it will be useful,
  18. but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  20. Library General Public License for more details.
  21. You should have received a copy of the GNU Library General Public
  22. License along with the GNU C Library; see the file COPYING.LIB. If not,
  23. write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  24. Boston, MA 02110-1301, USA.
  25. This program is distributed in the hope that it will be useful,
  26. but WITHOUT ANY WARRANTY; without even the implied warranty of
  27. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  28. ******************************************************************************}
  29. {@Define the machine-dependent type `jmp_buf'. SPARC version.}
  30. type
  31. jmp_buf=packed record
  32. {stack pointer}
  33. JB_SP,
  34. {frame pointer}
  35. JB_FP,
  36. {program counter}
  37. JB_PV:Pointer;
  38. end;
  39. Pjmp_buf=^jmp_buf;
  40. function setjmp(var S:jmp_buf):longint;[external name 'FPC_SETJMP'];
  41. procedure longjmp(var S:jmp_buf;value:longint);[external name 'FPC_LONGJMP'];