XPost: linux.debian.bugs.dist
control: forcemerge 872727 -1
On 2017-06-21 20:48, Mikulas Patocka wrote:
Package: libc6-dev
Severity: normal
Dear Maintainer,
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
Programs can't be statically linked against OpenSSL in Debian Stretch.
* What exactly did you do (or not do) that was effective (or
ineffective)?
Try to compile this program with this command:
gcc -static hello.c -lssl -lcrypto -ldl -pthread
#include <stdio.h>
#include <stdlib.h>
#include <openssl/ssl.h>
int main(void)
{
OpenSSL_add_ssl_algorithms();
printf("Hello World!\n");
return 0;
}
* What was the outcome of this action?
If you run the statically linked program, you get a crash in glibc startup code:
#0 0x0000000000000000 in ?? ()
#1 0x00000000006296c6 in __register_frame_info.part.4 ()
#2 0x00000000004017fd in frame_dummy ()
#3 0x000000000058c2d7 in __libc_csu_init ()
#4 0x000000000058b95b in generic_start_main ()
#5 0x000000000058bc3e in __libc_start_main ()
#6 0x000000000040172a in _start ()
* What outcome did you expect instead?
The compiled program should work.
This is an upstream issue, due to two changes:
1) libssl is now linked with pthread
2) libssl now try to run getaddrinfo or gethostbyname
This trigger the following bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=21975
As a workaround you might want to link your binary against libssl1.0
instead and without -pthread.
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
[email protected] http://www.aurel32.net
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)