On Sun, Dec 5, 2010 at 10:22 AM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Sat, Dec 4, 2010 at 4:43 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >> On Sat, Dec 4, 2010 at 9:34 AM, H.J. Lu <hjl.to...@gmail.com> wrote: >>> On Fri, Dec 3, 2010 at 10:07 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >>>> On Fri, Dec 3, 2010 at 6:34 PM, H.J. Lu <hjl.to...@gmail.com> wrote: >>>>> On Fri, Dec 3, 2010 at 6:23 PM, Dave Korn <dave.korn.cyg...@gmail.com> >>>>> wrote: >>>>>> On 04/12/2010 01:24, H.J. Lu wrote: >>>>>> >>>>>>> I checked in a patch to implement stage 2 linking. Everything >>>>>>> seems to work, including "gcc -static ... -lm". >>>>>> >>>>>> Any chance you could send a complete diff? >>>>>> >>>>> >>>>> I will submit a complete diff after I fix a few corner cases. >>>>> In the meantime, you can clone my git tree and do a "git diff". >>>>> >>>> >>>> Hi, >>>> >>>> This patch implements 2 stage BFD linker for LTO plugin. >>>> It works with current LTO API on all cases I tested. >>>> >>>> Known issue: --whole-archive will call plugin on archives with IR >>>> in stage 2 linking. But ld never calls plugin to get back object files. >>>> I will try to avoid it in a follow up patch. >>>> >>> >>> This turns out not a problem. In stage 2 linking, for --whole-archive >>> we call plugin to get symbols in the IR element of an archive and >>> it will be ignored for stage 2 linking. It is OK since we already get >>> the trans object files back for stage 2 linking. >>> >>> 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 -- H.J.