Control: tags 1017132 + patch
Control: tags 1017132 + pending

Dear maintainer,

I've prepared an NMU for opentracing-cpp (versioned as 1.6.0-2.1) and
uploaded it to DELAYED/7. Please feel free to tell me if I
should delay it longer.

Regards,
Luca

diff -Nru opentracing-cpp-1.6.0/debian/changelog opentracing-cpp-1.6.0/debian/changelog
--- opentracing-cpp-1.6.0/debian/changelog	2021-11-07 06:42:53.000000000 +0100
+++ opentracing-cpp-1.6.0/debian/changelog	2022-08-28 11:11:38.000000000 +0200
@@ -1,3 +1,11 @@
+opentracing-cpp (1.6.0-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/patches/catch_SIGSTKSZ.patch:
+    - Fix FTBFS with glibc 2.34 (Closes: #1017132).
+
+ -- Luca Falavigna <dktrkr...@debian.org>  Sun, 28 Aug 2022 11:11:38 +0200
+
 opentracing-cpp (1.6.0-2) unstable; urgency=medium
 
   * Upload to unstable
diff -Nru opentracing-cpp-1.6.0/debian/patches/catch_SIGSTKSZ.patch opentracing-cpp-1.6.0/debian/patches/catch_SIGSTKSZ.patch
--- opentracing-cpp-1.6.0/debian/patches/catch_SIGSTKSZ.patch	1970-01-01 01:00:00.000000000 +0100
+++ opentracing-cpp-1.6.0/debian/patches/catch_SIGSTKSZ.patch	2022-08-28 11:11:38.000000000 +0200
@@ -0,0 +1,40 @@
+Index: opentracing-cpp-1.6.0/3rd_party/include/opentracing/catch2/catch.hpp
+===================================================================
+--- opentracing-cpp-1.6.0.orig/3rd_party/include/opentracing/catch2/catch.hpp
++++ opentracing-cpp-1.6.0/3rd_party/include/opentracing/catch2/catch.hpp
+@@ -6571,6 +6571,17 @@ namespace Catch {
+         int id;
+         const char* name;
+     };
++
++    // 32kb for the alternate stack seems to be sufficient. However, this value
++    // is experimentally determined, so that's not guaranteed.
++    #if defined(_SC_SIGSTKSZ_SOURCE) || defined(_GNU_SOURCE)
++        // on glibc > 2.33 this is no longer constant, see
++        // https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=85e84fe53699fe9e392edffa993612ce08b2954a;hb=HEAD
++        static constexpr std::size_t altStackSize = 32 * 1024;
++    #else
++        static constexpr std::size_t altStackSize = std::max(static_cast<size_t>(SIGSTKSZ), 32 * 1024)
++    #endif
++
+     static SignalDefs signalDefs[] = {
+         { SIGINT,  "SIGINT - Terminal interrupt signal" },
+         { SIGILL,  "SIGILL - Illegal instruction signal" },
+@@ -6597,7 +6608,7 @@ namespace Catch {
+         isSet = true;
+         stack_t sigStack;
+         sigStack.ss_sp = altStackMem;
+-        sigStack.ss_size = SIGSTKSZ;
++        sigStack.ss_size = altStackSize;
+         sigStack.ss_flags = 0;
+         sigaltstack(&sigStack, &oldSigStack);
+         struct sigaction sa = { };
+@@ -6628,7 +6639,7 @@ namespace Catch {
+     bool FatalConditionHandler::isSet = false;
+     struct sigaction FatalConditionHandler::oldSigActions[sizeof(signalDefs)/sizeof(SignalDefs)] = {};
+     stack_t FatalConditionHandler::oldSigStack = {};
+-    char FatalConditionHandler::altStackMem[SIGSTKSZ] = {};
++    char FatalConditionHandler::altStackMem[altStackSize] = {};
+ 
+ } // namespace Catch
+ 
diff -Nru opentracing-cpp-1.6.0/debian/patches/series opentracing-cpp-1.6.0/debian/patches/series
--- opentracing-cpp-1.6.0/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ opentracing-cpp-1.6.0/debian/patches/series	2022-08-28 11:11:38.000000000 +0200
@@ -0,0 +1 @@
+catch_SIGSTKSZ.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to