[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#591544: libc6: dlopen() does not return when static compilation is used



reassign 591544 binutils-gold
thank

Le 04/08/10 02:07, Aurelien Jarno a écrit :
On Tue, Aug 03, 2010 at 09:59:50PM +0200, Ludovic Rousseau wrote:
Package: libc6
Version: 2.11.2-2
Severity: important

The jpilot package ./configure script generate a test program that does
not finish.

A short version of the problematic source code is:

#include<dlfcn.h>

int main ()
{
   void *self = dlopen (0, RTLD_GLOBAL | RTLD_LAZY);

   return 0;
}

And is compiled using:

$ gcc -o conftest -g -Wall   -DHAVE_DLFCN_H  -Wl,--export-dynamic -static conftest.c -ldl
conftest.c: In function ‘main’:
conftest.c:5: warning: unused variable ‘self’
/usr/bin/ld: /tmp/ccToBZZa.o: in function main:conftest.c:5: warning: Using `dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

The warning may be an indication that something strange is happening.

Then the execution:

$ ./conftest
But never returns and the ./configure never finishes.


Are you using binutils-gold?

Yes

> If yes you are probably hitting bug#584607.

It looks like you are right.
One difference with #584607 is that CPU is at 0% in my case, not 100%.

Removing binutils-gold "solved" the problem.

I reassign the bug to binutils-gold

Thanks

--
 Dr. Ludovic Rousseau



Reply to: