Bug 64429 - Commit b8649e81458194d70667952d9e26df82a79c773f in 1.1.24 breaks compilation with LibreSSL
Summary: Commit b8649e81458194d70667952d9e26df82a79c773f in 1.1.24 breaks compilation ...
Status: NEW
Alias: None
Product: Tomcat Native
Classification: Unclassified
Component: Library (show other bugs)
Version: unspecified
Hardware: All All
: P2 regression (vote)
Target Milestone: ---
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-13 13:44 UTC by Michael Osipov
Modified: 2020-05-13 16:25 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Osipov 2020-05-13 13:44:33 UTC
As documented in BZ 64419, commit b8649e81458194d70667952d9e26df82a79c773f unfortunately breaks compilation with LibreSSL:

> src/ssl.c:789:41: error: use of undeclared identifier 'thread_exit_key'; did you mean 'pthread_exit'?
>     err = apr_threadkey_private_create(&thread_exit_key, _ssl_thread_exit,
>                                         ^~~~~~~~~~~~~~~
>                                         pthread_exit
> /usr/include/pthread.h:215:7: note: 'pthread_exit' declared here
> void            pthread_exit(void *) __dead2;
>                 ^
> src/ssl.c:789:58: error: use of undeclared identifier '_ssl_thread_exit'
>     err = apr_threadkey_private_create(&thread_exit_key, _ssl_thread_exit,
>                                                          ^
> src/ssl.c:796:5: error: use of undeclared identifier 'threadkey_initialized'
>     threadkey_initialized = 1;
>     ^
> src/ssl.c:799:5: warning: implicit declaration of function 'ssl_thread_setup' is invalid in C99
>       [-Wimplicit-function-declaration]
>     ssl_thread_setup(tcn_global_pool);
>     ^

It seems like the change is incomplete for LibreSSL. We should either provide a complete solution or revert the change until a complete solution has been developed.
Comment 1 Christopher Schultz 2020-05-13 14:50:23 UTC
I think a solution is desired, but there is no need to revert.

Support for LibreSSL is a goal, not a requirement.
Comment 2 Michael Osipov 2020-05-13 16:25:45 UTC
(In reply to Christopher Schultz from comment #1)
> I think a solution is desired, but there is no need to revert.
> 
> Support for LibreSSL is a goal, not a requirement.

I agree, but if it worked before we shouldn't break it w/o any further announcement. Are you skilled enough to work on a working solution?