Core dump on 32-bit Cygwin if program calls dlopen
Tue Jul 15 09:03:00 GMT 2014
On Jul 14 19:42, Ken Brown wrote:
> I'm getting a core dump on exit from a program that does nothing but call
> dlopen. (But the call to dlopen succeeds.) This happens only in the 32-bit
> case. Here's a simple test case.
> $ cat test_dlopen.c
> #include <stdio.h>
> #include <dlfcn.h>
> const char *dllname = "cyggs-9.dll";
> void *handle;
> printf ("Trying to dlopen %s...", dllname);
> handle = dlopen (dllname, RTLD_LAZY);
> if (handle)
> printf ("succeeded.\n");
> return 0;
> printf ("failed.\n");
> return 1;
> $ gcc test_dlopen.c
> $ ./a
> Trying to dlopen cyggs-9.dll...succeeded.
> Aborted (core dumped)
The crash occurs when calling the destructors from do_global_dtors.
The crash address points to a crash inside a destructor of libgcc
(actually cyggcc_1-1.dll) which has been pulled in by cyggs-9.dll.
What destructor in libgcc would that be? And what is it expecting
which is apparently missing?
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 819 bytes
Desc: not available
More information about the Cygwin