summaryrefslogtreecommitdiff
path: root/gas/read.c
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2010-12-01 21:34:10 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2010-12-01 21:34:10 +0000
commit8329933bfea48e8853cc7bbbd01c572af14d70db (patch)
treec8dddb28cbf9fcf64f88b132b58a24dc36cc7339 /gas/read.c
parent1c59b327b1783a497e9a7b2f8a554f3bd177f0ba (diff)
downloadbinutils-redhat-8329933bfea48e8853cc7bbbd01c572af14d70db.tar.gz
* symbols.h (dot_symbol): New declaration.
(dot_symbol_init): New prototype. * symbols.c (dot_symbol): New variable. (symbol_clone): Assert it's not dot_symbol being cloned. (dot_symbol_init): New function. (symbol_clone_if_forward_ref): Create a new temporary symbol when trying to clone dot_symbol. * expr.c (current_location): Refer to dot_symbol instead of making a new temporary symbol. * read.c (read_a_source_file): Update dot_symbol as we go. * as.c (main): Call dot_symbol_init.
Diffstat (limited to 'gas/read.c')
-rw-r--r--gas/read.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gas/read.c b/gas/read.c
index bd3fa58bbe..ad9363a604 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -629,6 +629,7 @@ read_a_source_file (char *name)
was_new_line = is_end_of_line[(unsigned char) input_line_pointer[-1]];
if (was_new_line)
{
+ symbol_set_value_now (&dot_symbol);
#ifdef md_start_line_hook
md_start_line_hook ();
#endif
@@ -1128,6 +1129,7 @@ read_a_source_file (char *name)
md_after_pass_hook ();
#endif
}
+ symbol_set_value_now (&dot_symbol);
quit: