------- Additional Comments From amodra at gmail dot com 2010-01-17 14:59 ------- $ grep '\.section' main2.s | sort | uniq | wc -l 48940
So, we have a large number of sections. COFF uses a 16 bit field in the file symbol structure to store section numbers. BFD code in various places tests that the value is non-negative, so we only support 32k sections. This results in a large number of symbols not being recognised properly. Symbols that are defined are seen as undefined, and the linker emits a large number of errors, eg. main2.o:main2.cpp:(.text$_ZN5ClassILi0ELi8EEC2Ev[__ZN5ClassILi0ELi8EEC2Ev]+0x8): undefined reference to `vtable for Class<0, 8>' It turns out that printing these errors takes a huge amount of time due to BFD trying to find line numbers for the error. This, and other parts of the COFF support use algorithms that are O(num_syms)^2*O(num_sections). I didn't leave my link process running long enough to see if it terminated. Obviously, we don't support more than 32k sections for COFF (and hence PE). -- http://sourceware.org/bugzilla/show_bug.cgi?id=11168 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils