Bug#865469: libc6-dev: a program crashes if it is statically linked against OpenSSL
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.
-- System Information:
Debian Release: 9.0
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.4.72 (SMP w/12 CPU cores; PREEMPT)
Locale: LANG=cs_CZ.utf8, LC_CTYPE=cs_CZ.utf8 (charmap=UTF-8), LANGUAGE=cs_CZ.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Reply to: