1 |
commit: 27bcacb0fe144c2de240365826d65c091c998c2c |
2 |
Author: Han Han <hanhanzhiyeqianke <AT> gmail <DOT> com> |
3 |
AuthorDate: Sun Jan 6 21:20:54 2019 +0000 |
4 |
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Jan 6 16:32:24 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27bcacb0 |
7 |
|
8 |
dev-util/rr-5.2.0: Fix error type ::ucontext_t not correctly defined |
9 |
|
10 |
Introduce rr commit: |
11 |
https://github.com/mozilla/rr/commit/53c5bd72bae089616a3ca626b8af240481d70e6f |
12 |
|
13 |
Closes: https://bugs.gentoo.org/669788 |
14 |
|
15 |
Signed-off-by: Han Han <hanhanzhiyeqianke <AT> gmail.com> |
16 |
Closes: https://github.com/gentoo/gentoo/pull/10756 |
17 |
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> |
18 |
|
19 |
dev-util/rr/files/rr-5.2.0-ucontext_t.patch | 65 +++++++++++++++++++++++++++++ |
20 |
dev-util/rr/rr-5.2.0.ebuild | 6 +-- |
21 |
2 files changed, 68 insertions(+), 3 deletions(-) |
22 |
|
23 |
diff --git a/dev-util/rr/files/rr-5.2.0-ucontext_t.patch b/dev-util/rr/files/rr-5.2.0-ucontext_t.patch |
24 |
new file mode 100644 |
25 |
index 00000000000..0015f0b150c |
26 |
--- /dev/null |
27 |
+++ b/dev-util/rr/files/rr-5.2.0-ucontext_t.patch |
28 |
@@ -0,0 +1,65 @@ |
29 |
+From 53c5bd72bae089616a3ca626b8af240481d70e6f Mon Sep 17 00:00:00 2001 |
30 |
+From: Robert O'Callahan <robert@×××××××××.org> |
31 |
+Date: Fri, 10 Aug 2018 15:17:55 +1200 |
32 |
+Subject: [PATCH] Remove ucontext_t/rt_sigframe from kernel-abi |
33 |
+ |
34 |
+These were added in 18bb097736a1b728f1e5bfec972ca10f6e763d82 to help us determine |
35 |
+the sigmask effect of rt_sigreturn syscalls, but they're no longer needed |
36 |
+because we query the new mask via /proc instead. |
37 |
+ |
38 |
+Resolves #2237 |
39 |
+--- |
40 |
+ src/kernel_abi.h | 33 --------------------------------- |
41 |
+ 1 file changed, 33 deletions(-) |
42 |
+ |
43 |
+diff --git a/src/kernel_abi.h b/src/kernel_abi.h |
44 |
+index e73e49933..29d3c9242 100644 |
45 |
+--- a/src/kernel_abi.h |
46 |
++++ b/src/kernel_abi.h |
47 |
+@@ -1609,23 +1609,6 @@ struct X86Arch : public BaseArch<SupportedArch::x86, WordSize32Defs> { |
48 |
+ }; |
49 |
+ RR_VERIFY_TYPE_ARCH(SupportedArch::x86, ::sigcontext, sigcontext); |
50 |
+ |
51 |
+- struct ucontext_t { |
52 |
+- uint32_t uc_flags; |
53 |
+- uint32_t uc_link; |
54 |
+- stack_t uc_stack; |
55 |
+- sigcontext uc_mcontext; |
56 |
+- kernel_sigset_t uc_sigmask; |
57 |
+- }; |
58 |
+- |
59 |
+- struct rt_sigframe { |
60 |
+- uint32_t pretcode; |
61 |
+- int sig; |
62 |
+- uint32_t pinfo; |
63 |
+- uint32_t puc; |
64 |
+- siginfo_t info; |
65 |
+- struct ucontext_t uc; |
66 |
+- }; |
67 |
+- |
68 |
+ struct _fpstate_32 { |
69 |
+ uint32_t cw, sw, tag, ipoff, cssel, dataoff, datasel; |
70 |
+ uint16_t _st[40]; |
71 |
+@@ -1806,22 +1789,6 @@ struct X64Arch : public BaseArch<SupportedArch::x86_64, WordSize64Defs> { |
72 |
+ RR_VERIFY_TYPE_ARCH(SupportedArch::x86_64, ::user_fpregs_struct, |
73 |
+ user_fpregs_struct); |
74 |
+ |
75 |
+- struct ucontext_t { |
76 |
+- uint64_t ucflags; |
77 |
+- ptr<struct ucontext_t> uc_link; |
78 |
+- stack_t uc_stack; |
79 |
+- struct sigcontext uc_mcontext; |
80 |
+- sigset_t uc_sigmask; |
81 |
+- user_fpregs_struct uc_fpregs; |
82 |
+- }; |
83 |
+- RR_VERIFY_TYPE_ARCH(SupportedArch::x86_64, ::ucontext_t, ucontext_t); |
84 |
+- |
85 |
+- struct rt_sigframe { |
86 |
+- ptr<char> pretcode; |
87 |
+- struct ucontext_t uc; |
88 |
+- siginfo_t info; |
89 |
+- }; |
90 |
+- |
91 |
+ struct user { |
92 |
+ struct user_regs_struct regs; |
93 |
+ int u_fpvalid; |
94 |
|
95 |
diff --git a/dev-util/rr/rr-5.2.0.ebuild b/dev-util/rr/rr-5.2.0.ebuild |
96 |
index 330b1821df1..8a48df5899c 100644 |
97 |
--- a/dev-util/rr/rr-5.2.0.ebuild |
98 |
+++ b/dev-util/rr/rr-5.2.0.ebuild |
99 |
@@ -31,9 +31,9 @@ DEPEND+=" |
100 |
sys-devel/gdb[xml] |
101 |
)" |
102 |
|
103 |
-#PATCHES=( |
104 |
-# "${FILESDIR}"/${P}-sysmacros.patch |
105 |
-#) |
106 |
+PATCHES=( |
107 |
+ "${FILESDIR}"/${P}-ucontext_t.patch |
108 |
+) |
109 |
|
110 |
pkg_setup() { |
111 |
if use kernel_linux; then |