mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 21:32:26 +00:00
parent
5e4ecf9050
commit
0c9215f5f2
9 changed files with 81 additions and 97 deletions
|
|
@ -152,9 +152,26 @@ CONST
|
||||||
|
|
||||||
|
|
||||||
TYPE
|
TYPE
|
||||||
|
(* cpp /usr/include/setjmp.h
|
||||||
|
struct __jmp_buf_tag
|
||||||
|
{
|
||||||
|
__jmp_buf __jmpbuf;
|
||||||
|
int __mask_was_saved;
|
||||||
|
__sigset_t __saved_mask;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct __jmp_buf_tag jmp_buf[1];
|
||||||
|
|
||||||
|
__sigset_t is 128 byte long in glibc on arm, x86, x86_64
|
||||||
|
__jmp_buf is 24 bytes long in glibc on x86
|
||||||
|
256 bytes long in glibc on armv6
|
||||||
|
64 bytes long in glibc on x86_64
|
||||||
|
|
||||||
|
*)
|
||||||
JmpBuf* = RECORD
|
JmpBuf* = RECORD
|
||||||
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
jmpbuf: ARRAY 64 OF LONGINT; (* 256 / 4 = 64 *)
|
||||||
maskWasSaved*, savedMask*: LONGINT;
|
maskWasSaved*: LONGINT;
|
||||||
|
savedMask*: ARRAY 32 OF LONGINT; (* 32 * 4 = 128 *)
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,8 @@ CONST
|
||||||
TYPE
|
TYPE
|
||||||
JmpBuf* = RECORD
|
JmpBuf* = RECORD
|
||||||
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
||||||
maskWasSaved*, savedMask*: LONGINT;
|
maskWasSaved*: LONGINT;
|
||||||
|
savedMask*: ARRAY 32 OF LONGINT;
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,8 @@ CONST
|
||||||
TYPE
|
TYPE
|
||||||
JmpBuf* = RECORD
|
JmpBuf* = RECORD
|
||||||
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
||||||
maskWasSaved*, savedMask*: LONGINT;
|
maskWasSaved*: LONGINT;
|
||||||
|
savedMask*: ARRAY 32 OF LONGINT;
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
|
|
|
||||||
|
|
@ -154,53 +154,26 @@ CONST sigsetarrlength = 1024 / 8 * SIZE(LONGINT);
|
||||||
|
|
||||||
|
|
||||||
TYPE
|
TYPE
|
||||||
(* bits/sigset.h
|
(* cpp /usr/include/setjmp.h
|
||||||
_SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
struct __jmp_buf_tag
|
||||||
|
|
||||||
1024 / 8*8 = 16
|
|
||||||
1024 / 8*4 = 32
|
|
||||||
*)
|
|
||||||
sigsett* = RECORD
|
|
||||||
val : ARRAY 16 OF LONGINT (* 32 for 32 bit *)
|
|
||||||
(*val : ARRAY sigsetarrlength OF LONGINT *)
|
|
||||||
END;
|
|
||||||
|
|
||||||
JmpBuf* = RECORD
|
|
||||||
(*bx*, si*, di*, bp*, sp*, pc*: LONGINT;*)
|
|
||||||
(* bits/setjmp.h sets up longer array in GNU libc *)
|
|
||||||
(*
|
|
||||||
# if __WORDSIZE == 64
|
|
||||||
typedef long int __jmp_buf[8];
|
|
||||||
# else
|
|
||||||
typedef int __jmp_buf[6];
|
|
||||||
# endif
|
|
||||||
*)
|
|
||||||
bx*, si*, di*, bp*, sp*, pc*, ki*, ku*: LONGINT;
|
|
||||||
(* setjmp.h
|
|
||||||
/* Calling environment, plus possibly a saved signal mask. */
|
|
||||||
struct __jmp_buf_tag
|
|
||||||
{
|
{
|
||||||
/* NOTE: The machine-dependent definitions of `__sigsetjmp'
|
__jmp_buf __jmpbuf;
|
||||||
assume that a `jmp_buf' begins with a `__jmp_buf' and that
|
int __mask_was_saved;
|
||||||
`__mask_was_saved' follows it. Do not move these members
|
__sigset_t __saved_mask;
|
||||||
or add others before it. */
|
|
||||||
__jmp_buf __jmpbuf; /* Calling environment. */
|
|
||||||
int __mask_was_saved; /* Saved the signal mask? */
|
|
||||||
__sigset_t __saved_mask; /* Saved signal mask. */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
*)
|
typedef struct __jmp_buf_tag jmp_buf[1];
|
||||||
(*maskWasSaved*, savedMask*: LONGINT;*)
|
|
||||||
maskWasSaved*: INTEGER;
|
|
||||||
(*
|
|
||||||
# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
unsigned long int __val[_SIGSET_NWORDS];
|
|
||||||
} __sigset_t;
|
|
||||||
|
|
||||||
*)
|
__sigset_t is 128 byte long in glibc on arm, x86, x86_64
|
||||||
savedMask*: sigsett;
|
__jmp_buf is 24 bytes long in glibc on x86
|
||||||
|
256 bytes long in glibc on armv6
|
||||||
|
64 bytes long in glibc on x86_64
|
||||||
|
|
||||||
|
*)
|
||||||
|
JmpBuf* = RECORD
|
||||||
|
jmpbuf: ARRAY 8 OF LONGINT; (* 8 * 8 = 64 *)
|
||||||
|
maskWasSaved*: INTEGER;
|
||||||
|
savedMask*: ARRAY 16 OF LONGINT; ( 16 * 8 = 128 *)
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
|
|
|
||||||
|
|
@ -152,9 +152,26 @@ CONST
|
||||||
|
|
||||||
|
|
||||||
TYPE
|
TYPE
|
||||||
|
(* cpp /usr/include/setjmp.h
|
||||||
|
struct __jmp_buf_tag
|
||||||
|
{
|
||||||
|
__jmp_buf __jmpbuf;
|
||||||
|
int __mask_was_saved;
|
||||||
|
__sigset_t __saved_mask;
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct __jmp_buf_tag jmp_buf[1];
|
||||||
|
|
||||||
|
__sigset_t is 128 byte long in glibc on arm, x86, x86_64
|
||||||
|
__jmp_buf is 24 bytes long in glibc on x86
|
||||||
|
256 bytes long in glibc on armv6
|
||||||
|
64 bytes long in glibc on x86_64
|
||||||
|
|
||||||
|
*)
|
||||||
JmpBuf* = RECORD
|
JmpBuf* = RECORD
|
||||||
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
jmpbuf: ARRAY 64 OF LONGINT; (* 256 / 4 = 64 *)
|
||||||
maskWasSaved*, savedMask*: LONGINT;
|
maskWasSaved*: LONGINT;
|
||||||
|
savedMask*: ARRAY 32 OF LONGINT; (* 32 * 4 = 128 *)
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,8 @@ CONST
|
||||||
TYPE
|
TYPE
|
||||||
JmpBuf* = RECORD
|
JmpBuf* = RECORD
|
||||||
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
||||||
maskWasSaved*, savedMask*: LONGINT;
|
maskWasSaved*: LONGINT;
|
||||||
|
savedMask*: ARRAY 32 OF LONGINT;
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,8 @@ CONST
|
||||||
TYPE
|
TYPE
|
||||||
JmpBuf* = RECORD
|
JmpBuf* = RECORD
|
||||||
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
bx*, si*, di*, bp*, sp*, pc*: LONGINT;
|
||||||
maskWasSaved*, savedMask*: LONGINT;
|
maskWasSaved*: LONGINT;
|
||||||
|
savedMask*: ARRAY 32 OF LONGINT;
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
|
|
|
||||||
|
|
@ -154,53 +154,26 @@ CONST sigsetarrlength = 1024 / 8 * SIZE(LONGINT);
|
||||||
|
|
||||||
|
|
||||||
TYPE
|
TYPE
|
||||||
(* bits/sigset.h
|
(* cpp /usr/include/setjmp.h
|
||||||
_SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
struct __jmp_buf_tag
|
||||||
|
|
||||||
1024 / 8*8 = 16
|
|
||||||
1024 / 8*4 = 32
|
|
||||||
*)
|
|
||||||
sigsett* = RECORD
|
|
||||||
val : ARRAY 16 OF LONGINT (* 32 for 32 bit *)
|
|
||||||
(*val : ARRAY sigsetarrlength OF LONGINT *)
|
|
||||||
END;
|
|
||||||
|
|
||||||
JmpBuf* = RECORD
|
|
||||||
(*bx*, si*, di*, bp*, sp*, pc*: LONGINT;*)
|
|
||||||
(* bits/setjmp.h sets up longer array in GNU libc *)
|
|
||||||
(*
|
|
||||||
# if __WORDSIZE == 64
|
|
||||||
typedef long int __jmp_buf[8];
|
|
||||||
# else
|
|
||||||
typedef int __jmp_buf[6];
|
|
||||||
# endif
|
|
||||||
*)
|
|
||||||
bx*, si*, di*, bp*, sp*, pc*, ki*, ku*: LONGINT;
|
|
||||||
(* setjmp.h
|
|
||||||
/* Calling environment, plus possibly a saved signal mask. */
|
|
||||||
struct __jmp_buf_tag
|
|
||||||
{
|
{
|
||||||
/* NOTE: The machine-dependent definitions of `__sigsetjmp'
|
__jmp_buf __jmpbuf;
|
||||||
assume that a `jmp_buf' begins with a `__jmp_buf' and that
|
int __mask_was_saved;
|
||||||
`__mask_was_saved' follows it. Do not move these members
|
__sigset_t __saved_mask;
|
||||||
or add others before it. */
|
|
||||||
__jmp_buf __jmpbuf; /* Calling environment. */
|
|
||||||
int __mask_was_saved; /* Saved the signal mask? */
|
|
||||||
__sigset_t __saved_mask; /* Saved signal mask. */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
*)
|
typedef struct __jmp_buf_tag jmp_buf[1];
|
||||||
(*maskWasSaved*, savedMask*: LONGINT;*)
|
|
||||||
maskWasSaved*: INTEGER;
|
|
||||||
(*
|
|
||||||
# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
unsigned long int __val[_SIGSET_NWORDS];
|
|
||||||
} __sigset_t;
|
|
||||||
|
|
||||||
*)
|
__sigset_t is 128 byte long in glibc on arm, x86, x86_64
|
||||||
savedMask*: sigsett;
|
__jmp_buf is 24 bytes long in glibc on x86
|
||||||
|
256 bytes long in glibc on armv6
|
||||||
|
64 bytes long in glibc on x86_64
|
||||||
|
|
||||||
|
*)
|
||||||
|
JmpBuf* = RECORD
|
||||||
|
jmpbuf: ARRAY 8 OF LONGINT; (* 8 * 8 = 64 *)
|
||||||
|
maskWasSaved*: INTEGER;
|
||||||
|
savedMask*: ARRAY 16 OF LONGINT; ( 16 * 8 = 128 *)
|
||||||
END ;
|
END ;
|
||||||
|
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
924b37cbff137a08805e86eb63403bda0495cf16
|
82105aa4959ab990f96645db6fee788397ea97e2
|
||||||
Loading…
Add table
Add a link
Reference in a new issue