diff options
author | Khem Raj <raj.khem@gmail.com> | 2018-12-18 22:55:15 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2018-12-23 13:29:20 -0800 |
commit | d596859cdf1d0c3d9a3dafcf73c5f40ab7321bd8 (patch) | |
tree | 7cd979097959e6437fff3beaf09311eff62ae400 | |
parent | 640002dedc7718bbda6c6c516caf040aa6e3e20c (diff) | |
download | meta-openembedded-d596859cdf1d0c3d9a3dafcf73c5f40ab7321bd8.tar.gz |
breakpad: Update to latest
- Drop upstreamed ucontext_t patch
- basename is now available in musl
- Pin ARM-only ISA on armv5 and older arches
- Use COMPATIBLE_HOST instead of COMPATIBLE_MACHINE
- memory.h has been renamed to memory_allocator.h in latest breakpad
Signed-off-by: Khem Raj <raj.khem@gmail.com>
4 files changed, 7 insertions, 317 deletions
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch deleted file mode 100644 index 07cb8a366..000000000 --- a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch +++ /dev/null | |||
@@ -1,242 +0,0 @@ | |||
1 | From b90c8f3b60bfe5dbed2823620242e9d30b9eb28f Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 28 Jun 2017 19:01:18 -0700 | ||
4 | Subject: [PATCH] Replace use of struct ucontext with ucontext_t | ||
5 | |||
6 | glibc 2.26 would not expose struct ucontext anymore | ||
7 | |||
8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
9 | --- | ||
10 | Upstream-Status: Pending | ||
11 | |||
12 | .../linux/dump_writer_common/ucontext_reader.cc | 32 +++++++++++----------- | ||
13 | .../linux/dump_writer_common/ucontext_reader.h | 14 +++++----- | ||
14 | src/client/linux/handler/exception_handler.cc | 10 +++---- | ||
15 | src/client/linux/handler/exception_handler.h | 4 +-- | ||
16 | .../linux/microdump_writer/microdump_writer.cc | 2 +- | ||
17 | .../linux/minidump_writer/minidump_writer.cc | 2 +- | ||
18 | 6 files changed, 32 insertions(+), 32 deletions(-) | ||
19 | |||
20 | diff --git a/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/client/linux/dump_writer_common/ucontext_reader.cc | ||
21 | index c80724dd..052ce37c 100644 | ||
22 | --- a/src/client/linux/dump_writer_common/ucontext_reader.cc | ||
23 | +++ b/src/client/linux/dump_writer_common/ucontext_reader.cc | ||
24 | @@ -36,19 +36,19 @@ namespace google_breakpad { | ||
25 | |||
26 | // Minidump defines register structures which are different from the raw | ||
27 | // structures which we get from the kernel. These are platform specific | ||
28 | -// functions to juggle the ucontext and user structures into minidump format. | ||
29 | +// functions to juggle the ucontext_t and user structures into minidump format. | ||
30 | |||
31 | #if defined(__i386__) | ||
32 | |||
33 | -uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { | ||
34 | +uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { | ||
35 | return uc->uc_mcontext.gregs[REG_ESP]; | ||
36 | } | ||
37 | |||
38 | -uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { | ||
39 | +uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { | ||
40 | return uc->uc_mcontext.gregs[REG_EIP]; | ||
41 | } | ||
42 | |||
43 | -void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, | ||
44 | +void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, | ||
45 | const struct _libc_fpstate* fp) { | ||
46 | const greg_t* regs = uc->uc_mcontext.gregs; | ||
47 | |||
48 | @@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, | ||
49 | |||
50 | #elif defined(__x86_64) | ||
51 | |||
52 | -uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { | ||
53 | +uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { | ||
54 | return uc->uc_mcontext.gregs[REG_RSP]; | ||
55 | } | ||
56 | |||
57 | -uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { | ||
58 | +uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { | ||
59 | return uc->uc_mcontext.gregs[REG_RIP]; | ||
60 | } | ||
61 | |||
62 | -void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, | ||
63 | +void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, | ||
64 | const struct _libc_fpstate* fpregs) { | ||
65 | const greg_t* regs = uc->uc_mcontext.gregs; | ||
66 | |||
67 | @@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, | ||
68 | |||
69 | #elif defined(__ARM_EABI__) | ||
70 | |||
71 | -uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { | ||
72 | +uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { | ||
73 | return uc->uc_mcontext.arm_sp; | ||
74 | } | ||
75 | |||
76 | -uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { | ||
77 | +uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { | ||
78 | return uc->uc_mcontext.arm_pc; | ||
79 | } | ||
80 | |||
81 | -void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { | ||
82 | +void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { | ||
83 | out->context_flags = MD_CONTEXT_ARM_FULL; | ||
84 | |||
85 | out->iregs[0] = uc->uc_mcontext.arm_r0; | ||
86 | @@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { | ||
87 | |||
88 | #elif defined(__aarch64__) | ||
89 | |||
90 | -uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { | ||
91 | +uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { | ||
92 | return uc->uc_mcontext.sp; | ||
93 | } | ||
94 | |||
95 | -uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { | ||
96 | +uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { | ||
97 | return uc->uc_mcontext.pc; | ||
98 | } | ||
99 | |||
100 | -void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, | ||
101 | +void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc, | ||
102 | const struct fpsimd_context* fpregs) { | ||
103 | out->context_flags = MD_CONTEXT_ARM64_FULL; | ||
104 | |||
105 | @@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc, | ||
106 | |||
107 | #elif defined(__mips__) | ||
108 | |||
109 | -uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) { | ||
110 | +uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { | ||
111 | return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]; | ||
112 | } | ||
113 | |||
114 | -uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) { | ||
115 | +uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) { | ||
116 | return uc->uc_mcontext.pc; | ||
117 | } | ||
118 | |||
119 | -void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) { | ||
120 | +void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { | ||
121 | #if _MIPS_SIM == _ABI64 | ||
122 | out->context_flags = MD_CONTEXT_MIPS64_FULL; | ||
123 | #elif _MIPS_SIM == _ABIO32 | ||
124 | diff --git a/src/client/linux/dump_writer_common/ucontext_reader.h b/src/client/linux/dump_writer_common/ucontext_reader.h | ||
125 | index b6e77b4b..2de80b70 100644 | ||
126 | --- a/src/client/linux/dump_writer_common/ucontext_reader.h | ||
127 | +++ b/src/client/linux/dump_writer_common/ucontext_reader.h | ||
128 | @@ -39,23 +39,23 @@ | ||
129 | |||
130 | namespace google_breakpad { | ||
131 | |||
132 | -// Wraps platform-dependent implementations of accessors to ucontext structs. | ||
133 | +// Wraps platform-dependent implementations of accessors to ucontext_t structs. | ||
134 | struct UContextReader { | ||
135 | - static uintptr_t GetStackPointer(const struct ucontext* uc); | ||
136 | + static uintptr_t GetStackPointer(const ucontext_t* uc); | ||
137 | |||
138 | - static uintptr_t GetInstructionPointer(const struct ucontext* uc); | ||
139 | + static uintptr_t GetInstructionPointer(const ucontext_t* uc); | ||
140 | |||
141 | - // Juggle a arch-specific ucontext into a minidump format | ||
142 | + // Juggle a arch-specific ucontext_t into a minidump format | ||
143 | // out: the minidump structure | ||
144 | // info: the collection of register structures. | ||
145 | #if defined(__i386__) || defined(__x86_64) | ||
146 | - static void FillCPUContext(RawContextCPU *out, const ucontext *uc, | ||
147 | + static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, | ||
148 | const struct _libc_fpstate* fp); | ||
149 | #elif defined(__aarch64__) | ||
150 | - static void FillCPUContext(RawContextCPU *out, const ucontext *uc, | ||
151 | + static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, | ||
152 | const struct fpsimd_context* fpregs); | ||
153 | #else | ||
154 | - static void FillCPUContext(RawContextCPU *out, const ucontext *uc); | ||
155 | + static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); | ||
156 | #endif | ||
157 | }; | ||
158 | |||
159 | diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc | ||
160 | index 586d84e9..05936d28 100644 | ||
161 | --- a/src/client/linux/handler/exception_handler.cc | ||
162 | +++ b/src/client/linux/handler/exception_handler.cc | ||
163 | @@ -457,9 +457,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { | ||
164 | // Fill in all the holes in the struct to make Valgrind happy. | ||
165 | memset(&g_crash_context_, 0, sizeof(g_crash_context_)); | ||
166 | memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t)); | ||
167 | - memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext)); | ||
168 | + memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t)); | ||
169 | #if defined(__aarch64__) | ||
170 | - struct ucontext* uc_ptr = (struct ucontext*)uc; | ||
171 | + ucontext_t* uc_ptr = (ucontext_t*)uc; | ||
172 | struct fpsimd_context* fp_ptr = | ||
173 | (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved; | ||
174 | if (fp_ptr->head.magic == FPSIMD_MAGIC) { | ||
175 | @@ -468,9 +468,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { | ||
176 | } | ||
177 | #elif !defined(__ARM_EABI__) && !defined(__mips__) | ||
178 | // FP state is not part of user ABI on ARM Linux. | ||
179 | - // In case of MIPS Linux FP state is already part of struct ucontext | ||
180 | + // In case of MIPS Linux FP state is already part of ucontext_t | ||
181 | // and 'float_state' is not a member of CrashContext. | ||
182 | - struct ucontext* uc_ptr = (struct ucontext*)uc; | ||
183 | + ucontext_t* uc_ptr = (ucontext_t*)uc; | ||
184 | if (uc_ptr->uc_mcontext.fpregs) { | ||
185 | memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs, | ||
186 | sizeof(g_crash_context_.float_state)); | ||
187 | @@ -494,7 +494,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) { | ||
188 | // ExceptionHandler::HandleSignal(). | ||
189 | siginfo.si_code = SI_USER; | ||
190 | siginfo.si_pid = getpid(); | ||
191 | - struct ucontext context; | ||
192 | + ucontext_t context; | ||
193 | getcontext(&context); | ||
194 | return HandleSignal(sig, &siginfo, &context); | ||
195 | } | ||
196 | diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h | ||
197 | index daba57e0..25598a29 100644 | ||
198 | --- a/src/client/linux/handler/exception_handler.h | ||
199 | +++ b/src/client/linux/handler/exception_handler.h | ||
200 | @@ -191,11 +191,11 @@ class ExceptionHandler { | ||
201 | struct CrashContext { | ||
202 | siginfo_t siginfo; | ||
203 | pid_t tid; // the crashing thread. | ||
204 | - struct ucontext context; | ||
205 | + ucontext_t context; | ||
206 | #if !defined(__ARM_EABI__) && !defined(__mips__) | ||
207 | // #ifdef this out because FP state is not part of user ABI for Linux ARM. | ||
208 | // In case of MIPS Linux FP state is already part of struct | ||
209 | - // ucontext so 'float_state' is not required. | ||
210 | + // ucontext_t so 'float_state' is not required. | ||
211 | fpstate_t float_state; | ||
212 | #endif | ||
213 | }; | ||
214 | diff --git a/src/client/linux/microdump_writer/microdump_writer.cc b/src/client/linux/microdump_writer/microdump_writer.cc | ||
215 | index 3764eec2..80ad5c46 100644 | ||
216 | --- a/src/client/linux/microdump_writer/microdump_writer.cc | ||
217 | +++ b/src/client/linux/microdump_writer/microdump_writer.cc | ||
218 | @@ -593,7 +593,7 @@ class MicrodumpWriter { | ||
219 | |||
220 | void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); } | ||
221 | |||
222 | - const struct ucontext* const ucontext_; | ||
223 | + const ucontext_t* const ucontext_; | ||
224 | #if !defined(__ARM_EABI__) && !defined(__mips__) | ||
225 | const google_breakpad::fpstate_t* const float_state_; | ||
226 | #endif | ||
227 | diff --git a/src/client/linux/minidump_writer/minidump_writer.cc b/src/client/linux/minidump_writer/minidump_writer.cc | ||
228 | index d11ba6e5..c7161434 100644 | ||
229 | --- a/src/client/linux/minidump_writer/minidump_writer.cc | ||
230 | +++ b/src/client/linux/minidump_writer/minidump_writer.cc | ||
231 | @@ -1323,7 +1323,7 @@ class MinidumpWriter { | ||
232 | const int fd_; // File descriptor where the minidum should be written. | ||
233 | const char* path_; // Path to the file where the minidum should be written. | ||
234 | |||
235 | - const struct ucontext* const ucontext_; // also from the signal handler | ||
236 | + const ucontext_t* const ucontext_; // also from the signal handler | ||
237 | #if !defined(__ARM_EABI__) && !defined(__mips__) | ||
238 | const google_breakpad::fpstate_t* const float_state_; // ditto | ||
239 | #endif | ||
240 | -- | ||
241 | 2.13.2 | ||
242 | |||
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch deleted file mode 100644 index bc6282981..000000000 --- a/meta-oe/recipes-devtools/breakpad/breakpad/0002-Avoid-using-basename.patch +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | From 806964f852773e427fea82a7716d44ce3be4498c Mon Sep 17 00:00:00 2001 | ||
2 | From: Felix Janda <felix.janda@posteo.de> | ||
3 | Date: Sun, 1 Feb 2015 14:27:32 +0100 | ||
4 | Subject: [PATCH 2/3] Avoid using basename | ||
5 | |||
6 | --- | ||
7 | src/common/linux/dump_symbols.cc | 6 +++--- | ||
8 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
9 | |||
10 | diff --git a/src/common/linux/dump_symbols.cc b/src/common/linux/dump_symbols.cc | ||
11 | index d029ca14..6ac4a17b 100644 | ||
12 | --- a/src/common/linux/dump_symbols.cc | ||
13 | +++ b/src/common/linux/dump_symbols.cc | ||
14 | @@ -881,9 +881,9 @@ const char* ElfArchitecture(const typename ElfClass::Ehdr* elf_header) { | ||
15 | // last slash, or the whole filename if there are no slashes. | ||
16 | string BaseFileName(const string &filename) { | ||
17 | // Lots of copies! basename's behavior is less than ideal. | ||
18 | - char* c_filename = strdup(filename.c_str()); | ||
19 | - string base = basename(c_filename); | ||
20 | - free(c_filename); | ||
21 | + const char *c_filename = filename.c_str(); | ||
22 | + const char *p = strrchr(c_filename, '/'); | ||
23 | + string base = p ? p+1 : c_filename; | ||
24 | return base; | ||
25 | } | ||
26 | |||
27 | -- | ||
28 | 2.14.1 | ||
29 | |||
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch deleted file mode 100644 index 852c1ed2c..000000000 --- a/meta-oe/recipes-devtools/breakpad/breakpad/0005-md2core-Replace-basename.patch +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | From bbf2b5ed5d93b227df8aea5726727b48e29f6790 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Thu, 14 Sep 2017 23:35:40 -0700 | ||
4 | Subject: [PATCH 5/5] md2core: Replace basename() | ||
5 | |||
6 | musl does not provide it | ||
7 | |||
8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
9 | --- | ||
10 | src/tools/linux/md2core/minidump-2-core.cc | 5 ++++- | ||
11 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
12 | |||
13 | diff --git a/src/tools/linux/md2core/minidump-2-core.cc b/src/tools/linux/md2core/minidump-2-core.cc | ||
14 | index 6a9e28eb..52b81c22 100644 | ||
15 | --- a/src/tools/linux/md2core/minidump-2-core.cc | ||
16 | +++ b/src/tools/linux/md2core/minidump-2-core.cc | ||
17 | @@ -107,6 +107,9 @@ struct Options { | ||
18 | |||
19 | static void | ||
20 | Usage(int argc, const char* argv[]) { | ||
21 | + const char *c_filename = argv[0];; | ||
22 | + const char *p = strrchr(c_filename, '/'); | ||
23 | + const char *base = p ? p+1 : c_filename; | ||
24 | fprintf(stderr, | ||
25 | "Usage: %s [options] <minidump file>\n" | ||
26 | "\n" | ||
27 | @@ -133,7 +136,7 @@ Usage(int argc, const char* argv[]) { | ||
28 | " lookups to be done in this directory rather than the filesystem\n" | ||
29 | " layout as it exists in the crashing image. This path should end\n" | ||
30 | " with a slash if it's a directory. e.g. /var/lib/breakpad/\n" | ||
31 | - "", basename(argv[0])); | ||
32 | + "", base); | ||
33 | } | ||
34 | |||
35 | static void | ||
36 | -- | ||
37 | 2.14.1 | ||
38 | |||
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb index d9773c9a6..2bc0aacb0 100644 --- a/meta-oe/recipes-devtools/breakpad/breakpad_git.bb +++ b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb | |||
@@ -19,10 +19,11 @@ PV = "1.0+git${SRCPV}" | |||
19 | 19 | ||
20 | SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp" | 20 | SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp" |
21 | 21 | ||
22 | SRCREV_breakpad = "dea867e76f24e4a68395684b9d1cf24bcef82f20" | 22 | SRCREV_breakpad = "5467393a3d1e7ab929fd01d79971701bf4e2c2c6" |
23 | #v1.8.0 | ||
23 | SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780" | 24 | SRCREV_gtest = "ec44c6c1675c25b9827aacd08c02433cccde7780" |
24 | SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac" | 25 | SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac" |
25 | SRCREV_lss = "a91633d172407f6c83dd69af11510b37afebb7f9" | 26 | SRCREV_lss = "a89bf7903f3169e6bc7b8efc10a73a7571de21cf" |
26 | SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770" | 27 | SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770" |
27 | 28 | ||
28 | SRC_URI = "git://github.com/google/breakpad;name=breakpad \ | 29 | SRC_URI = "git://github.com/google/breakpad;name=breakpad \ |
@@ -30,15 +31,12 @@ SRC_URI = "git://github.com/google/breakpad;name=breakpad \ | |||
30 | git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \ | 31 | git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \ |
31 | git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \ | 32 | git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \ |
32 | git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \ | 33 | git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \ |
33 | file://0001-Replace-use-of-struct-ucontext-with-ucontext_t.patch \ | ||
34 | file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \ | 34 | file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \ |
35 | file://0002-Avoid-using-basename.patch \ | ||
36 | file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \ | 35 | file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \ |
37 | file://0001-Turn-off-sign-compare-for-musl-libc.patch \ | 36 | file://0001-Turn-off-sign-compare-for-musl-libc.patch \ |
38 | file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \ | 37 | file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \ |
39 | file://0003-Dont-include-stab.h.patch \ | 38 | file://0003-Dont-include-stab.h.patch \ |
40 | file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \ | 39 | file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \ |
41 | file://0005-md2core-Replace-basename.patch \ | ||
42 | file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \ | 40 | file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \ |
43 | file://mcontext.patch \ | 41 | file://mcontext.patch \ |
44 | file://0001-disable-calls-to-getcontext-with-musl.patch \ | 42 | file://0001-disable-calls-to-getcontext-with-musl.patch \ |
@@ -49,7 +47,7 @@ S = "${WORKDIR}/git" | |||
49 | 47 | ||
50 | CXXFLAGS += "-D_GNU_SOURCE" | 48 | CXXFLAGS += "-D_GNU_SOURCE" |
51 | 49 | ||
52 | COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*" | 50 | COMPATIBLE_HOST_powerpc = "null" |
53 | 51 | ||
54 | do_install_append() { | 52 | do_install_append() { |
55 | install -d ${D}${includedir} | 53 | install -d ${D}${includedir} |
@@ -72,7 +70,7 @@ do_install_append() { | |||
72 | install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h | 70 | install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h |
73 | 71 | ||
74 | install -d ${D}${includedir}/breakpad/common | 72 | install -d ${D}${includedir}/breakpad/common |
75 | install -m 0644 ${S}/src/common/memory.h ${D}${includedir}/breakpad/common/memory.h | 73 | install -m 0644 ${S}/src/common/memory_allocator.h ${D}${includedir}/breakpad/common/memory_allocator.h |
76 | install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h | 74 | install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h |
77 | install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h | 75 | install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h |
78 | 76 | ||
@@ -120,4 +118,5 @@ breakpad_populate_sysroot() { | |||
120 | #| {standard input}:2184: Error: Thumb does not support this addressing mode -- `str r6,[r1,#-4]!' | 118 | #| {standard input}:2184: Error: Thumb does not support this addressing mode -- `str r6,[r1,#-4]!' |
121 | #| {standard input}:2191: Error: lo register required -- `ldr pc,[sp]' | 119 | #| {standard input}:2191: Error: lo register required -- `ldr pc,[sp]' |
122 | #| make: *** [src/client/linux/handler/exception_handler.o] Error 1 | 120 | #| make: *** [src/client/linux/handler/exception_handler.o] Error 1 |
123 | ARM_INSTRUCTION_SET = "arm" | 121 | ARM_INSTRUCTION_SET_armv5 = "arm" |
122 | ARM_INSTRUCTION_SET_armv4 = "arm" | ||