office-gobmx/external/breakpad
Stephan Bergmann 245c2c4631 external/breakpad: Adapt to std::allocator parts removed in C++20
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r2.html#4.2>
"Deprecating Vestigial Library Parts in C++17" deprecated, among others,
std::allocator::pointer, and
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0619r4.html#3.9>
"Reviewing Deprecated Facilities of C++17 for C++20" removed it completely.
(And <https://gcc.gnu.org/git/?p=gcc.git;a=commit;
h=954026a7a4e6a1affd1ac5db237ccd75a3316760> "Remove redundant std::allocator
members for C++20" removed it from libstdc++ now for -std=c++2a.)

The change to src/common/memory.h was necessary in Library_crashreport:

> In file included from workdir/UnpackedTarball/breakpad/src/client/linux/dump_writer_common/thread_info.h:37,
>                  from workdir/UnpackedTarball/breakpad/src/client/linux/minidump_writer/linux_dumper.h:51,
>                  from workdir/UnpackedTarball/breakpad/src/client/linux/minidump_writer/minidump_writer.h:41,
>                  from workdir/UnpackedTarball/breakpad/src/client/linux/handler/exception_handler.h:42,
>                  from desktop/source/app/crashreport.cxx:29:
> workdir/UnpackedTarball/breakpad/src/common/memory.h: In instantiation of ‘struct google_breakpad::PageStdAllocator<int>’:
> gcc/trunk/inst/include/c++/10.0.0/bits/stl_vector.h:84:21:   required from ‘struct std::__cxx1998::_Vector_base<int, google_breakpad::PageStdAllocator<int> >’
> gcc/trunk/inst/include/c++/10.0.0/bits/stl_vector.h:386:11:   required from ‘class std::__cxx1998::vector<int, google_breakpad::PageStdAllocator<int> >’
> gcc/trunk/inst/include/c++/10.0.0/debug/vector:118:11:   required from ‘class std::__debug::vector<int, google_breakpad::PageStdAllocator<int> >’
> workdir/UnpackedTarball/breakpad/src/common/memory.h:197:7:   required from ‘class google_breakpad::wasteful_vector<int>’
> workdir/UnpackedTarball/breakpad/src/client/linux/minidump_writer/linux_dumper.h:187:26:   required from here
> workdir/UnpackedTarball/breakpad/src/common/memory.h:165:47: error: no type named ‘pointer’ in ‘class std::allocator<int>’
>   165 |   typedef typename std::allocator<T>::pointer pointer;
>       |                                               ^~~~~~~

Change-Id: Id7559456cc75311837aaa9f3a531f8820d5f593d
Reviewed-on: https://gerrit.libreoffice.org/81585
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-28 10:32:18 +01:00
..
0001-Fix-double-declaration-of-tgkill-when-using-Android-.patch.1
0001-Handle-race-between-ExceptionHandler-SignalHandler-a.patch.1
breakpad-stackwalk.patch.1
breakpad-use-correct-http-header.patch.1
breakpad-wshadow.patch.1
breakpad-wshadow2.patch.1
c++20-allocator.patch
ExternalProject_breakpad.mk
Makefile
Module_breakpad.mk
README
StaticLibrary_breakpad.mk
ubsan.patch
ucontext.patch
UnpackedTarball_breakpad.mk

Google breakpad crash-reporting library

https://chromium.googlesource.com/breakpad/breakpad

When this is enabled and soffice.bin crashes, a "mini-dump" file is written
as "instdir/crash/*.dmp".

There is an UI to upload the mini-dump to a TDF server but of course
that only makes sense if the server has symbols available that match
the build, which is not the case if you have built LO yourself.

If you want to get the backtrace from local mini-dump files:

* with Visual Studio:
  1. open the *.dmp file from the Visual Studio IDE File->Open->File
  2. then click "Debug Native Only"

* otherwise:
  1. run "make symbols" to extract the debuginfo from the binaries
  2. run "workdir/UnpackedTarball/breakpad/src/processor/minidump_stackwalk foo.dmp workdir/symbols"