public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Richard Sandiford <rdsandiford@googlemail.com>
To: "Maciej W. Rozycki" <macro@codesourcery.com>
Cc: Catherine Moore <clm@codesourcery.com>,  binutils@sourceware.org
Subject: Re: [PATCH 2.5/4 v2] GAS: Make new fake labels when cloning a symbol
Date: Sat, 30 Oct 2010 10:01:00 -0000	[thread overview]
Message-ID: <87aalwngmr.fsf@firetop.home> (raw)
In-Reply-To: <alpine.DEB.1.10.1010291442440.25860@tp.orcam.me.uk> (Maciej	W. Rozycki's message of "Fri, 29 Oct 2010 15:37:58 +0100 (BST)")

"Maciej W. Rozycki" <macro@codesourcery.com> writes:
> 2010-10-29  Maciej W. Rozycki  <macro@codesourcery.com>
>
> 	gas/
> 	* symbols.h (dot_symbol): New declaration.
> 	(dot_symbol_init): New prototype.
> 	* symbols.c (dot_symbol): New variable.
> 	(dot_symbol_init): New function.
> 	(symbol_clone_if_forward_ref): Create a new temporary symbol
> 	when trying to clone dot_symbol.
> 	* expr.c (current_location): Refer to dot_symbol instead of
> 	making a new temporary symbol.
> 	* read.c (read_a_source_file): Update dot_symbol as we go.
> 	* as.c (main): Call dot_symbol_init.

Looks good.  However, 

gcc (Debian 4.4.4-8) 4.4.5 20100728 (prerelease)

complains about so-called aliasing violations on these calls:

> +  S_SET_NAME (&dot_symbol, ".");
> +  S_SET_FORWARD_REF (&dot_symbol);

It's inlining the calls and warning about the local case, which obviously
doesn't apply here.  I know it's not usually good practice to recode to
avoid bogus warnings, but let's use:

  dot_symbol.bsym->name = ".";
  dot_symbol.sy_forward_ref = 1;

anyway.  Could you also add a gcc_assert to symbol_clone to make sure
that we don't accidentally clone dot_symbol in other cases?

OK with those changes once 2.21 has branched, thanks.

Richard

  reply	other threads:[~2010-10-30 10:01 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-26 10:47 [PATCH 2/4] " Maciej W. Rozycki
2010-07-31  8:59 ` Richard Sandiford
2010-08-27 12:11   ` Maciej W. Rozycki
2010-08-30 17:53     ` Richard Sandiford
2010-10-29 14:37 ` [PATCH 2.0/4 v2] GAS: Only clone equated symbols on a final reference Maciej W. Rozycki
2010-10-30  9:56   ` Richard Sandiford
2010-12-01 20:35     ` Maciej W. Rozycki
2010-10-29 14:38 ` [PATCH 2.5/4 v2] GAS: Make new fake labels when cloning a symbol Maciej W. Rozycki
2010-10-30 10:01   ` Richard Sandiford [this message]
2010-11-01 12:23     ` Maciej W. Rozycki
2010-11-01 21:32       ` Richard Sandiford
2010-12-01 21:34         ` Maciej W. Rozycki
2010-12-02 10:00           ` Jie Zhang
2010-12-02 17:01           ` Richard Earnshaw
2010-12-02 23:19             ` Maciej W. Rozycki
2010-12-03 10:58               ` Richard Sandiford
2010-12-03 16:20                 ` Maciej W. Rozycki
2010-12-03 16:47                   ` Richard Sandiford

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=87aalwngmr.fsf@firetop.home \
    --to=rdsandiford@googlemail.com \
    --cc=binutils@sourceware.org \
    --cc=clm@codesourcery.com \
    --cc=macro@codesourcery.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).