summaryrefslogtreecommitdiff
path: root/toolchain/musl/patches/xxx-hotfix-sh.patch
blob: 0c60604d064215ba583536ae985154407da34105 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
* thx to nsz from #musl
diff -Nur musl-git/arch/sh/bits/user.h musl-sh/arch/sh/bits/user.h
--- musl-git/arch/sh/bits/user.h	1970-01-01 01:00:00.000000000 +0100
+++ musl-sh/arch/sh/bits/user.h	2014-03-07 15:08:42.000000000 +0100
@@ -0,0 +1,75 @@
+#undef __WORDSIZE
+#define __WORDSIZE 32
+
+#define REG_REG0	 0
+#define REG_REG15	15
+#define REG_PC		16
+#define REG_PR		17
+#define REG_SR		18
+#define REG_GBR		19
+#define REG_MACH	20
+#define REG_MACL	21
+#define REG_SYSCALL	22
+#define REG_FPREG0	23
+#define REG_FPREG15	38
+#define REG_XFREG0	39
+#define REG_XFREG15	54
+#define REG_FPSCR	55
+#define REG_FPUL	56
+
+struct pt_regs {
+	unsigned long regs[16];
+	unsigned long pc;
+	unsigned long pr;
+	unsigned long sr;
+	unsigned long gbr;
+	unsigned long mach;
+	unsigned long macl;
+	long tra;
+};
+
+struct pt_dspregs {
+	unsigned long a1;
+	unsigned long a0g;
+	unsigned long a1g;
+	unsigned long m0;
+	unsigned long m1;
+	unsigned long a0;
+	unsigned long x0;
+	unsigned long x1;
+	unsigned long y0;
+	unsigned long y1;
+	unsigned long dsr;
+	unsigned long rs;
+	unsigned long re;
+	unsigned long mod;
+};
+
+struct user_fpu_struct {
+	unsigned long fp_regs[16];
+	unsigned long xfp_regs[16];
+	unsigned long fpscr;
+	unsigned long fpul;
+};
+
+#define ELF_NGREG 23
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+typedef struct user_fpu_struct elf_fpregset_t;
+
+struct user {
+	struct pt_regs regs;
+	struct user_fpu_struct fpu;
+	int u_fpvalid;
+	unsigned long u_tsize;
+	unsigned long u_dsize;
+	unsigned long u_ssize;
+	unsigned long start_code;
+	unsigned long start_data;
+	unsigned long start_stack;
+	long int signal;
+	unsigned long u_ar0;
+	struct user_fpu_struct *u_fpstate;
+	unsigned long magic;
+	char u_comm[32];
+};