From e741f4d4e4220040c02c8572334c869481f86aa9 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Fri, 28 Mar 2008 14:53:53 +0000 Subject: [PATCH] * mips-linux-tdep.c: Update N32/N64 signal frame comments. (N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update. (N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR): Delete. (mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr. --- gdb/ChangeLog | 8 ++++++++ gdb/mips-linux-tdep.c | 35 +++++++++++++++++------------------ 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index edacae3..075b917 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2008-03-28 Daniel Jacobowitz + + * mips-linux-tdep.c: Update N32/N64 signal frame comments. + (N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update. + (N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR): + Delete. + (mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr. + 2008-03-27 Joel Brobecker GDB 6.8 released. diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c index ab20d81..7c0ee7d 100644 --- a/gdb/mips-linux-tdep.c +++ b/gdb/mips-linux-tdep.c @@ -958,7 +958,7 @@ mips_linux_o32_sigframe_init (const struct tramp_frame *self, sigset_t uc_sigmask; [ mask last for extensibility ] }; - struct rt_sigframe_n32 { + struct rt_sigframe { u32 rs_ass[4]; [ argument save space for o32 ] u32 rs_code[2]; [ signal trampoline ] struct siginfo rs_info; @@ -979,15 +979,23 @@ mips_linux_o32_sigframe_init (const struct tramp_frame *self, unsigned long long sc_regs[32]; unsigned long long sc_fpregs[32]; unsigned long long sc_mdhi; + unsigned long long sc_hi1; + unsigned long long sc_hi2; + unsigned long long sc_hi3; unsigned long long sc_mdlo; + unsigned long long sc_lo1; + unsigned long long sc_lo2; + unsigned long long sc_lo3; unsigned long long sc_pc; - unsigned int sc_status; unsigned int sc_fpc_csr; - unsigned int sc_fpc_eir; unsigned int sc_used_math; - unsigned int sc_cause; - unsigned int sc_badvaddr; - }; */ + unsigned int sc_dsp; + unsigned int sc_reserved; + }; + + That is the post-2.6.12 definition of the 64-bit sigcontext; before + then, there were no hi1-hi3 or lo1-lo3. Cause and badvaddr were + included too. */ /* *INDENT-ON* */ #define N32_STACK_T_SIZE STACK_T_SIZE @@ -1004,12 +1012,9 @@ mips_linux_o32_sigframe_init (const struct tramp_frame *self, #define N64_SIGCONTEXT_REGS (0 * 8) #define N64_SIGCONTEXT_FPREGS (32 * 8) #define N64_SIGCONTEXT_HI (64 * 8) -#define N64_SIGCONTEXT_LO (65 * 8) -#define N64_SIGCONTEXT_PC (66 * 8) -#define N64_SIGCONTEXT_FPCSR (67 * 8 + 1 * 4) -#define N64_SIGCONTEXT_FIR (67 * 8 + 2 * 4) -#define N64_SIGCONTEXT_CAUSE (67 * 8 + 4 * 4) -#define N64_SIGCONTEXT_BADVADDR (67 * 8 + 5 * 4) +#define N64_SIGCONTEXT_LO (68 * 8) +#define N64_SIGCONTEXT_PC (72 * 8) +#define N64_SIGCONTEXT_FPCSR (73 * 8) #define N64_SIGCONTEXT_REG_SIZE 8 @@ -1063,12 +1068,6 @@ mips_linux_n32n64_sigframe_init (const struct tramp_frame *self, trad_frame_set_reg_addr (this_cache, regs->lo + gdbarch_num_regs (gdbarch), sigcontext_base + N64_SIGCONTEXT_LO); - trad_frame_set_reg_addr (this_cache, - regs->cause + gdbarch_num_regs (gdbarch), - sigcontext_base + N64_SIGCONTEXT_CAUSE); - trad_frame_set_reg_addr (this_cache, - regs->badvaddr + gdbarch_num_regs (gdbarch), - sigcontext_base + N64_SIGCONTEXT_BADVADDR); /* Choice of the bottom of the sigframe is somewhat arbitrary. */ trad_frame_set_id (this_cache, -- 2.7.4