public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Guenther <richard.guenther@gmail.com>
To: Dave Korn <dave.korn.cygwin@googlemail.com>
Cc: Steven Bosscher <stevenb.gcc@gmail.com>,
	Toon Moene <toon@moene.org>,  	gcc mailing list <gcc@gcc.gnu.org>
Subject: Re: lto1: internal compiler error: in lto_symtab_merge_decls_1, at  	lto-symtab.c:549
Date: Mon, 26 Apr 2010 10:00:00 -0000	[thread overview]
Message-ID: <k2i84fc9c001004260246va6dc4a65rb01d9e73fe109d33@mail.gmail.com> (raw)
In-Reply-To: <4BD4F99C.9040508@gmail.com>

On Mon, Apr 26, 2010 at 4:25 AM, Dave Korn
<dave.korn.cygwin@googlemail.com> wrote:
> On 25/04/2010 23:16, Steven Bosscher wrote:
>> On Mon, Apr 26, 2010 at 12:27 AM, Dave Korn wrote:
>>
>>>  Is there a PR open about this, or any notes anywhere?  Being as I use a
>>> non-ELF platform and so gold is not an option, I'd be pleased to help with
>>> making this work.
>>
>> See http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00015.html for some
>> first steps.
>>
>> I don't understand this, actually. When I look at lto-elf/lto-coff,
>> there seems to be AR support already. But this doesn't work,
>> apparently?
>
>  There is support for offsetting an arbitrary way into a file before
> beginning reading, which in theory would let us read an archive member given
> some parsing of the archive header, but I think that we still lack any means
> of reading and parsing the archive, knowing what's there, and selecting the
> member we want.  So, we have support for reading a single archive member as an
> object for LTOing, but we need guidance about which ones and where from.
>
>  If I understand correctly, what we farm out to gold/lto-plugin is the task
> of identifying a) which archive members are required to be pulled into the
> final link depending on the undefined references found in the existing object
> files and b) what offsets those members begin at.
>
>  On the other hand, I may not understand correctly.

That's correct.  Now I delayed hacking this all into collect2
(because I don't think that's the correct place to do it).  I first
wanted to cleanup the driver <-> lto1 interface so we do _not_
rely on collect2 to identify LTO objects but instead have lto1
do that work and communicate final link objects to the driver
back via a response file (same for -fwhopr WPA / LTRANS
stage - do not exec lto1 from lto1 but rather tell the driver
the set of LTRANS files).

That's also the only easy way to get rid of the .comm __gnu_lto_v2
marker and simply check the availability of one of the always
present LTO sections.  For ar archieves it is easy to iterate
through them and we need to re-write them anyway if we want
to support partly LTO / non-LTO objects inside an archive.

Now of course if ar support ends up to look easy and sane in
the collect2 framework then we can choose to not wait for
somebody doing the above suggested cleanups ...

Richard.

>    cheers,
>      DaveK
>
>

  reply	other threads:[~2010-04-26  9:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-24 13:48 Toon Moene
2010-04-24 18:11 ` Richard Guenther
2010-04-25 11:28   ` Toon Moene
2010-04-25 19:34     ` Richard Guenther
2010-04-25 19:49       ` Steven Bosscher
2010-04-25 21:01         ` Richard Guenther
2010-04-25 22:16           ` Dave Korn
2010-04-25 22:21             ` Steven Bosscher
2010-04-26  2:13               ` Dave Korn
2010-04-26 10:00                 ` Richard Guenther [this message]
     [not found]                   ` <4BD906D5.1010408@gmail.com>
2010-04-29  9:13                     ` LTO vs static library archives [was Re: lto1: internal compiler error: in lto_symtab_merge_decls_1, at lto-symtab.c:549] Richard Guenther
2010-04-29  9:21                       ` Steven Bosscher
2010-04-29 13:03                         ` Richard Guenther
2010-04-29 14:08                       ` Jan Hubicka
2010-04-29 15:24                         ` Richard Guenther
2010-04-29 16:09                           ` Jan Hubicka
2010-04-29 14:27                       ` Ian Lance Taylor
2010-05-14 13:34     ` lto1: internal compiler error: in lto_symtab_merge_decls_1, at lto-symtab.c:549 Toon Moene
2010-05-14 13:40       ` Richard Guenther
2010-05-15  9:47         ` Toon Moene

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=k2i84fc9c001004260246va6dc4a65rb01d9e73fe109d33@mail.gmail.com \
    --to=richard.guenther@gmail.com \
    --cc=dave.korn.cygwin@googlemail.com \
    --cc=gcc@gcc.gnu.org \
    --cc=stevenb.gcc@gmail.com \
    --cc=toon@moene.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).