On Mon, Jul 03, 2017 at 01:45:39PM +0200, hiro wrote: > I have a related question. how can i statically link X11 programs > nowadays? Without dlopen obviously...
AFAIK, you can statically link all of them... but it was a long time ago. The real culprit for static linking is in the gnu glibc: pthread_cancel _does_ dlopen libgcc_s for "stack unwinding code" (just kill the stack, why unwind it??). This is how you can bootstrap a system build with a glibc which does not require an existing libgcc_s which depends itself on the libc (it breaks the circular dep). But gcc is doomed anyway as it goes c++. To summerize, you have any program which uses pthread_cancel, you MUST use libgcc_s, here dies the static libgcc distros. It seems musl lib has a pthread_cancel which does work with "libgcc_s dlopen free" static linking... -- Sylvain