* config/tc-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
Convert functions to K&R format.
This commit is contained in:
parent
4415b5c296
commit
75d12d11a0
|
@ -1,3 +1,8 @@
|
|||
2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||||
|
||||
* config/tc-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
|
||||
Convert functions to K&R format.
|
||||
|
||||
2002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||||
|
||||
* config/tc-mips.c (pdr_seg): Define only for ELF.
|
||||
|
|
|
@ -101,17 +101,107 @@ c4x_insn_t;
|
|||
static c4x_insn_t the_insn; /* Info about our instruction. */
|
||||
static c4x_insn_t *insn = &the_insn;
|
||||
|
||||
static void c4x_asg PARAMS ((int));
|
||||
static void c4x_bss PARAMS ((int));
|
||||
static void c4x_globl PARAMS ((int));
|
||||
static void c4x_eval PARAMS ((int));
|
||||
static void c4x_cons PARAMS ((int));
|
||||
static void c4x_set PARAMS ((int));
|
||||
static void c4x_newblock PARAMS ((int));
|
||||
static void c4x_pseudo_ignore PARAMS ((int));
|
||||
static void c4x_sect PARAMS ((int));
|
||||
static void c4x_usect PARAMS ((int));
|
||||
static void c4x_version PARAMS ((int));
|
||||
int c4x_gen_to_words
|
||||
PARAMS ((FLONUM_TYPE, LITTLENUM_TYPE *, int ));
|
||||
char *c4x_atof
|
||||
PARAMS ((char *, char, LITTLENUM_TYPE * ));
|
||||
static void c4x_insert_reg
|
||||
PARAMS ((char *, int ));
|
||||
static void c4x_insert_sym
|
||||
PARAMS ((char *, int ));
|
||||
static char *c4x_expression
|
||||
PARAMS ((char *, expressionS *));
|
||||
static char *c4x_expression_abs
|
||||
PARAMS ((char *, int *));
|
||||
static void c4x_emit_char
|
||||
PARAMS ((char));
|
||||
static void c4x_seg_alloc
|
||||
PARAMS ((char *, segT, int, symbolS *));
|
||||
static void c4x_asg
|
||||
PARAMS ((int));
|
||||
static void c4x_bss
|
||||
PARAMS ((int));
|
||||
void c4x_globl
|
||||
PARAMS ((int));
|
||||
static void c4x_cons
|
||||
PARAMS ((int));
|
||||
static void c4x_eval
|
||||
PARAMS ((int));
|
||||
static void c4x_newblock
|
||||
PARAMS ((int));
|
||||
static void c4x_sect
|
||||
PARAMS ((int));
|
||||
static void c4x_set
|
||||
PARAMS ((int));
|
||||
static void c4x_usect
|
||||
PARAMS ((int));
|
||||
static void c4x_version
|
||||
PARAMS ((int));
|
||||
static void c4x_pseudo_ignore
|
||||
PARAMS ((int));
|
||||
static void c4x_init_regtable
|
||||
PARAMS ((void));
|
||||
static void c4x_init_symbols
|
||||
PARAMS ((void));
|
||||
static int c4x_inst_insert
|
||||
PARAMS ((c4x_inst_t *));
|
||||
static c4x_inst_t *c4x_inst_make
|
||||
PARAMS ((char *, unsigned long, char *));
|
||||
static int c4x_inst_add
|
||||
PARAMS ((c4x_inst_t *));
|
||||
void md_begin
|
||||
PARAMS ((void));
|
||||
void c4x_end
|
||||
PARAMS ((void));
|
||||
static int c4x_indirect_parse
|
||||
PARAMS ((c4x_operand_t *, const c4x_indirect_t *));
|
||||
char *c4x_operand_parse
|
||||
PARAMS ((char *, c4x_operand_t *));
|
||||
static int c4x_operands_match
|
||||
PARAMS ((c4x_inst_t *, c4x_insn_t *));
|
||||
void c4x_insn_output
|
||||
PARAMS ((c4x_insn_t *));
|
||||
int c4x_operands_parse
|
||||
PARAMS ((char *, c4x_operand_t *, int ));
|
||||
void md_assemble
|
||||
PARAMS ((char *));
|
||||
void c4x_cleanup
|
||||
PARAMS ((void));
|
||||
char *md_atof
|
||||
PARAMS ((int, char *, int *));
|
||||
void md_apply_fix3
|
||||
PARAMS ((fixS *, valueT *, segT ));
|
||||
void md_convert_frag
|
||||
PARAMS ((bfd *, segT, fragS *));
|
||||
void md_create_short_jump
|
||||
PARAMS ((char *, addressT, addressT, fragS *, symbolS *));
|
||||
void md_create_long_jump
|
||||
PARAMS ((char *, addressT, addressT, fragS *, symbolS *));
|
||||
int md_estimate_size_before_relax
|
||||
PARAMS ((register fragS *, segT));
|
||||
int md_parse_option
|
||||
PARAMS ((int, char *));
|
||||
void md_show_usage
|
||||
PARAMS ((FILE *));
|
||||
int c4x_unrecognized_line
|
||||
PARAMS ((int));
|
||||
symbolS *md_undefined_symbol
|
||||
PARAMS ((char *));
|
||||
void md_operand
|
||||
PARAMS ((expressionS *));
|
||||
valueT md_section_align
|
||||
PARAMS ((segT, valueT));
|
||||
static int c4x_pc_offset
|
||||
PARAMS ((unsigned int));
|
||||
long md_pcrel_from
|
||||
PARAMS ((fixS *));
|
||||
int c4x_do_align
|
||||
PARAMS ((int, const char *, int, int));
|
||||
void c4x_start_line
|
||||
PARAMS ((void));
|
||||
arelent *tc_gen_reloc
|
||||
PARAMS ((asection *, fixS *));
|
||||
|
||||
|
||||
const pseudo_typeS
|
||||
md_pseudo_table[] =
|
||||
|
@ -203,9 +293,13 @@ extern FLONUM_TYPE generic_floating_point_number;
|
|||
#define F_PRECISION (2) /* Float and double types 32-bit. */
|
||||
#define GUARD (2)
|
||||
|
||||
|
||||
/* Turn generic_floating_point_number into a real short/float/double. */
|
||||
int
|
||||
c4x_gen_to_words (FLONUM_TYPE flonum, LITTLENUM_TYPE *words, int precision)
|
||||
c4x_gen_to_words (flonum, words, precision)
|
||||
FLONUM_TYPE flonum;
|
||||
LITTLENUM_TYPE *words;
|
||||
int precision;
|
||||
{
|
||||
int return_value = 0;
|
||||
LITTLENUM_TYPE *p; /* Littlenum pointer. */
|
||||
|
@ -467,7 +561,10 @@ c4x_gen_to_words (FLONUM_TYPE flonum, LITTLENUM_TYPE *words, int precision)
|
|||
|
||||
/* Returns pointer past text consumed. */
|
||||
char *
|
||||
c4x_atof (char *str, char what_kind, LITTLENUM_TYPE *words)
|
||||
c4x_atof (str, what_kind, words)
|
||||
char *str;
|
||||
char what_kind;
|
||||
LITTLENUM_TYPE *words;
|
||||
{
|
||||
/* Extra bits for zeroed low-order bits. The 1st MAX_PRECISION are
|
||||
zeroed, the last contain flonum bits. */
|
||||
|
@ -535,7 +632,9 @@ c4x_atof (char *str, char what_kind, LITTLENUM_TYPE *words)
|
|||
}
|
||||
|
||||
static void
|
||||
c4x_insert_reg (char *regname, int regnum)
|
||||
c4x_insert_reg (regname, regnum)
|
||||
char *regname;
|
||||
int regnum;
|
||||
{
|
||||
char buf[32];
|
||||
int i;
|
||||
|
@ -551,7 +650,9 @@ c4x_insert_reg (char *regname, int regnum)
|
|||
}
|
||||
|
||||
static void
|
||||
c4x_insert_sym (char *symname, int value)
|
||||
c4x_insert_sym (symname, value)
|
||||
char *symname;
|
||||
int value;
|
||||
{
|
||||
symbolS *symbolP;
|
||||
|
||||
|
@ -562,7 +663,9 @@ c4x_insert_sym (char *symname, int value)
|
|||
}
|
||||
|
||||
static char *
|
||||
c4x_expression (char *str, expressionS *exp)
|
||||
c4x_expression (str, exp)
|
||||
char *str;
|
||||
expressionS *exp;
|
||||
{
|
||||
char *s;
|
||||
char *t;
|
||||
|
@ -576,7 +679,9 @@ c4x_expression (char *str, expressionS *exp)
|
|||
}
|
||||
|
||||
static char *
|
||||
c4x_expression_abs (char *str, int *value)
|
||||
c4x_expression_abs (str, value)
|
||||
char *str;
|
||||
int *value;
|
||||
{
|
||||
char *s;
|
||||
char *t;
|
||||
|
@ -590,7 +695,8 @@ c4x_expression_abs (char *str, int *value)
|
|||
}
|
||||
|
||||
static void
|
||||
c4x_emit_char (char c)
|
||||
c4x_emit_char (c)
|
||||
char c;
|
||||
{
|
||||
expressionS exp;
|
||||
|
||||
|
@ -600,7 +706,11 @@ c4x_emit_char (char c)
|
|||
}
|
||||
|
||||
static void
|
||||
c4x_seg_alloc (char *name, segT seg, int size, symbolS *symbolP)
|
||||
c4x_seg_alloc (name, seg, size, symbolP)
|
||||
char *name ATTRIBUTE_UNUSED;
|
||||
segT seg ATTRIBUTE_UNUSED;
|
||||
int size;
|
||||
symbolS *symbolP;
|
||||
{
|
||||
/* Note that the size is in words
|
||||
so we multiply it by 4 to get the number of bytes to allocate. */
|
||||
|
@ -622,7 +732,8 @@ c4x_seg_alloc (char *name, segT seg, int size, symbolS *symbolP)
|
|||
|
||||
/* .asg ["]character-string["], symbol */
|
||||
static void
|
||||
c4x_asg (int x)
|
||||
c4x_asg (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
char c;
|
||||
char *name;
|
||||
|
@ -659,7 +770,8 @@ c4x_asg (int x)
|
|||
|
||||
/* .bss symbol, size */
|
||||
static void
|
||||
c4x_bss (int x)
|
||||
c4x_bss (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
char c;
|
||||
char *name;
|
||||
|
@ -713,7 +825,8 @@ c4x_bss (int x)
|
|||
}
|
||||
|
||||
void
|
||||
c4x_globl (int ignore)
|
||||
c4x_globl (ignore)
|
||||
int ignore ATTRIBUTE_UNUSED;
|
||||
{
|
||||
char *name;
|
||||
int c;
|
||||
|
@ -742,7 +855,8 @@ c4x_globl (int ignore)
|
|||
|
||||
/* Handle .byte, .word. .int, .long */
|
||||
static void
|
||||
c4x_cons (int bytes)
|
||||
c4x_cons (bytes)
|
||||
int bytes;
|
||||
{
|
||||
register unsigned int c;
|
||||
do
|
||||
|
@ -785,7 +899,8 @@ c4x_cons (int bytes)
|
|||
|
||||
/* .eval expression, symbol */
|
||||
static void
|
||||
c4x_eval (int x)
|
||||
c4x_eval (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
char c;
|
||||
int value;
|
||||
|
@ -807,7 +922,8 @@ c4x_eval (int x)
|
|||
|
||||
/* Reset local labels. */
|
||||
static void
|
||||
c4x_newblock (int x)
|
||||
c4x_newblock (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
dollar_label_clear ();
|
||||
}
|
||||
|
@ -815,7 +931,8 @@ c4x_newblock (int x)
|
|||
/* .sect "section-name" [, value] */
|
||||
/* .sect ["]section-name[:subsection-name]["] [, value] */
|
||||
static void
|
||||
c4x_sect (int x)
|
||||
c4x_sect (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
char c;
|
||||
char *section_name;
|
||||
|
@ -888,7 +1005,8 @@ c4x_sect (int x)
|
|||
|
||||
/* symbol[:] .set value or .set symbol, value */
|
||||
static void
|
||||
c4x_set (int x)
|
||||
c4x_set (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
symbolS *symbolP;
|
||||
|
||||
|
@ -917,7 +1035,8 @@ c4x_set (int x)
|
|||
|
||||
/* [symbol] .usect ["]section-name["], size-in-words [, alignment-flag] */
|
||||
static void
|
||||
c4x_usect (int x)
|
||||
c4x_usect (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
char c;
|
||||
char *name;
|
||||
|
@ -983,7 +1102,8 @@ c4x_usect (int x)
|
|||
|
||||
/* .version cpu-version. */
|
||||
static void
|
||||
c4x_version (int x)
|
||||
c4x_version (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
unsigned int temp;
|
||||
|
||||
|
@ -1000,7 +1120,8 @@ c4x_version (int x)
|
|||
}
|
||||
|
||||
static void
|
||||
c4x_pseudo_ignore (int x)
|
||||
c4x_pseudo_ignore (x)
|
||||
int x ATTRIBUTE_UNUSED;
|
||||
{
|
||||
/* We could print warning message here... */
|
||||
|
||||
|
@ -1009,7 +1130,7 @@ c4x_pseudo_ignore (int x)
|
|||
}
|
||||
|
||||
static void
|
||||
c4x_init_regtable (void)
|
||||
c4x_init_regtable ()
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
|
@ -1027,7 +1148,7 @@ c4x_init_regtable (void)
|
|||
}
|
||||
|
||||
static void
|
||||
c4x_init_symbols (void)
|
||||
c4x_init_symbols ()
|
||||
{
|
||||
/* The TI tools accept case insensitive versions of these symbols,
|
||||
we don't !
|
||||
|
@ -1082,7 +1203,8 @@ c4x_init_symbols (void)
|
|||
|
||||
/* Insert a new instruction template into hash table. */
|
||||
static int
|
||||
c4x_inst_insert (c4x_inst_t *inst)
|
||||
c4x_inst_insert (inst)
|
||||
c4x_inst_t *inst;
|
||||
{
|
||||
static char prev_name[16];
|
||||
const char *retval = NULL;
|
||||
|
@ -1102,7 +1224,10 @@ c4x_inst_insert (c4x_inst_t *inst)
|
|||
|
||||
/* Make a new instruction template. */
|
||||
static c4x_inst_t *
|
||||
c4x_inst_make (char *name, unsigned long opcode, char *args)
|
||||
c4x_inst_make (name, opcode, args)
|
||||
char *name;
|
||||
unsigned long opcode;
|
||||
char *args;
|
||||
{
|
||||
static c4x_inst_t *insts = NULL;
|
||||
static char *names = NULL;
|
||||
|
@ -1132,7 +1257,8 @@ c4x_inst_make (char *name, unsigned long opcode, char *args)
|
|||
|
||||
/* Add instruction template, creating dynamic templates as required. */
|
||||
static int
|
||||
c4x_inst_add (c4x_inst_t *insts)
|
||||
c4x_inst_add (insts)
|
||||
c4x_inst_t *insts;
|
||||
{
|
||||
char *s = insts->name;
|
||||
char *d;
|
||||
|
@ -1198,7 +1324,7 @@ c4x_inst_add (c4x_inst_t *insts)
|
|||
set up all the tables, etc., that the MD part of the assembler will
|
||||
need. */
|
||||
void
|
||||
md_begin (void)
|
||||
md_begin ()
|
||||
{
|
||||
int ok = 1;
|
||||
unsigned int i;
|
||||
|
@ -1233,15 +1359,16 @@ md_begin (void)
|
|||
}
|
||||
|
||||
void
|
||||
c4x_end (void)
|
||||
c4x_end ()
|
||||
{
|
||||
bfd_set_arch_mach (stdoutput, bfd_arch_tic4x,
|
||||
IS_CPU_C4X (c4x_cpu) ? bfd_mach_c4x : bfd_mach_c3x);
|
||||
}
|
||||
|
||||
static int
|
||||
c4x_indirect_parse (c4x_operand_t *operand,
|
||||
const c4x_indirect_t *indirect)
|
||||
c4x_indirect_parse (operand, indirect)
|
||||
c4x_operand_t *operand;
|
||||
const c4x_indirect_t *indirect;
|
||||
{
|
||||
char *n = indirect->name;
|
||||
char *s = input_line_pointer;
|
||||
|
@ -1339,7 +1466,9 @@ c4x_indirect_parse (c4x_operand_t *operand,
|
|||
}
|
||||
|
||||
char *
|
||||
c4x_operand_parse (char *s, c4x_operand_t *operand)
|
||||
c4x_operand_parse (s, operand)
|
||||
char *s;
|
||||
c4x_operand_t *operand;
|
||||
{
|
||||
unsigned int i;
|
||||
char c;
|
||||
|
@ -1503,7 +1632,9 @@ c4x_operand_parse (char *s, c4x_operand_t *operand)
|
|||
}
|
||||
|
||||
static int
|
||||
c4x_operands_match (c4x_inst_t *inst, c4x_insn_t *insn)
|
||||
c4x_operands_match (inst, insn)
|
||||
c4x_inst_t *inst;
|
||||
c4x_insn_t *insn;
|
||||
{
|
||||
const char *args = inst->args;
|
||||
unsigned long opcode = inst->opcode;
|
||||
|
@ -2058,7 +2189,8 @@ c4x_operands_match (c4x_inst_t *inst, c4x_insn_t *insn)
|
|||
}
|
||||
|
||||
void
|
||||
c4x_insn_output (c4x_insn_t *insn)
|
||||
c4x_insn_output (insn)
|
||||
c4x_insn_t *insn;
|
||||
{
|
||||
char *dst;
|
||||
|
||||
|
@ -2083,7 +2215,10 @@ c4x_insn_output (c4x_insn_t *insn)
|
|||
|
||||
/* Parse the operands. */
|
||||
int
|
||||
c4x_operands_parse (char *s, c4x_operand_t *operands, int num_operands)
|
||||
c4x_operands_parse (s, operands, num_operands)
|
||||
char *s;
|
||||
c4x_operand_t *operands;
|
||||
int num_operands;
|
||||
{
|
||||
if (!*s)
|
||||
return num_operands;
|
||||
|
@ -2104,7 +2239,8 @@ c4x_operands_parse (char *s, c4x_operand_t *operands, int num_operands)
|
|||
by the generic front end. We just parse mnemonic and operands, and
|
||||
produce the bytes of data and relocation. */
|
||||
void
|
||||
md_assemble (char *str)
|
||||
md_assemble (str)
|
||||
char *str;
|
||||
{
|
||||
int ok = 0;
|
||||
char *s;
|
||||
|
@ -2204,7 +2340,7 @@ md_assemble (char *str)
|
|||
}
|
||||
|
||||
void
|
||||
c4x_cleanup (void)
|
||||
c4x_cleanup ()
|
||||
{
|
||||
if (insn->in_use)
|
||||
md_assemble (NULL);
|
||||
|
@ -2216,7 +2352,10 @@ c4x_cleanup (void)
|
|||
returned, or NULL on OK. */
|
||||
|
||||
char *
|
||||
md_atof (int type, char *litP, int *sizeP)
|
||||
md_atof (type, litP, sizeP)
|
||||
int type;
|
||||
char *litP;
|
||||
int *sizeP;
|
||||
{
|
||||
int prec;
|
||||
int ieee;
|
||||
|
@ -2275,7 +2414,10 @@ md_atof (int type, char *litP, int *sizeP)
|
|||
}
|
||||
|
||||
void
|
||||
md_apply_fix3 (fixS *fixP, valueT *value, segT seg ATTRIBUTE_UNUSED)
|
||||
md_apply_fix3 (fixP, value, seg)
|
||||
fixS *fixP;
|
||||
valueT *value;
|
||||
segT seg ATTRIBUTE_UNUSED;
|
||||
{
|
||||
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
|
||||
valueT val = *value;
|
||||
|
@ -2319,30 +2461,43 @@ md_apply_fix3 (fixS *fixP, valueT *value, segT seg ATTRIBUTE_UNUSED)
|
|||
|
||||
/* Should never be called for c4x. */
|
||||
void
|
||||
md_convert_frag (bfd *headers, segT sec, fragS *fragP)
|
||||
md_convert_frag (headers, sec, fragP)
|
||||
bfd *headers ATTRIBUTE_UNUSED;
|
||||
segT sec ATTRIBUTE_UNUSED;
|
||||
fragS *fragP ATTRIBUTE_UNUSED;
|
||||
{
|
||||
as_fatal ("md_convert_frag");
|
||||
}
|
||||
|
||||
/* Should never be called for c4x. */
|
||||
void
|
||||
md_create_short_jump (char *ptr, addressT from_addr, addressT to_addr,
|
||||
fragS *frag, symbolS *to_symbol)
|
||||
md_create_short_jump (ptr, from_addr, to_addr, frag, to_symbol)
|
||||
char *ptr ATTRIBUTE_UNUSED;
|
||||
addressT from_addr ATTRIBUTE_UNUSED;
|
||||
addressT to_addr ATTRIBUTE_UNUSED;
|
||||
fragS *frag ATTRIBUTE_UNUSED;
|
||||
symbolS *to_symbol ATTRIBUTE_UNUSED;
|
||||
{
|
||||
as_fatal ("md_create_short_jmp\n");
|
||||
}
|
||||
|
||||
/* Should never be called for c4x. */
|
||||
void
|
||||
md_create_long_jump (char *ptr, addressT from_addr, addressT to_addr,
|
||||
fragS *frag, symbolS *to_symbol)
|
||||
md_create_long_jump (ptr, from_addr, to_addr, frag, to_symbol)
|
||||
char *ptr ATTRIBUTE_UNUSED;
|
||||
addressT from_addr ATTRIBUTE_UNUSED;
|
||||
addressT to_addr ATTRIBUTE_UNUSED;
|
||||
fragS *frag ATTRIBUTE_UNUSED;
|
||||
symbolS *to_symbol ATTRIBUTE_UNUSED;
|
||||
{
|
||||
as_fatal ("md_create_long_jump\n");
|
||||
}
|
||||
|
||||
/* Should never be called for c4x. */
|
||||
int
|
||||
md_estimate_size_before_relax (register fragS *fragP, segT segtype)
|
||||
md_estimate_size_before_relax (fragP, segtype)
|
||||
register fragS *fragP ATTRIBUTE_UNUSED;
|
||||
segT segtype ATTRIBUTE_UNUSED;
|
||||
{
|
||||
as_fatal ("md_estimate_size_before_relax\n");
|
||||
return 0;
|
||||
|
@ -2357,7 +2512,9 @@ struct option md_longopts[] =
|
|||
size_t md_longopts_size = sizeof (md_longopts);
|
||||
|
||||
int
|
||||
md_parse_option (int c, char *arg)
|
||||
md_parse_option (c, arg)
|
||||
int c;
|
||||
char *arg;
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
|
@ -2388,7 +2545,8 @@ md_parse_option (int c, char *arg)
|
|||
}
|
||||
|
||||
void
|
||||
md_show_usage (FILE *stream)
|
||||
md_show_usage (stream)
|
||||
FILE *stream;
|
||||
{
|
||||
fputs ("\
|
||||
C[34]x options:\n\
|
||||
|
@ -2405,7 +2563,8 @@ C[34]x options:\n\
|
|||
definitions of TI C3x tools style local labels $n where n is a single
|
||||
decimal digit. */
|
||||
int
|
||||
c4x_unrecognized_line (int c)
|
||||
c4x_unrecognized_line (c)
|
||||
int c;
|
||||
{
|
||||
int lab;
|
||||
char *s;
|
||||
|
@ -2438,7 +2597,8 @@ c4x_unrecognized_line (int c)
|
|||
|
||||
/* Handle local labels peculiar to us referred to in an expression. */
|
||||
symbolS *
|
||||
md_undefined_symbol (char *name)
|
||||
md_undefined_symbol (name)
|
||||
char *name;
|
||||
{
|
||||
/* Look for local labels of the form $n. */
|
||||
if (name[0] == '$' && isdigit (name[1]))
|
||||
|
@ -2470,19 +2630,23 @@ md_undefined_symbol (char *name)
|
|||
|
||||
/* Parse an operand that is machine-specific. */
|
||||
void
|
||||
md_operand (expressionS *expressionP)
|
||||
md_operand (expressionP)
|
||||
expressionS *expressionP ATTRIBUTE_UNUSED;
|
||||
{
|
||||
}
|
||||
|
||||
/* Round up a section size to the appropriate boundary---do we need this? */
|
||||
valueT
|
||||
md_section_align (segT segment, valueT size)
|
||||
md_section_align (segment, size)
|
||||
segT segment ATTRIBUTE_UNUSED;
|
||||
valueT size;
|
||||
{
|
||||
return size; /* Byte (i.e., 32-bit) alignment is fine? */
|
||||
}
|
||||
|
||||
static int
|
||||
c4x_pc_offset (unsigned int op)
|
||||
c4x_pc_offset (op)
|
||||
unsigned int op;
|
||||
{
|
||||
/* Determine the PC offset for a C[34]x instruction.
|
||||
This could be simplified using some boolean algebra
|
||||
|
@ -2544,7 +2708,8 @@ c4x_pc_offset (unsigned int op)
|
|||
DBcondD, BcondD disp + PC + 3 => PC
|
||||
*/
|
||||
long
|
||||
md_pcrel_from (fixS *fixP)
|
||||
md_pcrel_from (fixP)
|
||||
fixS *fixP;
|
||||
{
|
||||
unsigned char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
|
||||
unsigned int op;
|
||||
|
@ -2558,7 +2723,11 @@ md_pcrel_from (fixS *fixP)
|
|||
/* This is probably not necessary, if we have played our cards right,
|
||||
since everything should be already aligned on a 4-byte boundary. */
|
||||
int
|
||||
c4x_do_align (int alignment, const char *fill, int len, int max)
|
||||
c4x_do_align (alignment, fill, len, max)
|
||||
int alignment ATTRIBUTE_UNUSED;
|
||||
const char *fill ATTRIBUTE_UNUSED;
|
||||
int len ATTRIBUTE_UNUSED;
|
||||
int max ATTRIBUTE_UNUSED;
|
||||
{
|
||||
char *p;
|
||||
|
||||
|
@ -2572,7 +2741,7 @@ c4x_do_align (int alignment, const char *fill, int len, int max)
|
|||
|
||||
/* Look for and remove parallel instruction operator ||. */
|
||||
void
|
||||
c4x_start_line (void)
|
||||
c4x_start_line ()
|
||||
{
|
||||
char *s = input_line_pointer;
|
||||
|
||||
|
@ -2598,7 +2767,9 @@ c4x_start_line (void)
|
|||
}
|
||||
|
||||
arelent *
|
||||
tc_gen_reloc (asection *seg, fixS *fixP)
|
||||
tc_gen_reloc (seg, fixP)
|
||||
asection *seg ATTRIBUTE_UNUSED;
|
||||
fixS *fixP;
|
||||
{
|
||||
arelent *reloc;
|
||||
|
||||
|
@ -2624,4 +2795,3 @@ tc_gen_reloc (asection *seg, fixS *fixP)
|
|||
|
||||
return reloc;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue