On 3/8/22 4:38 PM, Rainer Jung wrote:
> Am 08.03.2022 um 16:33 schrieb Rainer Jung:
>>
>> Am 07.03.2022 um 16:55 schrieb Stefan Eissing:
>>> Hi all,
>>>
>>> Please find below the proposed release tarball and signatures:
>>>
>>> https://dist.apache.org/repos/dist/dev/httpd/
>>>
>>> I would like to call a VOTE over the next few days to release
>>> this candidate tarball httpd-2.4.53-rc1 as 2.4.53:
>>> [ ] +1: It's not just good, it's good enough!
>>> [ ] +0: Let's have a talk.
>>> [ ] -1: There's trouble in paradise. Here's what's wrong.
>>>
>>> The computed digests of the tarball up for vote are:
>>> sha256: 7559255a37adc5cb6f568ba224e435420f0a138cd9564162c9528b8ac08737b3
>>> *httpd-2.4.53-rc1.tar.gz
>>> sha512:
>>> a7734e2fa35389678be74bbc18136eef482ff9daecc2c1ed9c2c5eb410182735a94ff6ad248d0d4b6266e90161f2f8052d4871f381723c996ace0412b0219961
>>> *httpd-2.4.53-rc1.tar.gz
>>>
>>>
>>> The SVN candidate source is found at tags/2.4.53-rc1-candidate.
>>>
>>> Kind Regards,
>>> Stefan
>>
>> Not a vote yet, just an observation: on SLES12 (gcc 4.8.3, glibc 2.19) and
>> RHEL7 (gcc 4.8.2, glibc 2.19) with platform
>> compilers, configure detects it wants to set -std=gnu11. During make I get a
>> compilation error:
>>
>> server/util.c:3183:1: error: unknown type name ‘_Thread_local’
>>
>> The type "_Thread_local" comes from include/httpd.h:
>>
>> 2438 #if defined(__cplusplus) && __cplusplus >= 201103L
>> 2439 #define AP_THREAD_LOCAL thread_local
>> 2440 #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112
>> 2441 #define AP_THREAD_LOCAL _Thread_local
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> 2442 #elif defined(__GNUC__) /* works for clang too */
>> 2443 #define AP_THREAD_LOCAL __thread
>> 2444 #elif defined(WIN32) && defined(_MSC_VER)
>> 2445 #define AP_THREAD_LOCAL __declspec(thread)
>> 2446 #endif
>> 2447 #endif /* ndef AP_NO_THREAD_LOCAL */
>>
>> It looks like the detection is broken?
>
> See also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203066
Thanks for the pointer. Does the below fix it?
Index: include/httpd.h
===================================================================
--- include/httpd.h (revision 1898730)
+++ include/httpd.h (working copy)
@@ -2587,7 +2587,9 @@
*/
#if defined(__cplusplus) && __cplusplus >= 201103L
#define AP_THREAD_LOCAL thread_local
-#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112
+#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112 && \
+ (!defined(__GNUC__) || \
+ __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9))
#define AP_THREAD_LOCAL _Thread_local
#elif defined(__GNUC__) /* works for clang too */
#define AP_THREAD_LOCAL __thread
Regards
Rüdiger