On October 26, 2022 4:48 PM, Daniel Stenberg wrote:
>On Wed, 26 Oct 2022, Randall via curl-library wrote:
>
>> In my view , the change at 7.86.0 to force 64-bit only constitutes an
>> ABI break.
>
>That's not a change in 7.86.0.
>
>The change in 7.86.0 is that configure now says that it sees no 64 bit type
for
>curl_off_t and those builds are deprecated and support for them will be
removed
>completely in March 2023. You can still override that error, as the error
message
>explains.
>
>The bug has been in there all for a long time for Tandem, since it has long
long but
>hasn't made curl_off_t use it.
>
>The configure check thus helped us spot this.
>
>> This fixes that and does not impact any other platform.
>
>When you fix this issue and you get a 64 bit curl_off_t, that build is not
ABI
>compatible with a previous build where that type was 32 bit.

This still does not give me sufficient direction to resolve the issue. I
need a 32-bit build and a 64-bit build for the NonStop platform. The fix
being discussed previously was:

diff --git a/include/curl/system.h b/include/curl/system.h index
8d56b8a4a..8cdf25fa4 100644
--- a/include/curl/system.h
+++ b/include/curl/system.h
@@ -170,10 +170,18 @@
  #  define CURL_FORMAT_CURL_OFF_TU    "llu"
  #  define CURL_SUFFIX_CURL_OFF_T     LL
  #  define CURL_SUFFIX_CURL_OFF_TU    ULL
  #  define CURL_TYPEOF_CURL_SOCKLEN_T int

+#elif defined(__TANDEM) && !defined(__LP64)
+#  define CURL_TYPEOF_CURL_OFF_T     long long
+#  define CURL_FORMAT_CURL_OFF_T     "lld"
+#  define CURL_FORMAT_CURL_OFF_TU    "llu"
+#  define CURL_SUFFIX_CURL_OFF_T     LL
+#  define CURL_SUFFIX_CURL_OFF_TU    ULL
+#  define CURL_TYPEOF_CURL_SOCKLEN_T int
+
  #elif defined(_WIN32_WCE)
  #  define CURL_TYPEOF_CURL_OFF_T     __int64
  #  define CURL_FORMAT_CURL_OFF_T     "I64d"
  #  define CURL_FORMAT_CURL_OFF_TU    "I64u"
  #  define CURL_SUFFIX_CURL_OFF_T     i64

This will generate a 64-bit curl_off_t, which as I understand from other
replies it is wrong for 32-bit builds. long long is invariant, being always
64-bit regardless of the memory model.

What am I missing?
-Randall

-- 
Unsubscribe: https://lists.haxx.se/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to