Giter Site home page Giter Site logo

daemonengine / breakpad Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 5.0 11.61 MB

Google Breakpad fork for Unvanquished with jon.turney's MinGW support patches.

License: Other

Shell 4.40% Makefile 1.10% C++ 78.87% C 6.06% Python 1.95% Objective-C 3.34% Objective-C++ 2.93% Assembly 0.28% Go 0.21% Batchfile 0.15% M4 0.72%

breakpad's People

Contributors

andybons avatar cbchan avatar eholk avatar erikchen avatar folded avatar gabrielesvelto avatar georgekola avatar gordana-cmiljanovic-imgtec avatar illwieckz avatar jbudorick avatar jon-turney avatar labath avatar leizleiz avatar luser avatar mariakleiner avatar markmentovai avatar mrpickles avatar nico avatar orgads avatar pcc avatar primiano avatar qsr avatar rmcilroy avatar rsesek avatar sdefresne avatar sebmarchand avatar sgraham avatar slipher avatar tdz avatar vapier avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

breakpad's Issues

linux/handler/exception_handler.cc:141 compile error in std::max

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

not able to make dump_sys generate symbol file

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

dwarf2reader::ByteReader::SetAddressSize(uint8) Assertion

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?

Does not work for mingw symbol extraction on Linux

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?

Can't build Dæmon with breakpad on Ubuntu 19.20 with GCC 9.2.1

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);
      |            ^~~~~~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.