This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: ia64: @ not allowed to start symbol?
- From: "Jan Beulich" <JBeulich at novell dot com>
- To: <wilson at specifixinc dot com>
- Cc: <binutils at sources dot redhat dot com>
- Date: Tue, 01 Feb 2005 09:17:23 +0100
- Subject: Re: ia64: @ not allowed to start symbol?
Inside the GNU world, @ and ? inside (including at the start of) symbols
may seem useless, but outside of that world they are being used: Visual
C++ and CodeWarrior start their mangled names with ?, Borland C++ with
@, and Watcom C++ (generally) with W?. More uses of some of $, @, ?, %,
&, :, and . inside the respective symbol names follow.
So for (potentially) writing code to interface to any of these, such
'exotic' characters are required. Actually, coming from that world, I
always wondered why an assembler should put *ANY* restrictions on the
symbol names it can emit; it certainly has to restrict the symbols it
can parse directly, but through renaming methods (see IA64's .alias and
.secalias directives) arbitrary symbol names should be achievable in my
opinion.
Jan
>>> James E Wilson <wilson@specifixinc.com> 31.01.05 21:48:40 >>>
On Mon, 2005-01-31 at 09:06, Jan Beulich wrote:
> Is it intentional that one cannot have a symbol starting with @ in
IA64
> assembly sources? While these may conflict with current or future
pseudo
> operands, ias permits them.
An oversight. Gas probably hasn't ever been rigorously checked
against
post-release Intel Assembly Language manuals.
I see the IAS manual allows any of the special characters "._$@?" to
be
the first character of a symbol. "." and "_" are common in unix. "$"
appears in VMS and old K&R C code. The "@" and "?" have me puzzled
though. I don't know why anyone would want or need them as the first
character of an identifier, though I see that the netware,
interix, and PE targets allow one or both of them, so it must be a
Windows convention.
Gas gets both the @ and ? cases wrong, and should be fixed if we want
to
conform to IAS, or if someone needs them. We get the other cases
right.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com