[gnutls-devel] GnuTLS | Android build failing with latest NDK (`mktime_z`) (#1603)

Read-only notification of GnuTLS library development activities gnutls-devel at lists.gnutls.org
Tue Nov 5 14:19:36 CET 2024



Arthur Khachaturov created an issue: https://gitlab.com/gnutls/gnutls/-/issues/1603



## Description of problem:
`timezone_t` struct [was introduced](https://android.googlesource.com/platform/bionic/+/HEAD/docs/status.md) in NDK r27, but `mktime_z()` is only available for API >= 35. GnuTLS expects `mktime_z()` if target has `timezone_t` symbol.

## Version of gnutls used:
3.7.11, 3.8.8


## How reproducible:

Steps to Reproduce:

* Download Android NDK r27c from Google website
* Try to build GnuTLS with NDK toolchain with `-D__ANDROID_API__=34` or less

## Actual results:
`./configure` correctly identifies that `timezone_t` struct exists, and build process then fails:
<details><summary>Build log</summary>
<pre><code>../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:1195:17: error: call to undeclared function 'mktime_z'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
 1195 |             t = mktime_z (tz, &ltm);
      |                 ^
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:1195:17: note: did you mean 'mktime'?
/home/wzray/Projects/ics-openconnect/external/openconnect/android/x86_64-linux-android/sysroot/usr/../usr/include/time.h:159:8: note: 'mktime' declared here
  159 | time_t mktime(struct tm* _Nonnull __tm);
      |        ^
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant 922337203685477580 with expression of type 'int' is always true [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:510:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  510 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  511 |                            long int, LONG_MIN, LONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:593:16: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  593 |          ? (a) < (tmax) / (b) \
      |            ~~~ ^ ~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant -922337203685477580 with expression of type 'int' is always true [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:510:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  510 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  511 |                            long int, LONG_MIN, LONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:597:13: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  594 |          : ((INT_NEGATE_OVERFLOW (b) \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
  595 |              ? _GL_INT_CONVERT (b, tmax) >> (TYPE_WIDTH (+ (b)) - 1) \
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  596 |              : (tmax) / -(b)) \
      |              ~~~~~~~~~~~~~~~~
  597 |             <= -1 - (a))) \
      |             ^  ~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant 9223372036854775807 with expression of type 'int' is always false [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:510:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  510 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  511 |                            long int, LONG_MIN, LONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:601:35: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  601 |          : 0 < (a) && -1 - (tmin) < (a) - 1) \
      |                       ~~~~~~~~~~~ ^ ~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant -922337203685477580 with expression of type 'int' is always true [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:510:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  510 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  511 |                            long int, LONG_MIN, LONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:602:22: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  602 |       : (tmin) / (b) < (a)) \
      |         ~~~~~~~~~~~~ ^ ~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant 922337203685477580 with expression of type 'int' is always false [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:510:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  510 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  511 |                            long int, LONG_MIN, LONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:609:22: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  609 |       : (tmax) / (b) < (a)))
      |         ~~~~~~~~~~~~ ^ ~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant 922337203685477580 with expression of type 'int' is always true [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:515:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  515 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  516 |                            long long int, LLONG_MIN, LLONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:593:16: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  593 |          ? (a) < (tmax) / (b) \
      |            ~~~ ^ ~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant -922337203685477580 with expression of type 'int' is always true [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:515:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  515 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  516 |                            long long int, LLONG_MIN, LLONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:597:13: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  594 |          : ((INT_NEGATE_OVERFLOW (b) \
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~
  595 |              ? _GL_INT_CONVERT (b, tmax) >> (TYPE_WIDTH (+ (b)) - 1) \
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  596 |              : (tmax) / -(b)) \
      |              ~~~~~~~~~~~~~~~~
  597 |             <= -1 - (a))) \
      |             ^  ~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant 9223372036854775807 with expression of type 'int' is always false [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:515:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  515 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  516 |                            long long int, LLONG_MIN, LLONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:601:35: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  601 |          : 0 < (a) && -1 - (tmin) < (a) - 1) \
      |                       ~~~~~~~~~~~ ^ ~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant -922337203685477580 with expression of type 'int' is always true [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:515:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  515 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  516 |                            long long int, LLONG_MIN, LLONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:602:22: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  602 |       : (tmin) / (b) < (a)) \
      |         ~~~~~~~~~~~~ ^ ~~~
../../../../sources/gnutls-3.7.11/src/gl/nstrftime.c:692:19: warning: result of comparison of constant 922337203685477580 with expression of type 'int' is always false [-Wtautological-constant-out-of-range-compare]
  692 |               if (INT_MULTIPLY_WRAPV (width, 10, &width)
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:416:34: note: expanded from macro 'INT_MULTIPLY_WRAPV'
  416 |    _GL_INT_OP_WRAPV (a, b, r, *, _GL_INT_MULTIPLY_RANGE_OVERFLOW)
      |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:505:45: note: expanded from macro '_GL_INT_OP_WRAPV'
  505 |     : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow))
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:515:41: note: expanded from macro '_GL_INT_OP_WRAPV_LONGISH'
  515 |         ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \
      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  516 |                            long long int, LLONG_MIN, LLONG_MAX) \
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:534:4: note: expanded from macro '_GL_INT_OP_CALC'
  534 |   (overflow (a, b, tmin, tmax) \
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../sources/gnutls-3.7.11/src/gl/intprops.h:609:22: note: expanded from macro '_GL_INT_MULTIPLY_RANGE_OVERFLOW'
  609 |       : (tmax) / (b) < (a)))
      |         ~~~~~~~~~~~~ ^ ~~~
10 warnings and 1 error generated.

</code></pre>

</details>

## Expected results:

A successful build

This patch for NDK can help work around this issue:
<details><summary>Patch</summary>

<pre><code>--- a/include/time.h
+++ b/include/time.h
@@ -39,6 +39,7 @@

 __BEGIN_DECLS

+#if __ANDROID_API__ >= 35
 /* If we just use void* in the typedef, the compiler exposes that in error messages. */
 struct __timezone_t;

@@ -50,6 +51,7 @@
  * to remove the pointer.
  */
 typedef struct __timezone_t* timezone_t;
+#endif

 /** Divisor to compute seconds from the result of a call to clock(). */
 #define CLOCKS_PER_SEC 1000000
</code></pre>

</details>

-- 
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/-/issues/1603
You're receiving this email because of your account on gitlab.com.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnutls-devel/attachments/20241105/af5767ee/attachment-0001.html>


More information about the Gnutls-devel mailing list