aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/ppc-pt_regs.patch
blob: 45815321bf0f1f35ec68569a214fc93c96c0c6d6 (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
commit c2518a8efb6507f1b41c3b12e03b06f8f2317a1f
Author: Rich Felker <dalias@aerifal.cx>
Date:   Sat Oct 19 15:53:43 2019 -0400

    use struct pt_regs * rather than void * for powerpc[64] sigcontext regs
    
    this is to match the kernel and glibc interfaces. here, struct pt_regs
    is an incomplete type, but that's harmless, and if it's completed by
    inclusion of another header then members of the struct pointed to by
    the regs member can be accessed directly without going through a cast
    or intermediate pointer object.

diff --git a/arch/powerpc/bits/signal.h b/arch/powerpc/bits/signal.h
index 06efb11c..c1bf3caf 100644
--- a/arch/powerpc/bits/signal.h
+++ b/arch/powerpc/bits/signal.h
@@ -28,7 +28,7 @@ struct sigcontext {
 	int signal;
 	unsigned long handler;
 	unsigned long oldmask;
-	void *regs;
+	struct pt_regs *regs;
 };
 
 typedef struct {
diff --git a/arch/powerpc64/bits/signal.h b/arch/powerpc64/bits/signal.h
index 4dec22a5..d5493b18 100644
--- a/arch/powerpc64/bits/signal.h
+++ b/arch/powerpc64/bits/signal.h
@@ -32,7 +32,7 @@ typedef struct sigcontext {
 	int _pad0;
 	unsigned long handler;
 	unsigned long oldmask;
-	void *regs;
+	struct pt_regs *regs;
 	gregset_t gp_regs;
 	fpregset_t fp_regs;
 	vrregset_t *v_regs;