disable LAZY bind for dlmopen for a while since deadlock of elf-loader during IFUNC symbol relocation
authorHajime Tazaki <tazaki@sfc.wide.ad.jp>
Fri, 25 Jul 2014 19:28:21 +0900
changeset 628 1dbf1c14ee16
parent 627 dcb0c5cb4d9f
child 629 f78efdb85c23
disable LAZY bind for dlmopen for a while since deadlock of elf-loader during IFUNC symbol relocation This problem happens on Ubuntu 14.04 (64bits) and Fedora 19 later (64bits)
utils/dce-runner.c
--- a/utils/dce-runner.c	Fri Jul 18 08:39:45 2014 +0900
+++ b/utils/dce-runner.c	Fri Jul 25 19:28:21 2014 +0900
@@ -43,7 +43,7 @@
 
 int main (int argc, char *argv[])
 {
-  void *h = dlmopen (LM_ID_NEWLM, argv[1], RTLD_LAZY | RTLD_GLOBAL | __RTLD_OPENEXEC);
+  void *h = dlmopen (LM_ID_NEWLM, argv[1], RTLD_NOW | RTLD_GLOBAL | __RTLD_OPENEXEC);
   if (h == 0)
     {
       fprintf (stderr, "unable to open %s %s\n", argv[1], dlerror ());