* as.c (main): Mark symbols created via the --defsym command line

option as volatile so that they can be overridden later on by a
  .set directive.  This maintains compatibility with the behaviour
  of earlier versions of the assembler.
* doc/as.texinfo (--defsym): Document that the defined symbol's
  value can be overridden via a .set directive.
This commit is contained in:
Nick Clifton 2007-01-30 14:44:36 +00:00
parent ef7723ebe7
commit bf083c64df
3 changed files with 18 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2007-01-30 Nick Clifton <nickc@redhat.com>
* as.c (main): Mark symbols created via the --defsym command line
option as volatile so that they can be overridden later on by a
.set directive. This maintains compatibility with the behaviour
of earlier versions of the assembler.
* doc/as.texinfo (--defsym): Document that the defined symbol's
value can be overridden via a .set directive.
2076-01-28 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (swap_imm_operands): Renamed to ...

View File

@ -1,6 +1,6 @@
/* as.c - GAS main program.
Copyright 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@ -1122,6 +1122,11 @@ main (int argc, char ** argv)
sym = symbol_new (defsyms->name, absolute_section, defsyms->value,
&zero_address_frag);
/* Make symbols defined on the command line volatile, so that they
can be redefined inside a source file. This makes this assembler's
behaviour compatible with earlier versions, but it may not be
completely intuitive. */
S_SET_VOLATILE (sym);
symbol_table_insert (sym);
next = defsyms->next;
free (defsyms);

View File

@ -501,7 +501,9 @@ other assemblers.
@item --defsym @var{sym}=@var{value}
Define the symbol @var{sym} to be @var{value} before assembling the input file.
@var{value} must be an integer constant. As in C, a leading @samp{0x}
indicates a hexadecimal value, and a leading @samp{0} indicates an octal value.
indicates a hexadecimal value, and a leading @samp{0} indicates an octal
value. The value of the symbol can be overridden inside a source file via the
use of a @code{.set} pseudo-op.
@item -f
``fast''---skip whitespace and comment preprocessing (assume source is