setjumph.inc 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. {******************************************************************************
  2. $Id$
  3. This file is part of the Free Pascal run time library.
  4. Copyright (c) 2000-2002 by Jonas Maebe and other members of the
  5. Free Pascal development team
  6. SetJmp/Longjmp declarations
  7. See the file COPYING.FPC, included in this distribution,
  8. for details about the copyright.
  9. This file was adapted from
  10. Guardian:/usr/local/src/glibc-2.2.3/sysdeps/sparc/sparc32# more setjmp.S
  11. Guardian:/usr/local/src/glibc-2.2.3/sysdeps/sparc/sparc32# more __longjmp.S
  12. Copyright (C) 1991, 93, 94, 96, 97, 98 Free Software Foundation, Inc.
  13. This file is part of the GNU C Library.
  14. The GNU C Library is free software; you can redistribute it and/or
  15. modify it under the terms of the GNU Library General Public License as
  16. published by the Free Software Foundation; either version 2 of the
  17. License, or (at your option) any later version.
  18. The GNU C Library is distributed in the hope that it will be useful,
  19. but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  21. Library General Public License for more details.
  22. You should have received a copy of the GNU Library General Public
  23. License along with the GNU C Library; see the file COPYING.LIB. If not,
  24. write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  25. Boston, MA 02111-1307, USA.
  26. This program is distributed in the hope that it will be useful,
  27. but WITHOUT ANY WARRANTY; without even the implied warranty of
  28. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  29. ******************************************************************************}
  30. {@Define the machine-dependent type `jmp_buf'. SPARC version.}
  31. type
  32. jmp_buf=packed record
  33. {stack pointer}
  34. JB_SP,
  35. {frame pointer}
  36. JB_FP,
  37. {program counter}
  38. JB_PV:Pointer;
  39. end;
  40. Pjmp_buf=^jmp_buf;
  41. function setjmp(var S:jmp_buf):longint;
  42. procedure longjmp(var S:jmp_buf;value:longint);
  43. {
  44. $Log$
  45. Revision 1.4 2003-01-05 21:32:35 mazen
  46. * fixing several bugs compiling the RTL
  47. Revision 1.3 2003/01/01 18:24:41 mazen
  48. * just put register pointers
  49. Revision 1.2 2002/11/24 18:19:44 mazen
  50. + setjmp and longjmp
  51. Revision 1.1 2002/11/16 20:10:31 florian
  52. + sparc specific rtl skeleton added
  53. }