aboutsummaryrefslogtreecommitdiff
path: root/src/libthread/label.h
blob: 0c9f3030b5f7526220c8549c100f28335a7d2abd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*
 * setjmp and longjmp, but our own because some (stupid) c libraries
 * assume longjmp is only used to move up the stack, and error out
 * if you do otherwise.
 */

typedef struct Label Label;
#define LABELDPC 0

#if defined (__i386__) && (defined(__FreeBSD__) || defined(__linux__))
struct Label
{
	ulong pc;
	ulong bx;
	ulong sp;
	ulong bp;
	ulong si;
	ulong di;
};
#else
#error "Unknown or unsupported architecture"
#endif