From: Ian Lance Taylor <iant@google.com>
To: Roland McGrath <roland@hack.frob.com>
Cc: "Cary Coutant" <ccoutant@google.com>,
"Alan Modra" <amodra@gmail.com>,
"GNU C. Library" <libc-alpha@sourceware.org>,
Binutils <binutils@sourceware.org>,
"Rafael Ávila de Espíndola" <rafael.espindola@gmail.com>
Subject: Re: gold vs libc
Date: Thu, 11 Sep 2014 00:04:00 -0000 [thread overview]
Message-ID: <CAKOQZ8zW_zbR1Tog6HWak9T4d9gXMd9iK=PenQq2E5u-kiNr6Q@mail.gmail.com> (raw)
In-Reply-To: <20140910225238.0B6362C39CF@topped-with-meat.com>
On Wed, Sep 10, 2014 at 3:52 PM, Roland McGrath <roland@hack.frob.com> wrote:
>
> Incidentally, Ian mentioned Gold having had a special case for the
> __EH_FRAME_BEGIN__ symbol. But 'git log -G__EH_FRAME_BEGIN -- gold' finds
> no point in the history where Gold's source code mentioned that symbol. Do
> you know what Ian was referring to? From
> https://sourceware.org/ml/libc-alpha/2014-04/msg00021.html:
>
> I freely grant that GCC's crtbegin.o file tries this trick in a number
> of different ways--even worse, crtend.o has trailing symbols. Because
> of this existing behaviour, gold has various special cases to make it
> continue to work. One of those special cases is for
> __EH_FRAME_BEGIN__. As you've seen, the existing special case does
> not work any more. This is an unfortunate interaction. I don't think
> it's an obvious bug.
I shouldn't have said __EH_FRAME_BEGIN__. There is no special case
for the symbol. There is a special case for the sections found in
typical crtbegin/crtend files. It's these lines in
Eh_frame::add_ehframe_input_section in gold/ehframe.cc:
if (contents_len == 0)
return false;
// If this is the marker section for the end of the data, then
// return false to force it to be handled as an ordinary input
// section. If we don't do this, we won't correctly handle the case
// of unrecognized .eh_frame sections.
if (contents_len == 4
&& elfcpp::Swap<32, big_endian>::readval(pcontents) == 0)
return false;
Ian
next prev parent reply other threads:[~2014-09-11 0:04 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-30 4:25 Roland McGrath
2014-03-30 4:56 ` Alan Modra
2014-03-30 5:09 ` Roland McGrath
2014-03-31 19:03 ` Ian Lance Taylor
2014-03-31 20:04 ` Roland McGrath
2014-03-31 20:53 ` Ian Lance Taylor
2014-03-31 21:40 ` Roland McGrath
2014-04-01 18:25 ` Ian Lance Taylor
2014-09-10 20:56 ` Cary Coutant
2014-09-10 22:05 ` Rafael Espíndola
2014-09-11 0:32 ` Alan Modra
2014-09-10 22:52 ` Roland McGrath
2014-09-11 0:04 ` Ian Lance Taylor [this message]
2014-12-20 13:58 ` PATCH: PR gold/14675: No eh_frame info registered in exception_static_test H.J. Lu
2014-12-22 17:37 ` Cary Coutant
2014-12-22 22:40 ` H.J. Lu
2014-12-23 0:58 ` H.J. Lu
2015-01-07 13:17 ` H.J. Lu
2015-01-07 14:43 ` H.J. Lu
2015-01-07 18:50 ` Cary Coutant
2015-01-26 17:22 ` H.J. Lu
2015-03-02 16:03 ` H.J. Lu
2015-03-09 17:16 ` Cary Coutant
2015-03-09 17:22 ` H.J. Lu
2015-03-20 15:41 ` H.J. Lu
2014-09-11 16:00 ` gold vs libc Cary Coutant
2014-09-11 16:05 ` Cary Coutant
2014-09-11 16:45 ` Rafael Espíndola
2014-09-11 16:21 ` Ian Lance Taylor
2014-09-11 18:33 ` Roland McGrath
2014-03-30 18:28 ` Carlos O'Donell
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='CAKOQZ8zW_zbR1Tog6HWak9T4d9gXMd9iK=PenQq2E5u-kiNr6Q@mail.gmail.com' \
--to=iant@google.com \
--cc=amodra@gmail.com \
--cc=binutils@sourceware.org \
--cc=ccoutant@google.com \
--cc=libc-alpha@sourceware.org \
--cc=rafael.espindola@gmail.com \
--cc=roland@hack.frob.com \
/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).