aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2002-10-19 00:37:50 +0000
committerAlexandre Oliva <aoliva@redhat.com>2002-10-19 00:37:50 +0000
commit6047c971a24f05be2c5ff6b45cfd56e9ca0fc020 (patch)
tree81a2d353fd0e11ac07458a083882db3b75c09d72 /gas
parenta311d50c16017fcd31e42604c3b9058d82422587 (diff)
downloadfsf-binutils-gdb-6047c971a24f05be2c5ff6b45cfd56e9ca0fc020.zip
fsf-binutils-gdb-6047c971a24f05be2c5ff6b45cfd56e9ca0fc020.tar.gz
fsf-binutils-gdb-6047c971a24f05be2c5ff6b45cfd56e9ca0fc020.tar.bz2
* config/tc-mips.c (md_begin): Add $fcc registers to the symbol
table as register names.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c14
2 files changed, 19 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index f3cb90d..1c9ee5b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-10-18 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/tc-mips.c (md_begin): Add $fcc registers to the symbol
+ table as register names.
+
2002-10-18 Ulrich Weigand <uweigand@de.ibm.com>
* config/tc-s390.c (md_parse_option): Set s390_arch_size to 32
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 5a30e51..de49657 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -1223,6 +1223,20 @@ md_begin ()
symbol_table_insert (symbol_new ("$pc", reg_section, -1,
&zero_address_frag));
+ /* If we don't add these register names to the symbol table, they
+ may end up being added as regular symbols by operand(), and then
+ make it to the object file as undefined in case they're not
+ regarded as local symbols. They're local in o32, since `$' is a
+ local symbol prefix, but not in n32 or n64. */
+ for (i = 0; i < 8; i++)
+ {
+ char buf[6];
+
+ sprintf (buf, "$fcc%i", i);
+ symbol_table_insert (symbol_new (buf, reg_section, -1,
+ &zero_address_frag));
+ }
+
mips_no_prev_insn (false);
mips_gprmask = 0;