projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
MIPS/GAS: Relax branches to symbols resolved at link time
[deliverable/binutils-gdb.git]
/
gas
/
config
/
tc-tic30.c
diff --git
a/gas/config/tc-tic30.c
b/gas/config/tc-tic30.c
index 7dea5d7f9d3ac1e7290513c591059df2ea5d8e04..725691c3acaaa40922bae2bd64015896ec2a2ebc 100644
(file)
--- a/
gas/config/tc-tic30.c
+++ b/
gas/config/tc-tic30.c
@@
-1,6
+1,5
@@
/* tc-c30.c -- Assembly code for the Texas Instruments TMS320C30
/* tc-c30.c -- Assembly code for the Texas Instruments TMS320C30
- Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 1998-2016 Free Software Foundation, Inc.
Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
This file is part of GAS, the GNU Assembler.
Contributed by Steven Haworth (steve@pm.cse.rmit.edu.au)
This file is part of GAS, the GNU Assembler.
@@
-32,9
+31,9
@@
/* Put here all non-digit non-letter characters that may occur in an
operand. */
static char operand_special_chars[] = "%$-+(,)*._~/<>&^!:[@]";
/* Put here all non-digit non-letter characters that may occur in an
operand. */
static char operand_special_chars[] = "%$-+(,)*._~/<>&^!:[@]";
-static char *ordinal_names[] =
+static c
onst c
har *ordinal_names[] =
{
{
- "first", "second", "third", "fourth", "fifth"
+ N_("first"), N_("second"), N_("third"), N_("fourth"), N_("fifth")
};
const char comment_chars[] = ";";
};
const char comment_chars[] = ";";
@@
-85,11
+84,11
@@
debug (const char *string, ...)
if (flag_debug)
{
char str[100];
if (flag_debug)
{
char str[100];
+ va_list argptr;
- VA_OPEN (argptr, string);
- VA_FIXEDARG (argptr, const char *, string);
+ va_start (argptr, string);
vsprintf (str, string, argptr);
vsprintf (str, string, argptr);
-
VA_CLOSE
(argptr);
+
va_end
(argptr);
if (str[0] == '\0')
return (0);
fputs (str, USE_STDOUT ? stdout : stderr);
if (str[0] == '\0')
return (0);
fputs (str, USE_STDOUT ? stdout : stderr);
@@
-281,7
+280,7
@@
output_invalid (char c)
snprintf (output_invalid_buf, sizeof (output_invalid_buf),
"'%c'", c);
else
snprintf (output_invalid_buf, sizeof (output_invalid_buf),
"'%c'", c);
else
- snprintf (output_invalid_buf, sizeof (output_invalid_buf),
+ snprintf (output_invalid_buf, sizeof (output_invalid_buf),
"(0x%x)", (unsigned char) c);
return output_invalid_buf;
}
"(0x%x)", (unsigned char) c);
return output_invalid_buf;
}
@@
-400,12
+399,10
@@
static operand *
tic30_operand (char *token)
{
unsigned int count;
tic30_operand (char *token)
{
unsigned int count;
- char ind_buffer[strlen (token)];
operand *current_op;
debug ("In tic30_operand with %s\n", token);
operand *current_op;
debug ("In tic30_operand with %s\n", token);
- current_op = malloc (sizeof (* current_op));
- memset (current_op, '\0', sizeof (operand));
+ current_op = XCNEW (operand);
if (*token == DIRECT_REFERENCE)
{
if (*token == DIRECT_REFERENCE)
{
@@
-464,6
+461,9
@@
tic30_operand (char *token)
int disp_number = 0;
int buffer_posn = 1;
ind_addr_type *ind_addr_op;
int disp_number = 0;
int buffer_posn = 1;
ind_addr_type *ind_addr_op;
+ char * ind_buffer;
+
+ ind_buffer = XNEWVEC (char, strlen (token));
debug ("Found indirect reference\n");
ind_buffer[0] = *token;
debug ("Found indirect reference\n");
ind_buffer[0] = *token;
@@
-481,11
+481,13
@@
tic30_operand (char *token)
if (found_ar)
{
as_bad (_("More than one AR register found in indirect reference"));
if (found_ar)
{
as_bad (_("More than one AR register found in indirect reference"));
+ free (ind_buffer);
return NULL;
}
if (*(token + count + 1) < '0' || *(token + count + 1) > '7')
{
as_bad (_("Illegal AR register in indirect reference"));
return NULL;
}
if (*(token + count + 1) < '0' || *(token + count + 1) > '7')
{
as_bad (_("Illegal AR register in indirect reference"));
+ free (ind_buffer);
return NULL;
}
ar_number = *(token + count + 1) - '0';
return NULL;
}
ar_number = *(token + count + 1) - '0';
@@
-506,6
+508,7
@@
tic30_operand (char *token)
if (found_disp)
{
as_bad (_("More than one displacement found in indirect reference"));
if (found_disp)
{
as_bad (_("More than one displacement found in indirect reference"));
+ free (ind_buffer);
return NULL;
}
count++;
return NULL;
}
count++;
@@
-514,6
+517,7
@@
tic30_operand (char *token)
if (!is_digit_char (*(token + count)))
{
as_bad (_("Invalid displacement in indirect reference"));
if (!is_digit_char (*(token + count)))
{
as_bad (_("Invalid displacement in indirect reference"));
+ free (ind_buffer);
return NULL;
}
disp[disp_posn++] = *(token + (count++));
return NULL;
}
disp[disp_posn++] = *(token + (count++));
@@
-531,6
+535,7
@@
tic30_operand (char *token)
if (!found_ar)
{
as_bad (_("AR register not found in indirect reference"));
if (!found_ar)
{
as_bad (_("AR register not found in indirect reference"));
+ free (ind_buffer);
return NULL;
}
return NULL;
}
@@
-547,18
+552,21
@@
tic30_operand (char *token)
{
/* Maybe an implied displacement of 1 again. */
as_bad (_("required displacement wasn't given in indirect reference"));
{
/* Maybe an implied displacement of 1 again. */
as_bad (_("required displacement wasn't given in indirect reference"));
- return 0;
+ free (ind_buffer);
+ return NULL;
}
}
else
{
as_bad (_("illegal indirect reference"));
}
}
else
{
as_bad (_("illegal indirect reference"));
+ free (ind_buffer);
return NULL;
}
if (found_disp && (disp_number < 0 || disp_number > 255))
{
as_bad (_("displacement must be an unsigned 8-bit number"));
return NULL;
}
if (found_disp && (disp_number < 0 || disp_number > 255))
{
as_bad (_("displacement must be an unsigned 8-bit number"));
+ free (ind_buffer);
return NULL;
}
return NULL;
}
@@
-566,6
+574,7
@@
tic30_operand (char *token)
current_op->indirect.disp = disp_number;
current_op->indirect.ARnum = ar_number;
current_op->op_type = Indirect;
current_op->indirect.disp = disp_number;
current_op->indirect.ARnum = ar_number;
current_op->op_type = Indirect;
+ free (ind_buffer);
}
else
{
}
else
{
@@
-594,9
+603,7
@@
tic30_operand (char *token)
segT retval;
debug ("Probably a label: %s\n", token);
segT retval;
debug ("Probably a label: %s\n", token);
- current_op->immediate.label = malloc (strlen (token) + 1);
- strcpy (current_op->immediate.label, token);
- current_op->immediate.label[strlen (token)] = '\0';
+ current_op->immediate.label = xstrdup (token);
save_input_line_pointer = input_line_pointer;
input_line_pointer = token;
save_input_line_pointer = input_line_pointer;
input_line_pointer = token;
@@
-624,9
+631,7
@@
tic30_operand (char *token)
for (count = 0; count < strlen (token); count++)
if (*(token + count) == '.')
current_op->immediate.decimal_found = 1;
for (count = 0; count < strlen (token); count++)
if (*(token + count) == '.')
current_op->immediate.decimal_found = 1;
- current_op->immediate.label = malloc (strlen (token) + 1);
- strcpy (current_op->immediate.label, token);
- current_op->immediate.label[strlen (token)] = '\0';
+ current_op->immediate.label = xstrdup (token);
current_op->immediate.f_number = (float) atof (token);
current_op->immediate.s_number = (int) atoi (token);
current_op->immediate.u_number = (unsigned int) atoi (token);
current_op->immediate.f_number = (float) atof (token);
current_op->immediate.s_number = (int) atoi (token);
current_op->immediate.u_number = (unsigned int) atoi (token);
@@
-1117,7
+1122,7
@@
md_estimate_size_before_relax (fragS *fragP ATTRIBUTE_UNUSED,
void
md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED,
segT sec ATTRIBUTE_UNUSED,
void
md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED,
segT sec ATTRIBUTE_UNUSED,
-
register
fragS *fragP ATTRIBUTE_UNUSED)
+ fragS *fragP ATTRIBUTE_UNUSED)
{
debug ("In md_convert_frag()\n");
}
{
debug ("In md_convert_frag()\n");
}
@@
-1153,7
+1158,7
@@
md_apply_fix (fixS *fixP,
int
md_parse_option (int c ATTRIBUTE_UNUSED,
int
md_parse_option (int c ATTRIBUTE_UNUSED,
- char *arg ATTRIBUTE_UNUSED)
+ c
onst c
har *arg ATTRIBUTE_UNUSED)
{
debug ("In md_parse_option()\n");
return 0;
{
debug ("In md_parse_option()\n");
return 0;
@@
-1208,7
+1213,7
@@
md_pcrel_from (fixS *fixP)
return fixP->fx_where - fixP->fx_size + (INSN_SIZE * offset);
}
return fixP->fx_where - fixP->fx_size + (INSN_SIZE * offset);
}
-char *
+c
onst c
har *
md_atof (int what_statement_type,
char *literalP,
int *sizeP)
md_atof (int what_statement_type,
char *literalP,
int *sizeP)
@@
-1385,9
+1390,9
@@
tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
#undef MAP
#undef F
#undef MAP
#undef F
- rel =
xmalloc (sizeof (* rel)
);
+ rel =
XNEW (arelent
);
gas_assert (rel != 0);
gas_assert (rel != 0);
- rel->sym_ptr_ptr =
xmalloc (sizeof (asymbol *)
);
+ rel->sym_ptr_ptr =
XNEW (asymbol *
);
*rel->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
rel->address = fixP->fx_frag->fr_address + fixP->fx_where;
rel->addend = 0;
*rel->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy);
rel->address = fixP->fx_frag->fr_address + fixP->fx_where;
rel->addend = 0;
This page took
0.050112 seconds
and
4
git commands to generate.