Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
RE: [RELEASE] curl 7.86.0
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Randall via curl-library <curl-library_at_lists.haxx.se>
Date: Wed, 26 Oct 2022 17:43:19 -0400
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
_at__at_ -170,10 +170,18 _at__at_
# 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
Date: Wed, 26 Oct 2022 17:43:19 -0400
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
_at__at_ -170,10 +170,18 _at__at_
# 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.htmlReceived on 2022-10-26