#define OPCODE_MATCHES(OPCODE, OP) \
(((OPCODE) & MASK_##OP) == MATCH_##OP)
-/* Indicate if .option directives do affect instructions. Set to true means
- we need to add $x+arch at somewhere; Otherwise just add $x for instructions
- should be enough. */
-static bool need_arch_map_symbol = false;
-
/* Create a new mapping symbol for the transition to STATE. */
static void
S_GET_NAME (seg_arch_symbol) + 2) != 0)
{
reset_seg_arch_str = true;
- need_arch_map_symbol = true;
}
else if (from_state == to_state)
return;
if (seginfo == NULL || seginfo->frchainP == NULL)
return;
- /* If we don't set any .option arch directive, then the arch_map_symbol
- in each segment must be the first instruction, and we don't need to
- add $x+arch for them. */
- if (!need_arch_map_symbol
- && seginfo->tc_segment_info_data.arch_map_symbol != 0)
- S_SET_NAME (seginfo->tc_segment_info_data.arch_map_symbol, "$x");
-
for (fragp = seginfo->frchainP->frch_root;
fragp != NULL;
fragp = fragp->fr_next)
+++ /dev/null
-#as:
-#source: mapping-non-arch.s
-#objdump: --syms --special-syms
-
-.*file format.*riscv.*
-
-SYMBOL TABLE:
-00+00 l d .text 00+00 .text
-00+00 l d .data 00+00 .data
-00+00 l d .bss 00+00 .bss
-00+00 l .text 00+00 \$x
-00+08 l .text 00+00 \$d
-00+0c l .text 00+00 \$x
-00+00 l d text.A 00+00 text.A
-00+00 l text.A 00+00 \$x
-00+02 l text.A 00+00 \$d
-00+00 l d .riscv.attributes 00+00 .riscv.attributes