projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[AArch64][SVE 20/32] Add support for tied operands
[deliverable/binutils-gdb.git]
/
gas
/
config
/
tc-v850.c
diff --git
a/gas/config/tc-v850.c
b/gas/config/tc-v850.c
index fc5510605b73772810f791b92aed3a242f681ac6..b0135b33d3f2cef57542521b13ce82cde75ec6eb 100644
(file)
--- a/
gas/config/tc-v850.c
+++ b/
gas/config/tc-v850.c
@@
-1,5
+1,5
@@
/* tc-v850.c -- Assembler code for the NEC V850
/* tc-v850.c -- Assembler code for the NEC V850
- Copyright (C) 1996-201
5
Free Software Foundation, Inc.
+ Copyright (C) 1996-201
6
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
This file is part of GAS, the GNU Assembler.
@@
-39,7
+39,7
@@
static int machine = -1;
/* Indiciates the target BFD architecture. */
/* Indiciates the target BFD architecture. */
-
int
v850_target_arch = bfd_arch_v850_rh850;
+
enum bfd_architecture
v850_target_arch = bfd_arch_v850_rh850;
const char * v850_target_format = "elf32-v850-rh850";
static flagword v850_e_flags = 0;
const char * v850_target_format = "elf32-v850-rh850";
static flagword v850_e_flags = 0;
@@
-270,8
+270,7
@@
v850_comm (int area)
symbolS *symbolP;
int have_align;
symbolS *symbolP;
int have_align;
- name = input_line_pointer;
- c = get_symbol_end ();
+ c = get_symbol_name (&name);
/* Just after name is now '\0'. */
p = input_line_pointer;
/* Just after name is now '\0'. */
p = input_line_pointer;
@@
-1005,15
+1004,14
@@
register_name (expressionS *expressionP)
char c;
/* Find the spelling of the operand. */
char c;
/* Find the spelling of the operand. */
- start = name = input_line_pointer;
-
- c = get_symbol_end ();
+ start = input_line_pointer;
+ c = get_symbol_name (&name);
reg_number = reg_name_search (pre_defined_registers, REG_NAME_CNT,
name, FALSE);
/* Put back the delimiting char. */
reg_number = reg_name_search (pre_defined_registers, REG_NAME_CNT,
name, FALSE);
/* Put back the delimiting char. */
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
expressionP->X_add_symbol = NULL;
expressionP->X_op_symbol = NULL;
expressionP->X_add_symbol = NULL;
expressionP->X_op_symbol = NULL;
@@
-1057,14
+1055,13
@@
system_register_name (expressionS *expressionP,
char c;
/* Find the spelling of the operand. */
char c;
/* Find the spelling of the operand. */
- start = name = input_line_pointer;
-
- c = get_symbol_end ();
+ start = input_line_pointer;
+ c = get_symbol_name (&name);
reg_number = reg_name_search (system_registers, SYSREG_NAME_CNT, name,
accept_numbers);
/* Put back the delimiting char. */
reg_number = reg_name_search (system_registers, SYSREG_NAME_CNT, name,
accept_numbers);
/* Put back the delimiting char. */
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
if (reg_number < 0
&& accept_numbers)
if (reg_number < 0
&& accept_numbers)
@@
-1118,13
+1115,12
@@
cc_name (expressionS *expressionP,
char c;
/* Find the spelling of the operand. */
char c;
/* Find the spelling of the operand. */
- start = name = input_line_pointer;
-
- c = get_symbol_end ();
+ start = input_line_pointer;
+ c = get_symbol_name (&name);
reg_number = reg_name_search (cc_names, CC_NAME_CNT, name, accept_numbers);
/* Put back the delimiting char. */
reg_number = reg_name_search (cc_names, CC_NAME_CNT, name, accept_numbers);
/* Put back the delimiting char. */
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
if (reg_number < 0
&& accept_numbers)
if (reg_number < 0
&& accept_numbers)
@@
-1169,13
+1165,12
@@
float_cc_name (expressionS *expressionP,
char c;
/* Find the spelling of the operand. */
char c;
/* Find the spelling of the operand. */
- start = name = input_line_pointer;
-
- c = get_symbol_end ();
+ start = input_line_pointer;
+ c = get_symbol_name (&name);
reg_number = reg_name_search (float_cc_names, FLOAT_CC_NAME_CNT, name, accept_numbers);
/* Put back the delimiting char. */
reg_number = reg_name_search (float_cc_names, FLOAT_CC_NAME_CNT, name, accept_numbers);
/* Put back the delimiting char. */
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
if (reg_number < 0
&& accept_numbers)
if (reg_number < 0
&& accept_numbers)
@@
-1220,13
+1215,12
@@
cacheop_name (expressionS * expressionP,
char c;
/* Find the spelling of the operand. */
char c;
/* Find the spelling of the operand. */
- start = name = input_line_pointer;
-
- c = get_symbol_end ();
+ start = input_line_pointer;
+ c = get_symbol_name (&name);
reg_number = reg_name_search (cacheop_names, CACHEOP_NAME_CNT, name, accept_numbers);
/* Put back the delimiting char. */
reg_number = reg_name_search (cacheop_names, CACHEOP_NAME_CNT, name, accept_numbers);
/* Put back the delimiting char. */
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
if (reg_number < 0
&& accept_numbers)
if (reg_number < 0
&& accept_numbers)
@@
-1269,13
+1263,12
@@
prefop_name (expressionS * expressionP,
char c;
/* Find the spelling of the operand. */
char c;
/* Find the spelling of the operand. */
- start = name = input_line_pointer;
-
- c = get_symbol_end ();
+ start = input_line_pointer;
+ c = get_symbol_name (&name);
reg_number = reg_name_search (prefop_names, PREFOP_NAME_CNT, name, accept_numbers);
/* Put back the delimiting char. */
reg_number = reg_name_search (prefop_names, PREFOP_NAME_CNT, name, accept_numbers);
/* Put back the delimiting char. */
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
if (reg_number < 0
&& accept_numbers)
if (reg_number < 0
&& accept_numbers)
@@
-1317,15
+1310,14
@@
vector_register_name (expressionS *expressionP)
char c;
/* Find the spelling of the operand. */
char c;
/* Find the spelling of the operand. */
- start = name = input_line_pointer;
-
- c = get_symbol_end ();
+ start = input_line_pointer;
+ c = get_symbol_name (&name);
reg_number = reg_name_search (vector_registers, VREG_NAME_CNT,
name, FALSE);
/* Put back the delimiting char. */
reg_number = reg_name_search (vector_registers, VREG_NAME_CNT,
name, FALSE);
/* Put back the delimiting char. */
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
expressionP->X_add_symbol = NULL;
expressionP->X_op_symbol = NULL;
expressionP->X_add_symbol = NULL;
expressionP->X_op_symbol = NULL;
@@
-1380,7
+1372,7
@@
skip_white_space (void)
and so on upwards. System registers are considered to be very
high numbers. */
and so on upwards. System registers are considered to be very
high numbers. */
-static char *
+static c
onst c
har *
parse_register_list (unsigned long *insn,
const struct v850_operand *operand)
{
parse_register_list (unsigned long *insn,
const struct v850_operand *operand)
{
@@
-1570,7
+1562,7
@@
md_show_usage (FILE *stream)
}
int
}
int
-md_parse_option (int c, char *arg)
+md_parse_option (int c, c
onst c
har *arg)
{
if (c != 'm')
{
{
if (c != 'm')
{
@@
-1653,17
+1645,19
@@
md_parse_option (int c, char *arg)
v850_target_format = "elf32-v850-rh850";
}
else if (strcmp (arg, "8byte-align") == 0)
v850_target_format = "elf32-v850-rh850";
}
else if (strcmp (arg, "8byte-align") == 0)
- v850_data_8 = TRUE;
+ {
+ v850_data_8 = TRUE;
+ v850_e_flags |= EF_RH850_DATA_ALIGN8;
+ }
else if (strcmp (arg, "4byte-align") == 0)
else if (strcmp (arg, "4byte-align") == 0)
- v850_data_8 = FALSE;
+ {
+ v850_data_8 = FALSE;
+ v850_e_flags &= ~ EF_RH850_DATA_ALIGN8;
+ }
else if (strcmp (arg, "soft-float") == 0)
soft_float = 1;
else if (strcmp (arg, "hard-float") == 0)
soft_float = 0;
else if (strcmp (arg, "soft-float") == 0)
soft_float = 1;
else if (strcmp (arg, "hard-float") == 0)
soft_float = 0;
- else if (strcmp (arg, "8byte-align") == 0)
- v850_e_flags |= EF_RH850_DATA_ALIGN8;
- else if (strcmp (arg, "4byte-align") == 0)
- v850_e_flags &= ~ EF_RH850_DATA_ALIGN8;
else
return 0;
else
return 0;
@@
-1676,7
+1670,7
@@
md_undefined_symbol (char *name ATTRIBUTE_UNUSED)
return 0;
}
return 0;
}
-char *
+c
onst c
har *
md_atof (int type, char *litp, int *sizep)
{
return ieee_md_atof (type, litp, sizep, FALSE);
md_atof (int type, char *litp, int *sizep)
{
return ieee_md_atof (type, litp, sizep, FALSE);
@@
-1765,7
+1759,7
@@
md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED,
/* Out of range conditional branch. Emit a branch around a 22bit jump. */
else if (fragP->fr_subtype == SUBYPTE_COND_9_22 + 1
|| fragP->fr_subtype == SUBYPTE_COND_9_22_32 + 1
/* Out of range conditional branch. Emit a branch around a 22bit jump. */
else if (fragP->fr_subtype == SUBYPTE_COND_9_22 + 1
|| fragP->fr_subtype == SUBYPTE_COND_9_22_32 + 1
- || fragP->fr_subtype == SUBYPTE_COND_9_17_22 + 2
+ || fragP->fr_subtype == SUBYPTE_COND_9_17_22 + 2
|| fragP->fr_subtype == SUBYPTE_COND_9_17_22_32 + 2)
{
unsigned char *buffer =
|| fragP->fr_subtype == SUBYPTE_COND_9_17_22_32 + 2)
{
unsigned char *buffer =
@@
-1885,13
+1879,13
@@
valueT
md_section_align (asection *seg, valueT addr)
{
int align = bfd_get_section_alignment (stdoutput, seg);
md_section_align (asection *seg, valueT addr)
{
int align = bfd_get_section_alignment (stdoutput, seg);
- return ((addr + (1 << align) - 1) &
(-
1 << align));
+ return ((addr + (1 << align) - 1) &
-(
1 << align));
}
void
md_begin (void)
{
}
void
md_begin (void)
{
- char *prev_name = "";
+ c
onst c
har *prev_name = "";
const struct v850_opcode *op;
if (strncmp (TARGET_CPU, "v850e3v5", 8) == 0)
const struct v850_opcode *op;
if (strncmp (TARGET_CPU, "v850e3v5", 8) == 0)
@@
-2790,18
+2784,19
@@
md_assemble (char *str)
else if ((operand->flags & V850_OPERAND_EP) != 0)
{
char *start = input_line_pointer;
else if ((operand->flags & V850_OPERAND_EP) != 0)
{
char *start = input_line_pointer;
- char c = get_symbol_end ();
+ char *name;
+ char c = get_symbol_name (&name);
- if (strcmp (
start, "ep") != 0 && strcmp (start
, "r30") != 0)
+ if (strcmp (
name, "ep") != 0 && strcmp (name
, "r30") != 0)
{
/* Put things back the way we found them. */
{
/* Put things back the way we found them. */
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
input_line_pointer = start;
errmsg = _("expected EP register");
goto error;
}
input_line_pointer = start;
errmsg = _("expected EP register");
goto error;
}
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
str = input_line_pointer;
input_line_pointer = hold;
str = input_line_pointer;
input_line_pointer = hold;
@@
-2848,6
+2843,7
@@
md_assemble (char *str)
else if ((register_name (&ex)
&& (operand->flags & V850_OPERAND_REG) == 0))
{
else if ((register_name (&ex)
&& (operand->flags & V850_OPERAND_REG) == 0))
{
+ char *name;
char c;
int exists = 0;
char c;
int exists = 0;
@@
-2860,12
+2856,12
@@
md_assemble (char *str)
input_line_pointer = str;
input_line_pointer = str;
- c = get_symbol_
end (
);
+ c = get_symbol_
name (&name
);
- if (symbol_find (
str
) != NULL)
+ if (symbol_find (
name
) != NULL)
exists = 1;
exists = 1;
-
*input_line_pointer = c
;
+
(void) restore_line_pointer (c)
;
input_line_pointer = str;
expression (&ex);
input_line_pointer = str;
expression (&ex);
@@
-3341,8
+3337,8
@@
tc_gen_reloc (asection *seg ATTRIBUTE_UNUSED, fixS *fixp)
{
arelent *reloc;
{
arelent *reloc;
- reloc =
xmalloc (sizeof (arelent)
);
- reloc->sym_ptr_ptr =
xmalloc (sizeof (asymbol *)
);
+ reloc =
XNEW (arelent
);
+ reloc->sym_ptr_ptr =
XNEW (asymbol *
);
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
*reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy);
reloc->address = fixp->fx_frag->fr_address + fixp->fx_where;
This page took
0.027281 seconds
and
4
git commands to generate.