Commit Graph
19 Commits
Author SHA1 Message Date
Stephan Bergmann 935f76d0ed Use proper ucontext_t in external/breakpad
SUSv4 merely claims that ucontext_t is defined as a structure type (in
<signal.h>), and at least /usr/include/sys/ucontext.h in
glibc-headers-2.26-15.fc27.x86_64 now defines it as

  typedef struct ucontext_t { ... } ucontext_t;

instead of as

  typedef struct ucontext { ... } ucontext_t;

as was done in older glibc, so referring to it as "struct ucontext" (C/C++) or
"ucontext" (C++) no longer works.

Change-Id: I3d515a4ce7e5a49d0277136cad2b982bdf799ac5
2017-11-14 18:21:22 +01:00
Stephan Bergmann 8646ab97dc Remove MinGW support
In OOo times, there'd originally been efforts to allow building on Windows with
MinGW.  Later, in LO times, this has been shifted to an attempt of cross-
compiling for Windows on Linux.  That attempt can be considered abandoned, and
the relevant code rotting.

Due to this heritage, there are now three kinds of MinGW-specific code in LO:

* Code from the original OOo native Windows effort that is no longer relevant
  for the LO cross-compilation effort, but has never been removed properly.

* Code from the original OOo native Windows effort that is re-purposed for the
  LO cross-compilation effort.

* Code that has been added specifially for the LO cross-compilation effort.

All three kinds of code are removed.

(An unrelated, remaining use of MinGW is for --enable-build-unowinreg, utilizing
--with-mingw-cross-compiler, MINGWCXX, and MINGWSTRIP.)

Change-Id: I49daad8669b4cbe49fa923050c4a4a6ff7dda568
Reviewed-on: https://gerrit.libreoffice.org/34127
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-10 18:01:27 +00:00
Stephan Bergmann b834fad4a5 external/breakpad: Work around -fsanitize=alignment
...as seen in the scenario described in 5997121a51
"Support signal handlers registered with SA_SIGINFO", first

> src/client/linux/minidump_writer/directory_reader.h:82:19: runtime error: member access within misaligned address 0x7f3f8235c2cc for type 'struct kernel_dirent', which requires 8 byte alignment
> 0x7f3f8235c2cc: note: pointer points here
>   10 02 00 00 d8 f8 3b 00  00 00 00 00 01 00 00 00  00 00 00 00 18 00 2e 00  00 00 00 04 02 c7 3b 00

and then

> src/client/linux/minidump_writer/linux_dumper.cc:382:19: runtime error: member access within misaligned address 0x7f96c225d7bc for type 'google_breakpad::MappingInfo', which requires 8 byte alignment
> 0x7f96c225d7bc: note: pointer points here
>   20 0a 32 30 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
>               ^

Change-Id: I7f739567879093a404bee3e351ce9e8257676183
2017-02-01 12:37:54 +01:00
Stephan Bergmann 16bf916eee Pass gb_VISIBILITY_FLAGS into external/breakpad
...to avoid UBSan (on Linux) reporting a ODR violation between
google_breakpad::MinidumpDescriptor::kMicrodumpOnConsole (workdir/
UnpackedTarball/breakpad/src/client/linux/handler/minidump_descriptor.cc)
defined in both the crashreport and sofficeapp dynamic libs.

Change-Id: I686a6e2041c70f0aa17a774d705dc71d95d20183
2017-01-25 16:15:58 +01:00
Michael Stahl abf38a157e breakpad: document how to read mini-dumps locally
Change-Id: I888930079fc93c609769ac31a025c410b9adad96
2017-01-06 17:16:20 +01:00
Markus Mohrhard 3f22898c15 I screwed up with the breakpad minidump_stackwalk patch
This does not affect normal LibreOffice and is only important for the
server side.

Change-Id: I270262ed6e1b22c3ef41099fda19fa386f386203
2016-06-27 04:42:22 +02:00
Markus Mohrhard e54b208df3 always compile breakpad with O2
Change-Id: I4cda93fee47244cf3eb7b13bb6cb2a3eab007cf0
2016-06-27 04:41:57 +02:00
Markus Mohrhard 74c01bb89f better use a backward compatible way to change the output
Change-Id: If5829e321db8af1f09cccafaf34a18343492f514
2016-06-27 03:37:51 +02:00
Markus Mohrhard c717158a82 add code_id to the minidump_stackwalk
Change-Id: Ibcc32344780b7ad5814678cf7dd9a2167ede1661
Reviewed-on: https://gerrit.libreoffice.org/26649
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-06-25 00:15:36 +00:00
Markus Mohrhard 4b2b496901 we are using our own minidump_upload executable
Change-Id: Icee770ff8e2db019031d618528a9aab83041389d
Reviewed-on: https://gerrit.libreoffice.org/26244
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-06-14 12:04:22 +00:00
Markus Mohrhard 238bb82f59 add missing file for breakpad library
Change-Id: I1e88b2c9d6ab91a43d03b3f87ba4e83842f2ac03
2016-05-21 04:15:59 +02:00
Michael Stahl 37f5df5537 breakpad: fix module makefile
ff9b7d118b removed the ExternalPackage
instead of the ExternalProject.

Change-Id: I9240526b29d0559e1485253383d39b5858e4039b
2016-03-31 23:59:38 +02:00
Markus Mohrhard ff9b7d118b support building breakpad on windows
Change-Id: I74b0e5a8e922935c9667491e5f33c514c3315d2a
Reviewed-on: https://gerrit.libreoffice.org/23667
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-30 22:50:39 +00:00
Markus Mohrhard f6e993e73f fix a number of Wshadow warnings in breakpad
Change-Id: I8133e03e4ed21ac1efd9982860276d4776850bba
Reviewed-on: https://gerrit.libreoffice.org/22567
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-02-27 13:21:30 +00:00
David Tardon c95c96d62d AFAICS breakpad does use neither glew nor libgltf
Change-Id: Icfea7b921d990a3d7adcbebbda2cddbc62d8ea39
2016-02-22 21:04:48 +01:00
David Tardon 31ea7b19e5 _use_autoconf is not needed
It enables building with gcc wrappers on Windows, which is not used here

Change-Id: I8b27ae9f8952fd3fbae37d17fdddfc1d3b9d5fb6
2016-02-22 21:04:34 +01:00
Markus Mohrhard 1a25f74bcc fix the minidump_upload script to send correct http header
Change-Id: Ie373992ca9d69fec508778947a983fad56924a60
Reviewed-on: https://gerrit.libreoffice.org/22550
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-02-22 20:03:05 +00:00
Markus Mohrhard 262eddce8a package minidump_upload tool
We are going to use this tool for uploading the minidumps for now.

Change-Id: I2c59d420e3884aee46411df913c2ec067e0c636b
Reviewed-on: https://gerrit.libreoffice.org/22549
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-02-22 19:53:28 +00:00
Markus Mohrhard a46ef637d5 include breakpad into the build
Change-Id: I1bfd107502332fc86ae5e96bbc1f475b8d669c6c
Reviewed-on: https://gerrit.libreoffice.org/22547
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-02-22 18:20:13 +00:00