diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2013-02-18 23:27:23 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2013-02-18 23:27:23 +0000 |
commit | 8a75745d3114db2057e6f9b94a74939ac4768419 (patch) | |
tree | 586248e64b24f15c6e2d959fdb0b424484adebe8 /gas/config | |
parent | 5b175e562bea1d0899b2d870715784d09c087f5b (diff) | |
download | gdb-8a75745d3114db2057e6f9b94a74939ac4768419.zip gdb-8a75745d3114db2057e6f9b94a74939ac4768419.tar.gz gdb-8a75745d3114db2057e6f9b94a74939ac4768419.tar.bz2 |
* config/tc-mips.c (s_cpload): Call mips_mark_labels and set
mips_assembling_insn appropriately.
(s_cpsetup, s_cprestore, s_cpreturn, s_cpadd): Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-mips.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 3d472f9..a9b46e9 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -16621,6 +16621,9 @@ s_cpload (int ignore ATTRIBUTE_UNUSED) /* In ELF, this symbol is implicitly an STT_OBJECT symbol. */ symbol_get_bfdsym (ex.X_add_symbol)->flags |= BSF_OBJECT; + mips_mark_labels (); + mips_assembling_insn = TRUE; + macro_start (); macro_build_lui (&ex, mips_gp_register); macro_build (&ex, "addiu", "t,r,j", mips_gp_register, @@ -16630,6 +16633,7 @@ s_cpload (int ignore ATTRIBUTE_UNUSED) mips_gp_register, reg); macro_end (); + mips_assembling_insn = FALSE; demand_empty_rest_of_line (); } @@ -16706,6 +16710,9 @@ s_cpsetup (int ignore ATTRIBUTE_UNUSED) SKIP_WHITESPACE (); expression (&ex_sym); + mips_mark_labels (); + mips_assembling_insn = TRUE; + macro_start (); if (mips_cpreturn_register == -1) { @@ -16753,6 +16760,7 @@ s_cpsetup (int ignore ATTRIBUTE_UNUSED) macro_end (); + mips_assembling_insn = FALSE; demand_empty_rest_of_line (); } @@ -16810,11 +16818,15 @@ s_cprestore (int ignore ATTRIBUTE_UNUSED) ex.X_op_symbol = NULL; ex.X_add_number = mips_cprestore_offset; + mips_mark_labels (); + mips_assembling_insn = TRUE; + macro_start (); macro_build_ldst_constoffset (&ex, ADDRESS_STORE_INSN, mips_gp_register, SP, HAVE_64BIT_ADDRESSES); macro_end (); + mips_assembling_insn = FALSE; demand_empty_rest_of_line (); } @@ -16845,6 +16857,9 @@ s_cpreturn (int ignore ATTRIBUTE_UNUSED) return; } + mips_mark_labels (); + mips_assembling_insn = TRUE; + macro_start (); if (mips_cpreturn_register == -1) { @@ -16860,6 +16875,7 @@ s_cpreturn (int ignore ATTRIBUTE_UNUSED) mips_cpreturn_register, 0); macro_end (); + mips_assembling_insn = FALSE; demand_empty_rest_of_line (); } @@ -17039,12 +17055,16 @@ s_cpadd (int ignore ATTRIBUTE_UNUSED) return; } + mips_mark_labels (); + mips_assembling_insn = TRUE; + /* Add $gp to the register named as an argument. */ macro_start (); reg = tc_get_register (0); macro_build (NULL, ADDRESS_ADD_INSN, "d,v,t", reg, reg, mips_gp_register); macro_end (); + mips_assembling_insn = FALSE; demand_empty_rest_of_line (); } |