#define SIZEOF_STRUCT_SIGCONTEXT (21 * 4)
#define OFFSETOF_STRUCT_UCONTEXT_UC_SIGMASK (5 * 4 + SIZEOF_STRUCT_SIGCONTEXT)
- const long addr =
+ const unsigned long addr =
#ifdef AARCH64
tcp->currpers == 0 ?
(*aarch64_sp_ptr + SIZEOF_STRUCT_SIGINFO +
static void
arch_sigreturn(struct tcb *tcp)
{
- long regs[PT_MAX + 1];
+ unsigned long regs[PT_MAX + 1];
- if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, (long)regs) < 0) {
+ if (ptrace(PTRACE_GETREGS, tcp->pid, NULL, regs) < 0) {
perror_msg("sigreturn: PTRACE_GETREGS");
return;
}
- const long addr = regs[PT_USP] + offsetof(struct sigcontext, oldmask);
+ const unsigned long addr =
+ regs[PT_USP] + offsetof(struct sigcontext, oldmask);
tprints("{mask=");
print_sigset_addr_len(tcp, addr, NSIG / 8);
{
/* offsetof(struct sigframe, sc) */
#define OFFSETOF_STRUCT_SIGFRAME_SC 0xA0
- const long addr = *ia64_frame_ptr + 16 +
- OFFSETOF_STRUCT_SIGFRAME_SC +
- offsetof(struct sigcontext, sc_mask);
+ const unsigned long addr = *ia64_frame_ptr + 16 +
+ OFFSETOF_STRUCT_SIGFRAME_SC +
+ offsetof(struct sigcontext, sc_mask);
tprints("{mask=");
print_sigset_addr_len(tcp, addr, NSIG / 8);
tprints("}");
static void
arch_sigreturn(struct tcb *tcp)
{
- long addr;
+ unsigned long addr;
/* Fetch pointer to struct sigcontext. */
if (umove(tcp, *m68k_usp_ptr + 2 * sizeof(int), &addr) < 0)
* offsetof(struct sigframe, sf_mask) ==
* sizeof(sf_ass) + sizeof(sf_pad) + sizeof(struct sigcontext)
*/
- const long addr = mips_REG_SP + 6 * 4 +
- sizeof(struct sigcontext);
+ const kernel_ureg_t addr = mips_REG_SP + 6 * 4 +
+ sizeof(struct sigcontext);
#else
/*
* This decodes rt_sigreturn.
* offsetof(struct rt_sigframe, rs_uc) ==
* sizeof(sf_ass) + sizeof(sf_pad) + sizeof(struct siginfo)
*/
- const long addr = mips_REG_SP + 6 * 4 + 128 +
- offsetof(struct ucontext, uc_sigmask);
+ const kernel_ureg_t addr = mips_REG_SP + 6 * 4 + 128 +
+ offsetof(struct ucontext, uc_sigmask);
#endif
tprints("{mask=");
static void
arch_sigreturn(struct tcb *tcp)
{
- long esp = ppc_regs.gpr[1];
+ unsigned long addr = ppc_regs.gpr[1];
struct sigcontext sc;
/* Skip dummy stack frame. */
#ifdef POWERPC64
if (current_personality == 0)
- esp += 128;
+ addr += 128;
else
#endif
- esp += 64;
+ addr += 64;
- if (umove(tcp, esp, &sc) < 0) {
- tprintf("{mask=%#lx}", esp);
+ if (umove(tcp, addr, &sc) < 0) {
+ tprintf("{mask=%#lx}", addr);
} else {
unsigned long mask[NSIG / 8 / sizeof(long)];
#ifdef POWERPC64
static void
arch_sigreturn(struct tcb *tcp)
{
- long mask[NSIG / 8 / sizeof(long)];
- const long addr = *s390_frame_ptr + __SIGNAL_FRAMESIZE;
+ unsigned long mask[NSIG / 8 / sizeof(long)];
+ const unsigned long addr = *s390_frame_ptr + __SIGNAL_FRAMESIZE;
if (umove(tcp, addr, &mask) < 0) {
tprintf("{mask=%#lx}", addr);
static void
arch_sigreturn(struct tcb *tcp)
{
- long fp = sparc_regs.u_regs[U_REG_FP] +
- SIZEOF_STRUCT_SPARC_STACKF + SIZEOF_STRUCT_PT_REGS;
+ unsigned long addr = sparc_regs.u_regs[U_REG_FP] +
+ SIZEOF_STRUCT_SPARC_STACKF + SIZEOF_STRUCT_PT_REGS;
struct {
unsigned int mask;
char fpu_save[PERSONALITY_WORDSIZE];
unsigned int extramask[NSIG / 8 / sizeof(int) - 1];
} frame;
- if (umove(tcp, fp, &frame) < 0) {
- tprintf("{mask=%#lx}", fp);
+ if (umove(tcp, addr, &frame) < 0) {
+ tprintf("{mask=%#lx}", addr);
} else {
unsigned int mask[NSIG / 8 / sizeof(int)];
{
/* offset of ucontext in the kernel's sigframe structure */
#define SIGFRAME_UC_OFFSET C_ABI_SAVE_AREA_SIZE + sizeof(siginfo_t)
- const long addr = tile_regs.sp + SIGFRAME_UC_OFFSET +
- offsetof(struct ucontext, uc_sigmask);
+ const unsigned long addr = tile_regs.sp + SIGFRAME_UC_OFFSET +
+ offsetof(struct ucontext, uc_sigmask);
tprints("{mask=");
print_sigset_addr_len(tcp, addr, NSIG / 8);
#define X86_64_SIGMASK_OFFSET offsetof(struct ucontext, uc_sigmask)
#define X32_SIGMASK_OFFSET sizeof(ucontext_x32_header)
- const unsigned long offset =
+ const kernel_ureg_t offset =
#ifdef X32
X32_SIGMASK_OFFSET;
#else
current_personality == 2 ? X32_SIGMASK_OFFSET :
X86_64_SIGMASK_OFFSET;
#endif
- const unsigned long addr = (unsigned long) *x86_64_rsp_ptr + offset;
+ const kernel_ureg_t addr = (kernel_ureg_t) *x86_64_rsp_ptr + offset;
tprints("{mask=");
print_sigset_addr_len(tcp, addr, NSIG / 8);
tprints("}");