daemonengine / breakpad Goto Github PK
View Code? Open in Web Editor NEWGoogle Breakpad fork for Unvanquished with jon.turney's MinGW support patches.
License: Other
Google Breakpad fork for Unvanquished with jon.turney's MinGW support patches.
License: Other
On Linux, which might not be the intended place to compile this, I get the following compiler error:
src/client/linux/handler/exception_handler.cc: Funktio ”void google_breakpad::{anonymous}::InstallAlternateStackLocked()”:
src/client/linux/handler/exception_handler.cc:141:49: virhe: no matching function for call to ”max(int, long int)”
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
| ~~~~~~~~^~~~~~~~~~~~~~~~~
Tiedostossa, joka sisällytettiin kohdasta /usr/include/c++/11/bits/char_traits.h:39,
kohdasta /usr/include/c++/11/string:40,
kohdasta ./src/client/linux/handler/exception_handler.h:38,
kohdasta src/client/linux/handler/exception_handler.cc:66:
/usr/include/c++/11/bits/stl_algobase.h:254:5: huom: candidate: ”template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)”
254 | max(const _Tp& __a, const _Tp& __b)
| ^~~
/usr/include/c++/11/bits/stl_algobase.h:254:5: huom: template argument deduction/substitution failed:
src/client/linux/handler/exception_handler.cc:141:49: huom: deduced conflicting types for parameter ”const _Tp” (”int” and ”long int”)
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
| ~~~~~~~~^~~~~~~~~~~~~~~~~
Tiedostossa, joka sisällytettiin kohdasta /usr/include/c++/11/bits/char_traits.h:39,
kohdasta /usr/include/c++/11/string:40,
kohdasta ./src/client/linux/handler/exception_handler.h:38,
kohdasta src/client/linux/handler/exception_handler.cc:66:
/usr/include/c++/11/bits/stl_algobase.h:300:5: huom: candidate: ”template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)”
300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp)
| ^~~
/usr/include/c++/11/bits/stl_algobase.h:300:5: huom: template argument deduction/substitution failed:
src/client/linux/handler/exception_handler.cc:141:49: huom: deduced conflicting types for parameter ”const _Tp” (”int” and ”long int”)
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
| ~~~~~~~~^~~~~~~~~~~~~~~~~
Tiedostossa, joka sisällytettiin kohdasta /usr/include/c++/11/algorithm:62,
kohdasta src/client/linux/handler/exception_handler.cc:86:
/usr/include/c++/11/bits/stl_algo.h:3461:5: huom: candidate: ”template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)”
3461 | max(initializer_list<_Tp> __l)
| ^~~
/usr/include/c++/11/bits/stl_algo.h:3461:5: huom: template argument deduction/substitution failed:
src/client/linux/handler/exception_handler.cc:141:49: huom: täsmäämättömät tyypit ”std::initializer_list<_Tp>” ja ”int”
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
| ~~~~~~~~^~~~~~~~~~~~~~~~~
Tiedostossa, joka sisällytettiin kohdasta /usr/include/c++/11/algorithm:62,
kohdasta src/client/linux/handler/exception_handler.cc:86:
/usr/include/c++/11/bits/stl_algo.h:3467:5: huom: candidate: ”template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)”
3467 | max(initializer_list<_Tp> __l, _Compare __comp)
| ^~~
/usr/include/c++/11/bits/stl_algo.h:3467:5: huom: template argument deduction/substitution failed:
src/client/linux/handler/exception_handler.cc:141:49: huom: täsmäämättömät tyypit ”std::initializer_list<_Tp>” ja ”int”
141 | static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
| ~~~~~~~~^~~~~~~~~~~~~~~~~
Adding an L
suffix to that one number makes the compile work
I am able to generate the dmp
file for mingw Qt
application, but when I tried to run dump_sys
, I am always getting the below error
CoCreateInstance CLSID_DiaSource {E6756135-1E65-4D17-8576-610761398C3C} failed (msdia*.dll unregistered?)
Open failed
Even I downloaded msdia80.dll msdia90.dll msdia100.dll, msdia120.dll msdia.140.dll
and registered all of them in my windows system. But still it is showing me the same error.
Please help
I get symbol extraction failure with the following output:
/home/hhyyrylainen/Projects/ThriveStoreScripts/builds/godot-normal/out/windows/x64/templates-mono/godot.windows.opt.64.mono.exe: in compilation unit '../crt/crtexe.c' (offset 0x0):
/home/hhyyrylainen/Projects/ThriveStoreScripts/builds/godot-normal/out/windows/x64/templates-mono/godot.windows.opt.64.mono.exe: warning: failed to demangle memcpy
dump_syms: src/common/dwarf/bytereader.cc:58: void dwarf2reader::ByteReader::SetAddressSize(uint8): Assertion `size == 4 || size == 8' failed.
I think this is related to me updating the mingw version I was compiling with (I needed to swap a podman image from Fedora 34 to 35 to get new nuget compatible certs).
Looking at the commit history this seems to be quite a lot behind the official breakpad repo. Perhaps getting fresh code in here would restore compatibility with newer mingw compiled executables?
I'm trying to extract debug symbols from an .exe (compiled with mingw) on Linux, and this looked promising. However, after I've compiled the linux dump_syms executable (which gets compiled if I do the configure and make on Linux) it still reports "Failed to write symbol file."
Should this work? Or are the patches in this repo just for the Windows version of the symbol dump tool?
Daemon/libs/breakpad/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 Daemon/libs/breakpad/src/client/linux/handler/exception_handler.h:33,
from Daemon/libs/breakpad/src/client/linux/handler/exception_handler.cc:66:
/usr/include/x86_64-linux-gnu/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);
| ^~~~~~
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.