Compare commits
3 Commits
20160913gi
...
main
Author | SHA1 | Date | |
---|---|---|---|
b6f5a67c3e | |||
a815c68b8e | |||
8f57129242 |
65
breakpad-20171017git-gcc-10.2.0.patch
Normal file
65
breakpad-20171017git-gcc-10.2.0.patch
Normal file
@ -0,0 +1,65 @@
|
||||
diff --git a/package/google-breakpad/0003-src-client-linux-handler-exception_handler.cc-rename.patch b/package/google-breakpad/0003-src-client-linux-handler-exception_handler.cc-rename.patch
|
||||
new file mode 100644
|
||||
index 0000000000..579e7f3457
|
||||
--- /dev/null
|
||||
+++ b/package/google-breakpad/0003-src-client-linux-handler-exception_handler.cc-rename.patch
|
||||
@@ -0,0 +1,59 @@
|
||||
+From 2fa414c8655c421e7eb0bb1719928babb0ecf7c6 Mon Sep 17 00:00:00 2001
|
||||
+From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
+Date: Thu, 26 Dec 2019 22:21:33 +0100
|
||||
+Subject: [PATCH] src/client/linux/handler/exception_handler.cc: rename tgkill
|
||||
+ to BreakpadTgkill()
|
||||
+MIME-Version: 1.0
|
||||
+Content-Type: text/plain; charset=UTF-8
|
||||
+Content-Transfer-Encoding: 8bit
|
||||
+
|
||||
+Since glibc 2.30, a tgkill() function was added in the C library, and
|
||||
+its definition obviously conflicts with the internal definition of
|
||||
+google-breakpad, causing build failures:
|
||||
+
|
||||
+src/client/linux/handler/exception_handler.cc:109:12: error: ‘int tgkill(pid_t, pid_t, int)’ was declared ‘extern’ and later ‘static’ [-fpermissive]
|
||||
+ 109 | static int tgkill(pid_t tgid, pid_t tid, int sig) {
|
||||
+ | ^~~~~~
|
||||
+In file included from /usr/include/signal.h:374,
|
||||
+ from ./src/client/linux/handler/exception_handler.h:33,
|
||||
+ from src/client/linux/handler/exception_handler.cc:66:
|
||||
+/usr/include/bits/signal_ext.h:29:12: note: previous declaration of ‘int tgkill(__pid_t, __pid_t, int)’
|
||||
+ 29 | extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal);
|
||||
+ | ^~~~~~
|
||||
+
|
||||
+Upstream google-breakpad simply dropped the use of the internal
|
||||
+tgkill() in commit
|
||||
+https://chromium.googlesource.com/breakpad/breakpad/+/7e3c165000d44fa153a3270870ed500bc8bbb461. However,
|
||||
+this is not realistic for Buildroot, since we do support old systems
|
||||
+where the system C library will not necessarily provide tgkill().
|
||||
+
|
||||
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
+---
|
||||
+ src/client/linux/handler/exception_handler.cc | 4 ++--
|
||||
+ 1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
+
|
||||
+diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
|
||||
+index b63f973b..b4c279b8 100644
|
||||
+--- a/src/client/linux/handler/exception_handler.cc
|
||||
++++ b/src/client/linux/handler/exception_handler.cc
|
||||
+@@ -106,7 +106,7 @@
|
||||
+ #endif
|
||||
+
|
||||
+ // A wrapper for the tgkill syscall: send a signal to a specific thread.
|
||||
+-static int tgkill(pid_t tgid, pid_t tid, int sig) {
|
||||
++static int BreakpadTgkill(pid_t tgid, pid_t tid, int sig) {
|
||||
+ return syscall(__NR_tgkill, tgid, tid, sig);
|
||||
+ return 0;
|
||||
+ }
|
||||
+@@ -387,7 +387,7 @@ void ExceptionHandler::SignalHandler(int sig, siginfo_t* info, void* uc) {
|
||||
+ // In order to retrigger it, we have to queue a new signal by calling
|
||||
+ // kill() ourselves. The special case (si_pid == 0 && sig == SIGABRT) is
|
||||
+ // due to the kernel sending a SIGABRT from a user request via SysRQ.
|
||||
+- if (tgkill(getpid(), syscall(__NR_gettid), sig) < 0) {
|
||||
++ if (BreakpadTgkill(getpid(), syscall(__NR_gettid), sig) < 0) {
|
||||
+ // If we failed to kill ourselves (e.g. because a sandbox disallows us
|
||||
+ // to do so), we instead resort to terminating our process. This will
|
||||
+ // result in an incorrect exit code.
|
||||
+--
|
||||
+2.24.1
|
||||
+
|
27
breakpad-20171017git-glibc-2.30.patch
Normal file
27
breakpad-20171017git-glibc-2.30.patch
Normal file
@ -0,0 +1,27 @@
|
||||
diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
|
||||
index 9500520..cd94e3b 100644
|
||||
--- a/src/client/linux/handler/exception_handler.cc
|
||||
+++ b/src/client/linux/handler/exception_handler.cc
|
||||
|
||||
@@ -105,12 +105,6 @@
|
||||
#define PR_SET_PTRACER 0x59616d61
|
||||
#endif
|
||||
|
||||
-// A wrapper for the tgkill syscall: send a signal to a specific thread.
|
||||
-static int tgkill(pid_t tgid, pid_t tid, int sig) {
|
||||
- return syscall(__NR_tgkill, tgid, tid, sig);
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
namespace google_breakpad {
|
||||
|
||||
namespace {
|
||||
@@ -400,7 +394,7 @@
|
||||
// In order to retrigger it, we have to queue a new signal by calling
|
||||
// kill() ourselves. The special case (si_pid == 0 && sig == SIGABRT) is
|
||||
// due to the kernel sending a SIGABRT from a user request via SysRQ.
|
||||
- if (tgkill(getpid(), syscall(__NR_gettid), sig) < 0) {
|
||||
+ if (sys_tgkill(getpid(), syscall(__NR_gettid), sig) < 0) {
|
||||
// If we failed to kill ourselves (e.g. because a sandbox disallows us
|
||||
// to do so), we instead resort to terminating our process. This will
|
||||
// result in an incorrect exit code.
|
11
breakpad-20200605git.2757a2c9-gcc-11.2.0.patch
Normal file
11
breakpad-20200605git.2757a2c9-gcc-11.2.0.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- breakpad-20200605git.2757a2c9/src/client/linux/handler/exception_handler.cc.orig 2021-08-16 19:26:55.674699450 +0200
|
||||
+++ breakpad-20200605git.2757a2c9/src/client/linux/handler/exception_handler.cc 2021-08-16 19:27:12.182069198 +0200
|
||||
@@ -138,7 +138,7 @@
|
||||
// SIGSTKSZ may be too small to prevent the signal handlers from overrunning
|
||||
// the alternative stack. Ensure that the size of the alternative stack is
|
||||
// large enough.
|
||||
- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
||||
+ static const unsigned kSigStackSize = std::max((long int)16384, SIGSTKSZ);
|
||||
|
||||
// Only set an alternative stack if there isn't already one, or if the current
|
||||
// one is too small.
|
@ -1,5 +1,6 @@
|
||||
%define commit %(echo %version | cut -d. -f2)
|
||||
Name: breakpad
|
||||
Version: 20160913git
|
||||
Version: 20210817git.3c70e01
|
||||
Release: 1mamba
|
||||
Summary: A set of client and server components which implement a crash-reporting system
|
||||
Group: System/Tools
|
||||
@ -7,15 +8,16 @@ Vendor: openmamba
|
||||
Distribution: openmamba
|
||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||
URL: https://chromium.googlesource.com/breakpad/breakpad
|
||||
## GITSOURCE https://chromium.googlesource.com/breakpad/breakpad.git master
|
||||
Source: https://chromium.googlesource.com/breakpad/breakpad.git/master/breakpad-%{version}.tar.bz2
|
||||
Source: https://chromium.googlesource.com/breakpad/breakpad.git/master@%{commit}/breakpad-%{version}.tar.bz2
|
||||
Patch0: breakpad-20171017git-gcc-10.2.0.patch
|
||||
Patch1: breakpad-20171017git-glibc-2.30.patch
|
||||
Patch2: breakpad-20200605git.2757a2c9-gcc-11.2.0.patch
|
||||
License: BSD
|
||||
## AUTOBUILDREQ-BEGIN
|
||||
BuildRequires: glibc-devel
|
||||
BuildRequires: libgcc
|
||||
BuildRequires: libstdc++6-devel
|
||||
## AUTOBUILDREQ-END
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||||
|
||||
%description
|
||||
Breakpad is a set of client and server components which implement a crash-reporting system.
|
||||
@ -40,10 +42,16 @@ This package contains libraries and header files for developing applications tha
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
#-D -T
|
||||
#:<< _EOF
|
||||
git clone https://chromium.googlesource.com/linux-syscall-support breakpad-lss
|
||||
ln -s ../../breakpad-lss src/third_party/lss
|
||||
%patch0 -p1
|
||||
#%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
#:<< _EOF
|
||||
%configure
|
||||
%make
|
||||
|
||||
@ -58,13 +66,17 @@ ln -s ../../breakpad-lss src/third_party/lss
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/core2md
|
||||
%{_bindir}/dump_syms
|
||||
%ifarch x86_64 %{ix86}
|
||||
%{_bindir}/dump_syms_mac
|
||||
%endif
|
||||
%{_bindir}/microdump_stackwalk
|
||||
%{_bindir}/minidump-2-core
|
||||
%{_bindir}/minidump_dump
|
||||
%{_bindir}/minidump_stackwalk
|
||||
%{_bindir}/minidump_upload
|
||||
%{_bindir}/pid2md
|
||||
%{_bindir}/sym_upload
|
||||
%{_libexecdir}/core_handler
|
||||
%doc AUTHORS LICENSE
|
||||
|
||||
%files -n lib%{name}-devel
|
||||
@ -79,5 +91,20 @@ ln -s ../../breakpad-lss src/third_party/lss
|
||||
%doc README.ANDROID README.md
|
||||
|
||||
%changelog
|
||||
* Tue Aug 17 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 20210817git.3c70e01-1mamba
|
||||
- update to 20210817git.3c70e01
|
||||
|
||||
* Mon Aug 16 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 20200605git.2757a2c9-1mamba
|
||||
- update to 20200605git.2757a2c9
|
||||
|
||||
* Mon Aug 16 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 20210816git-1mamba
|
||||
- update to 20210816git
|
||||
|
||||
* Tue Mar 16 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 20171017git-2mamba
|
||||
- added patches to fix build with recent tools
|
||||
|
||||
* Mon Oct 30 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 20171017git-1mamba
|
||||
- update to 20171017
|
||||
|
||||
* Tue Sep 13 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 20160913git-1mamba
|
||||
- package created using the webbuild interface
|
||||
|
Reference in New Issue
Block a user