bug-binutils
[Top][All Lists]
Advanced

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

[Bug gold/26200] ld terminated with signal 11 with LTO and -Wl,--thread-


From: hjl.tools at gmail dot com
Subject: [Bug gold/26200] ld terminated with signal 11 with LTO and -Wl,--thread-count=2
Date: Fri, 03 Jul 2020 14:16:52 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=26200

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
This helps.  But it doesn't fix the problem.

diff --git a/gold/plugin.cc b/gold/plugin.cc
index 8963c7fa4c..f4ef613d43 100644
--- a/gold/plugin.cc
+++ b/gold/plugin.cc
@@ -755,15 +755,15 @@ Plugin_manager::claim_file(Input_file* input_file, off_t
offset,
     this->objects_.push_back(elf_object);
   this->in_claim_file_handler_ = true;

-  for (this->current_ = this->plugins_.begin();
-       this->current_ != this->plugins_.end();
-       ++this->current_)
+  for (Plugin_list::iterator p = this->plugins_.begin();
+       p != this->plugins_.end();
+       ++p)
     {
       // If we aren't yet in replacement phase, allow plugins to claim input
       // files, otherwise notify the plugin of the new input file, if needed.
       if (!this->in_replacement_phase_)
         {
-          if ((*this->current_)->claim_file(&this->plugin_input_file_))
+          if ((*p)->claim_file(&this->plugin_input_file_))
             {
               this->any_claimed_ = true;
               this->in_claim_file_handler_ = false;
@@ -775,7 +775,7 @@ Plugin_manager::claim_file(Input_file* input_file, off_t
offset,
                                                : elf_object->name());
                  this->recorder_->claimed_file(objname,
                                                offset, filesize,
-                                               (*this->current_)->filename());
+                                               (*p)->filename());
                }

               if (this->objects_.size() > handle
@@ -790,7 +790,7 @@ Plugin_manager::claim_file(Input_file* input_file, off_t
offset,
         }
       else
         {
-          (*this->current_)->new_input(&this->plugin_input_file_);
+          (*p)->new_input(&this->plugin_input_file_);
         }
     }

@@ -850,10 +850,10 @@ Plugin_manager::all_symbols_read(Workqueue* workqueue,
Task* task,
   layout->script_options()->set_defsym_uses_in_real_elf(symtab);
   layout->script_options()->find_defsym_defs(this->defsym_defines_set_);

-  for (this->current_ = this->plugins_.begin();
-       this->current_ != this->plugins_.end();
-       ++this->current_)
-    (*this->current_)->all_symbols_read();
+  for (Plugin_list::iterator p = this->plugins_.begin();
+       p != this->plugins_.end();
+       ++p)
+    (*p)->all_symbols_read();

   if (this->any_added_)
     {
@@ -1028,10 +1028,10 @@ Plugin_manager::cleanup()
       close_all_descriptors();
     }

-  for (this->current_ = this->plugins_.begin();
-       this->current_ != this->plugins_.end();
-       ++this->current_)
-    (*this->current_)->cleanup();
+  for (Plugin_list::iterator p = this->plugins_.begin();
+       p != this->plugins_.end();
+       ++p)
+    (*p)->cleanup();
 }

 // Make a new Pluginobj object.  This is called when the plugin calls

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]