Hi, I have a problem with all my threads in a multi-threaded program dead-locking on some (cancelable) lock in ld.lib.so. At this point it is difficult to tell what is happening. Is there a way to force libc to link statically?
Daniel
Hi Daniel,
I have a problem with all my threads in a multi-threaded program dead-locking on some (cancelable) lock in ld.lib.so. At this point it
I wonder if this problem may be related to an issue that was recently fixed:
https://github.com/genodelabs/genode/commit/764a3656a1385185e635bb4fdac8e8fc...
The symptom was a deadlock in the cxx library that occurred when an exception was thrown during a memory allocation. See the comment in the commit for more details.
is difficult to tell what is happening. Is there a way to force libc to link statically?
Generally, this is possible by removing the 'SHARED_LIB = yes' declaration from the respective build-description file. In your case, that would be 'libports/lib/mk/libc.mk'.
Cheers Norman
Hi Norman, This sort of works. I made libc, libm and stdcxx static. Trouble is, you have to remove libm because of symbol duplication, then you can't get to some of the libm functions (e..g, sqrt).
Daniel
Generally, this is possible by removing the 'SHARED_LIB = yes' declaration from the respective build-description file. In your case, that would be 'libports/lib/mk/libc.mk'.
Cheers Norman
Hi Daniel,
On 03/28/2013 08:14 AM, Norman Feske wrote:
I have a problem with all my threads in a multi-threaded program dead-locking on some (cancelable) lock in ld.lib.so. At this point it
I wonder if this problem may be related to an issue that was recently fixed:
https://github.com/genodelabs/genode/commit/764a3656a1385185e635bb4fdac8e8fc...
The symptom was a deadlock in the cxx library that occurred when an exception was thrown during a memory allocation. See the comment in the commit for more details.
If this does not solve the problem, I would be interested in a back trace of one of those threads (on x86/Fiasco use 'bt' in JDB and feed the output to 'tool/backtrace' located in the Fiasco source tree).
Thanks,
Sebastian