This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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: 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 



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