diff options
author | Alan Modra <amodra@gmail.com> | 2005-04-09 03:48:09 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-04-09 03:48:09 +0000 |
commit | be95a9c15d32e35e7529c6a4e035e60398184b99 (patch) | |
tree | d7ed5002b1056c9a39ea4a4d0a4387bc47097a6c /gas/symbols.c | |
parent | f0885a038a82dccd604b3667e14dbc6bb3df4e99 (diff) | |
download | gdb-be95a9c15d32e35e7529c6a4e035e60398184b99.zip gdb-be95a9c15d32e35e7529c6a4e035e60398184b99.tar.gz gdb-be95a9c15d32e35e7529c6a4e035e60398184b99.tar.bz2 |
PR gas/827
* as.h (rs_dummy): Define.
* symbols.c (symbol_X_add_number): New function.
* symbols.h (symbol_X_add_number): Declare.
* stabs.c (aout_process_stab): Tidy symbol frag setting.
* read.c (assign_symbol): New function, split out from s_set.
Use symbol_find_or_make. Leave fr_type of dummy frag as rs_dummy.
Fix COFF hacks for multi-emulation gas.
(s_set): Call assign_symbol. Remove "register" keyword.
(set_zero_frag): New function.
(pseudo_set): Always check for assignment to section syms.
Always set segment and frag of symbol, and likewise extern for
aout/bout. Handle assignment of sym=sym+/-const specially. Don't
special case exp.X_add_number non-zero for O_symbol expressions.
(equals): Use assign_symbol.
Diffstat (limited to 'gas/symbols.c')
-rw-r--r-- | gas/symbols.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gas/symbols.c b/gas/symbols.c index 3093c01..bf47ebb 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -2022,6 +2022,19 @@ symbol_set_value_expression (symbolS *s, const expressionS *exp) s->sy_value = *exp; } +/* Return a pointer to the X_add_number component of a symbol. */ + +valueT * +symbol_X_add_number (symbolS *s) +{ +#ifdef BFD_ASSEMBLER + if (LOCAL_SYMBOL_CHECK (s)) + return &((struct local_symbol *) s)->lsy_value; +#endif + + return &s->sy_value.X_add_number; +} + /* Set the value of SYM to the current position in the current segment. */ void |