summaryrefslogtreecommitdiff
path: root/arch/um/os-Linux/sys-x86_64/signal.c
blob: 3f369e5f976b724232e4cf4a4f9fe1e90782dbe0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
 * Copyright (C) 2006 Jeff Dike (jdike@addtoit.com)
 * Licensed under the GPL
 */

#include <signal.h>

extern void (*handlers[])(int sig, struct sigcontext *sc);

void hard_handler(int sig)
{
	struct ucontext *uc;
	asm("movq %%rdx, %0" : "=r" (uc));

	(*handlers[sig])(sig, (struct sigcontext *) &uc->uc_mcontext);
}