On Mon, Dec 6, 2010 at 9:23 AM, Dave Korn <dave.korn.cyg...@gmail.com> wrote: > On 06/12/2010 02:20, H.J. Lu wrote: > >>>>>> BTW, the new linker passed bootstrap-lto with all default languages. >>>>>> I am planning to include this patch in the next Linux binutils. >>>>>> >>>>> I missed the IR object in an archive: >>>>> >>>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42690#c34 >>>>> >>>>> This updated patch fixed it. OK for trunk? >>>>> >>>> We shouldn't clear SEC_EXCLUDE if BFD_PLUGIN is set: >>>> >>>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42690#c38 >>>> >>>> This updated patch fixed it. OK for trunk? >>>> >>> It turns out that my patch also fixes: >>> >>> http://sourceware.org/bugzilla/show_bug.cgi?id=12277 >>> >> >> Updated patch, adjusted for plugin ELF symbol visibility bug fix. >> OK for trunk? > > Well, I reckon this patch is great (but don't have the approval rights). > It's passed an lto-bootstrap of gcc on i686-pc-cygwin and the tests are well > underway without anything abnormal showing up. > >> + /* Free the old already linked table and create a new one. */ >> + bfd_section_already_linked_table_free (); >> + if (!bfd_section_already_linked_table_init ()) >> + einfo (_("%P%F: Failed to create hash table\n")); >> + >> + /* Free the old hash table and create a new one. */ >> + bfd_link_hash_table_free (link_info.output_bfd, >> + link_info.hash); >> + link_info.hash >> + = bfd_link_hash_table_create (link_info.output_bfd); >> + if (link_info.hash == NULL) >> + einfo (_("%P%F: can not create hash table: %E\n")); > > If I had known that there was really this little stored state to be unwound > and regenerated, I would have wanted to do it this way in the first place. > >> +typedef struct cmdlin_header_struct > > Typo there.
Fixed. > Tristan, sorry, you must be sick of hearing from me by now, but I notice the > branch was still labile a couple of hours ago... it would be really good if we > could get HJ's patch approved and backported before you spin the release. I also fixed a bunch other plugin bugs on trrunk. If we want a BFD linker with working plugin support in binutils 2.21, we should just copy all pluging changes on my hjl/lto branch at http://git.kernel.org/?p=devel/binutils/hjl/x86.git;a=summary into 2.21. Thanks. -- H.J.