https://sourceware.org/bugzilla/show_bug.cgi?id=20290
Bug ID: 20290
Summary: --section-ordering-file can be very slow
Product: binutils
Version: 2.27 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gold
Assignee: ccoutant at gmail dot com
Reporter: hjl.tools at gmail dot com
CC: ian at airs dot com
Target Milestone: ---
Gold has
unsigned int
Layout::find_section_order_index(const std::string& section_name)
{
Unordered_map<std::string, unsigned int>::iterator map_it;
map_it = this->input_section_position_.find(section_name);
if (map_it != this->input_section_position_.end())
return map_it->second;
// Absolute match failed. Linear search the glob patterns.
std::vector<std::string>::iterator it;
for (it = this->input_section_glob_.begin();
it != this->input_section_glob_.end();
++it)
{
if (fnmatch((*it).c_str(), section_name.c_str(), FNM_NOESCAPE) == 0)
{
map_it = this->input_section_position_.find(*it);
gold_assert(map_it != this->input_section_position_.end());
return map_it->second;
}
}
return 0;
}
When there are 6211 sections in section ordering file and 7187124
input sections which aren't on the section ordering list, it takes
gold more than 3 hours to process these inputs on a fast machine.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils