/* Suffix name and relocation. */
struct suffix_name
{
- char *suffix;
+ const char *suffix;
short unsigned int reloc;
int pic;
};
struct nds32_parse_option_table
{
const char *name; /* Option string. */
- char *help; /* Help description. */
- int (*func) (char *arg); /* How to parse it. */
+ const char *help; /* Help description. */
+ int (*func) (const char *arg); /* How to parse it. */
};
/* The value `-1' represents this option has *NOT* been set. */
#ifdef NDS32_DEFAULT_ARCH_NAME
-static char* nds32_arch_name = NDS32_DEFAULT_ARCH_NAME;
+static const char* nds32_arch_name = NDS32_DEFAULT_ARCH_NAME;
#else
-static char* nds32_arch_name = "v3";
+static const char* nds32_arch_name = "v3";
#endif
static int nds32_baseline = -1;
static int nds32_gpr16 = -1;
static int nds32_elf_flags = 0;
static int nds32_fpu_com = 0;
-static int nds32_parse_arch (char *str);
-static int nds32_parse_baseline (char *str);
-static int nds32_parse_freg (char *str);
-static int nds32_parse_abi (char *str);
+static int nds32_parse_arch (const char *str);
+static int nds32_parse_baseline (const char *str);
+static int nds32_parse_freg (const char *str);
+static int nds32_parse_abi (const char *str);
static struct nds32_parse_option_table parse_opts [] =
{
struct nds32_set_option_table
{
const char *name; /* Option string. */
- char *help; /* Help description. */
+ const char *help; /* Help description. */
int *var; /* Variable to be set. */
int value; /* Value to set. */
};
}
static void
-md_assemblef (char *format, ...)
+md_assemblef (const char *format, ...)
{
/* FIXME: hope this is long enough. */
char line[1024];
}
/* Some prototypes here, since some op may use another op. */
-static void do_pseudo_li_internal (char *rt, int imm32s);
+static void do_pseudo_li_internal (const char *rt, int imm32s);
static void do_pseudo_move_reg_internal (char *dst, char *src);
static void
}
static void
-do_pseudo_li_internal (char *rt, int imm32s)
+do_pseudo_li_internal (const char *rt, int imm32s)
{
if (enable_16bit && imm32s <= 0xf && imm32s >= -0x10)
md_assemblef ("movi55 %s,%d", rt, imm32s);
/* SMW.{b | a}{i | d}{m?} Rb, [Ra], Re, Enable4 */
int rb, re, ra, en4;
int i;
- char *opc = "pushpopm";
+ const char *opc = "pushpopm";
if (argc == 3)
as_bad ("'pushm/popm $ra5, $rb5, $label' is deprecated. "
int rb, re;
int en4;
int last_arg_index;
- char *opc = (pv == 0) ? "smw.adm" : "lmw.bim";
+ const char *opc = (pv == 0) ? "smw.adm" : "lmw.bim";
rb = re = 0;
Thus, if the value of option has been set, keep the value the way it is. */
static int
-nds32_parse_arch (char *str)
+nds32_parse_arch (const char *str)
{
static const struct nds32_arch
{
/* This function parses "baseline" specified. */
static int
-nds32_parse_baseline (char *str)
+nds32_parse_baseline (const char *str)
{
if (strcmp (str, "v3") == 0)
nds32_baseline = ISA_V3;
/* This function parses "fpu-freg" specified. */
static int
-nds32_parse_freg (char *str)
+nds32_parse_freg (const char *str)
{
if (strcmp (str, "2") == 0)
nds32_freg = E_NDS32_FPU_REG_32SP_16DP;
/* This function parse "abi=" specified. */
static int
-nds32_parse_abi (char *str)
+nds32_parse_abi (const char *str)
{
if (strcmp (str, "v2") == 0)
nds32_abi = E_NDS_ABI_AABI;
char saved_char;
char *name;
int i;
- char *subtype_relax[] =
+ const char *subtype_relax[] =
{"", "", "ex9", "ifc"};
name = input_line_pointer;
char *name;
char saved_char;
int i;
- char *possible_flags[] = { "verbatim" };
+ const char *possible_flags[] = { "verbatim" };
/* Skip whitespaces. */
name = input_line_pointer;
struct nds32_hint_map
{
bfd_reloc_code_real_type hi_type;
- char *opc;
+ const char *opc;
enum nds32_relax_hint_type hint_type;
enum nds32_br_range range;
enum nds32_insn_type insn_list;
unsigned int opcode, seq_size;
enum nds32_br_range range;
struct nds32_relocs_pattern *pattern, *hi_pattern = NULL;
- char *opc = NULL;
+ const char *opc = NULL;
relax_info_t *relax_info = NULL;
nds32_relax_fixup_info_t *fixup_info, *hint_fixup;
enum nds32_relax_hint_type hint_type = NDS32_RELAX_HINT_NONE;
enum nds32_insn_type relax_type = 0;
struct nds32_hint_map *map_ptr = hint_map;
unsigned int i;
- char *check_insn[] =
+ const char *check_insn[] =
{ "bnes38", "beqs38", "bnez38", "bnezs8", "beqz38", "beqzs8" };
/* TODO: PLT GOT. */
static bfd_boolean
nds32_match_hint_insn (struct nds32_opcode *opcode, uint32_t seq)
{
- char *check_insn[] =
+ const char *check_insn[] =
{ "bnes38", "beqs38", "bnez38", "bnezs8", "beqz38", "beqzs8" };
uint32_t insn = opcode->value;
unsigned int i;