|
From: | Richard Henderson |
Subject: | Re: [PATCH v3] ppc64: Avoid pt_regs struct definition |
Date: | Mon, 14 Mar 2022 17:13:06 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 |
On 3/14/22 14:51, Khem Raj wrote:
+static inline uintptr_t host_signal_pc(host_sigcontext *uc) +{ + return uc->uc_mcontext.gp_regs[32]; +} + +static inline void host_signal_set_pc(host_sigcontext *uc, uintptr_t pc) +{ + uc->uc_mcontext.gp_regs[32] = pc; +} + +static inline void *host_signal_mask(host_sigcontext *uc) +{ + return &uc->uc_sigmask; +} + +static inline bool host_signal_write(siginfo_t *info, host_sigcontext *uc) +{ + return uc->uc_mcontext.gp_regs[40] != 0x400 + && (uc->uc_mcontext.gp_regs[42] & 0x02000000); +}
Oh, dear.I didn't realize that the symbolic constants are also in <asm/ptrace.h>. We really don't want magic numbers. We'll have to have the include and use PT_NIP, PT_TRAP, PT_DSISR.
r~
[Prev in Thread] | Current Thread | [Next in Thread] |