diff --git a/rtl/linux/sparc/sighndh.inc b/rtl/linux/sparc/sighndh.inc index 7fa2465026..79bcee9aa4 100644 --- a/rtl/linux/sparc/sighndh.inc +++ b/rtl/linux/sparc/sighndh.inc @@ -18,6 +18,44 @@ const __SUNOS_MAXWIN = 31; + SIG_G0 = 0; + SIG_G1 = 1; + SIG_G2 = 2; + SIG_G3 = 3; + SIG_G4 = 4; + SIG_G5 = 5; + SIG_G6 = 6; + SIG_G7 = 7; + SIG_O0 = 8; + SIG_O1 = 9; + SIG_O2 = 10; + SIG_O3 = 11; + SIG_O4 = 12; + SIG_O5 = 13; + SIG_O6 = 14; + SIG_O7 = 15; + { l and i registers do not seem to be + written in sigcontext struct + SIG_L0 = 16; + SIG_L1 = 17; + SIG_L2 = 18; + SIG_L3 = 19; + SIG_L4 = 20; + SIG_L5 = 21; + SIG_L6 = 22; + SIG_L7 = 23; + SIG_I0 = 24; + SIG_I1 = 25; + SIG_I2 = 26; + SIG_I3 = 27; + SIG_I4 = 28; + SIG_I5 = 29; + SIG_I6 = 30; + SIG_I7 = 31; } + + SIG_SP = SIG_O6; + { SIG_FP = SIG_I6; } + type twbuf = record @@ -27,21 +65,14 @@ type PSigContext = ^TSigContext; TSigContext = record - sigc_onstack, { state to restore } - sigc_mask, { sigmask to restore } - sigc_sp, { stack pointer } + // sigc_onstack, { state to restore } + // sigc_mask, { sigmask to restore } + // sigc_sp, { stack pointer } + sigc_psr, { for condition codes etc } sigc_pc, { program counter } sigc_npc, { next program counter } - sigc_psr, { for condition codes etc } - sigc_g1, { User uses these two registers } - sigc_o0, { within the trampoline code. } - { Now comes information regarding the users window set - * at the time of the signal. } - sigc_oswins : longint; { outstanding windows } - { stack ptrs for each regwin buf } - sigc_spbuf : array[0..__SUNOS_MAXWIN-1] of pchar; - { Windows to restore after signal } - sigc_wbuf : array[0..__SUNOS_MAXWIN] of twbuf; + sigc_y : clong; + sigc_gregs : array [0..31] of clong; end;