office-gobmx/external/breakpad/SIGSTKSZ.patch
Stephan Bergmann c90cb1b3c2 external/breakpad: Adpat to SIGSTKSZ type in glibc 2.34
<https://sourceware.org/git/?p=glibc.git;a=commit;h=6c57d320484988e87e446e2e60ce42816bf51d53>
"sysconf: Add _SC_MINSIGSTKSZ/_SC_SIGSTKSZ [BZ #20305]" introduced
sysdeps/unix/sysv/linux/bits/sigstksz.h containing

> # define SIGSTKSZ sysconf (_SC_SIGSTKSZ)

so that SIGSTKSZ would have type long, causing

> src/client/linux/handler/exception_handler.cc: In function ‘void google_breakpad::{anonymous}::InstallAlternateStackLocked()’:
> src/client/linux/handler/exception_handler.cc:141:49: error: no matching function for call to ‘max(int, long int)’
>   141 |   static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
>       |                                         ~~~~~~~~^~~~~~~~~~~~~~~~~

when building ExternalProject_breakpad.  At least SuS4 appears to be silent
about a required type of SIGSTKSZ defined in signal.h.

Change-Id: I4d87017e10825ef051721f4e9ca751a77bb0d5c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123455
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-12 17:07:08 +02:00

11 lines
562 B
Diff

--- src/client/linux/handler/exception_handler.cc
+++ src/client/linux/handler/exception_handler.cc
@@ -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<decltype(SIGSTKSZ)>(16384, SIGSTKSZ);
// Only set an alternative stack if there isn't already one, or if the current
// one is too small.