This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Dropping support of repo files (tlink)


On Fri, Jun 21, 2019 at 1:50 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
>
>
> > On 21 Jun 2019, at 11:40, Martin Liška <mliska@suse.cz> wrote:
> >
> > On 6/21/19 12:34 PM, Iain Sandoe wrote:
> >>
> >>> On 21 Jun 2019, at 11:28, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> >>>
> >>> On Fri, 21 Jun 2019 at 11:22, Martin Liška <mliska@suse.cz> wrote:
> >>>>
> >>>> On 6/20/19 9:53 PM, Richard Biener wrote:
> >>>>> On June 20, 2019 5:09:55 PM GMT+02:00, "Martin Liška" <mliska@suse.cz> wrote:
> >>>>>> On 6/20/19 4:21 PM, David Edelsohn wrote:
> >>>>>>> On Thu, Jun 20, 2019 at 10:05 AM Martin Liška <mliska@suse.cz> wrote:
> >>>>>>>>
> >>>>>>>> Hi.
> >>>>>>>>
> >>>>>>>> In order to not buffer stderr output in LTO mode, I would like to
> >>>>>> remove
> >>>>>>>> support for repo files (tlink). If I'm correctly it's only used by
> >>>>>> AIX
> >>>>>>>> target. Would it be possible to drop that for the future? Is it even
> >>>>>>>> used?
> >>>>>>>
> >>>>>>> AIX currently does not support GCC LTO, but the hope was that GCC
> >>>>>>> would not do anything to specifically inhibit that ability to
> >>>>>>> eventually support that feature. AIX currently needs collect2.  I
> >>>>>>> guess that AIX could try to find another mechanism when it adds
> >>>>>>> support.
> >>>>>>
> >>>>>> Yes, I'm fine with collect2. I'm more precisely asking about
> >>>>>> read_report_files
> >>>>>> that lives in tlink.c. If I understand correctly, it's parsing output
> >>>>>> of linker
> >>>>>> and tries to find template implementations in a .rpo files that live on
> >>>>>> a disk.
> >>>>>> That's a legacy functionality that I'm targeting to remove.
> >>>>>
> >>>>> IIRC -frepo also works on Linux?
> >>>>
> >>>> Heh, you are right ;). Is there are consumer of that infrastructure
> >>>> or can we just drop it?
> >>>
> >>> Anybody using option 2 at
> >>> https://gcc.gnu.org/onlinedocs/gcc/Template-Instantiation.html
> >>>
> >>> I have no idea if anybody is using that, but we should at least
> >>> deprecate it instead of just dropping a documented option without
> >>> warning.
> >>
> >> I should have been clearer about Darwin:
> >>
> >> collect2 is required because it wraps the calling of lto-wrapper and ld.
> >>
> >> FWIW Darwin also passes all the “-frepo” testcases, however, I’m not aware of anyone actually
> >> using case #2 from Jonathan’s post.
> >>
> >> So, AFAIK the tlink capability isn’t required for modern C++ on Darwin; but, maybe deprecation is a
> >> safer step.
> >
> > Thank you for the information.
> >
> > Yes, I would be fine to deprecate that for GCC 10.1
>
> “thinking aloud” - would it work to deprecate (or even disallow immediately if no-one is using it) LTO + frepo?
> (so that non-LTO frepo continues as long as anyone needs it)

Does that even work? ;)  It would need an intermediate compile-step to
instantiate templates to
another LTO object.

Richard.

>
> Iain
>
>
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]