https://sourceware.org/bugzilla/show_bug.cgi?id=25355
--- Comment #27 from Martin Liška <marxin.liska at gmail dot com> --- > > Works for me on master branch. Please try master branch to see if > it works for you. It looks one needs a system setup to have multiple plug-in which cause that: $ ls /usr/bin/../bin/../lib/bfd-plugins liblto_plugin.so.0.0.0 LLVMgold.so Now I put breakpoint here: try_load_plugin and I see: Breakpoint 2, try_load_plugin (pname=pname@entry=0x5555555653f0 "/usr/bin/../bin/../lib/bfd-plugins/liblto_plugin.so.0.0.0", abfd=abfd@entry=0x555555564a70, has_plugin_p=has_plugin_p@entry=0x7fffffffd97c) at ../../bfd/plugin.c:593 593 { (gdb) fin Run till exit from #0 try_load_plugin (pname=pname@entry=0x5555555653f0 "/usr/bin/../bin/../lib/bfd-plugins/liblto_plugin.so.0.0.0", abfd=abfd@entry=0x555555564a70, has_plugin_p=has_plugin_p@entry=0x7fffffffd97c) at ../../bfd/plugin.c:593 load_plugin (abfd=0x555555564a70) at ../../bfd/plugin.c:844 844 if (has_plugin <= 0) Value returned is $15 = 0 (gdb) list 839 if (stat (full_name, &st) == 0 && S_ISREG (st.st_mode)) 840 { 841 int valid_plugin; 842 843 found = try_load_plugin (full_name, abfd, &valid_plugin); 844 if (has_plugin <= 0) 845 has_plugin = valid_plugin; 846 } 847 free (full_name); 848 if (found) (gdb) n 845 has_plugin = valid_plugin; (gdb) 847 free (full_name); (gdb) p full_name $16 = 0x5555555653f0 "/usr/bin/../bin/../lib/bfd-plugins/liblto_plugin.so.0.0.0" (gdb) p current_plugin->plugin_name $17 = 0x5555555653f0 "/usr/bin/../bin/../lib/bfd-plugins/liblto_plugin.so.0.0.0" So the free for full_name is called, but the pointer is stored in current_plugin->plugin_name. And later compared with.. -- You are receiving this mail because: You are on the CC list for the bug.