+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 ...
/* 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.
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);
@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