mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-25 13:09:48 +00:00
* config/tc-mmix.c, config/tc-mmix.h: Convert to ISO C90.
This commit is contained in:
parent
9a237d9e65
commit
ff1e783f27
@ -1,3 +1,7 @@
|
||||
2005-03-25 Hans-Peter Nilsson <hp@bitrange.com>
|
||||
|
||||
* config/tc-mmix.c, config/tc-mmix.h: Convert to ISO C90.
|
||||
|
||||
2005-03-25 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* config/tc-cris.h: Convert to ISO C90.
|
||||
|
@ -47,27 +47,25 @@ enum mmix_fixup_action
|
||||
mmix_fixup_register_or_adjust_for_byte
|
||||
};
|
||||
|
||||
static int get_spec_regno PARAMS ((char *));
|
||||
static int get_operands PARAMS ((int, char *, expressionS[]));
|
||||
static int get_putget_operands
|
||||
PARAMS ((struct mmix_opcode *, char *, expressionS[]));
|
||||
static void s_prefix PARAMS ((int));
|
||||
static void s_greg PARAMS ((int));
|
||||
static void s_loc PARAMS ((int));
|
||||
static void s_bspec PARAMS ((int));
|
||||
static void s_espec PARAMS ((int));
|
||||
static void mmix_s_local PARAMS ((int));
|
||||
static void mmix_greg_internal PARAMS ((char *));
|
||||
static void mmix_set_geta_branch_offset PARAMS ((char *, offsetT value));
|
||||
static void mmix_set_jmp_offset PARAMS ((char *, offsetT));
|
||||
static void mmix_fill_nops PARAMS ((char *, int));
|
||||
static int cmp_greg_symbol_fixes PARAMS ((const PTR, const PTR));
|
||||
static int cmp_greg_val_greg_symbol_fixes
|
||||
PARAMS ((const PTR p1, const PTR p2));
|
||||
static void mmix_handle_rest_of_empty_line PARAMS ((void));
|
||||
static void mmix_discard_rest_of_line PARAMS ((void));
|
||||
static void mmix_byte PARAMS ((void));
|
||||
static void mmix_cons PARAMS ((int));
|
||||
static int get_spec_regno (char *);
|
||||
static int get_operands (int, char *, expressionS *);
|
||||
static int get_putget_operands (struct mmix_opcode *, char *, expressionS *);
|
||||
static void s_prefix (int);
|
||||
static void s_greg (int);
|
||||
static void s_loc (int);
|
||||
static void s_bspec (int);
|
||||
static void s_espec (int);
|
||||
static void mmix_s_local (int);
|
||||
static void mmix_greg_internal (char *);
|
||||
static void mmix_set_geta_branch_offset (char *, offsetT);
|
||||
static void mmix_set_jmp_offset (char *, offsetT);
|
||||
static void mmix_fill_nops (char *, int);
|
||||
static int cmp_greg_symbol_fixes (const void *, const void *);
|
||||
static int cmp_greg_val_greg_symbol_fixes (const void *, const void *);
|
||||
static void mmix_handle_rest_of_empty_line (void);
|
||||
static void mmix_discard_rest_of_line (void);
|
||||
static void mmix_byte (void);
|
||||
static void mmix_cons (int);
|
||||
|
||||
/* Continue the tradition of symbols.c; use control characters to enforce
|
||||
magic. These are used when replacing e.g. 8F and 8B so we can handle
|
||||
@ -399,9 +397,7 @@ const char mmix_flt_chars[] = "rf";
|
||||
/* Fill in the offset-related part of GETA or Bcc. */
|
||||
|
||||
static void
|
||||
mmix_set_geta_branch_offset (opcodep, value)
|
||||
char *opcodep;
|
||||
offsetT value;
|
||||
mmix_set_geta_branch_offset (char *opcodep, offsetT value)
|
||||
{
|
||||
if (value < 0)
|
||||
{
|
||||
@ -416,9 +412,7 @@ mmix_set_geta_branch_offset (opcodep, value)
|
||||
/* Fill in the offset-related part of JMP. */
|
||||
|
||||
static void
|
||||
mmix_set_jmp_offset (opcodep, value)
|
||||
char *opcodep;
|
||||
offsetT value;
|
||||
mmix_set_jmp_offset (char *opcodep, offsetT value)
|
||||
{
|
||||
if (value < 0)
|
||||
{
|
||||
@ -433,9 +427,7 @@ mmix_set_jmp_offset (opcodep, value)
|
||||
/* Fill in NOP:s for the expanded part of GETA/JMP/Bcc/PUSHJ. */
|
||||
|
||||
static void
|
||||
mmix_fill_nops (opcodep, n)
|
||||
char *opcodep;
|
||||
int n;
|
||||
mmix_fill_nops (char *opcodep, int n)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -446,9 +438,7 @@ mmix_fill_nops (opcodep, n)
|
||||
/* See macro md_parse_name in tc-mmix.h. */
|
||||
|
||||
int
|
||||
mmix_current_location (fn, exp)
|
||||
void (*fn) PARAMS ((expressionS *));
|
||||
expressionS *exp;
|
||||
mmix_current_location (void (*fn) (expressionS *), expressionS *exp)
|
||||
{
|
||||
(*fn) (exp);
|
||||
|
||||
@ -459,10 +449,7 @@ mmix_current_location (fn, exp)
|
||||
General idea and code stolen from the tic80 port. */
|
||||
|
||||
static int
|
||||
get_operands (max_operands, s, exp)
|
||||
int max_operands;
|
||||
char *s;
|
||||
expressionS exp[];
|
||||
get_operands (int max_operands, char *s, expressionS *exp)
|
||||
{
|
||||
char *p = s;
|
||||
int numexp = 0;
|
||||
@ -528,8 +515,7 @@ get_operands (max_operands, s, exp)
|
||||
one. NAME is a null-terminated string. */
|
||||
|
||||
static int
|
||||
get_spec_regno (name)
|
||||
char *name;
|
||||
get_spec_regno (char *name)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -551,10 +537,8 @@ get_spec_regno (name)
|
||||
/* For GET and PUT, parse the register names "manually", so we don't use
|
||||
user labels. */
|
||||
static int
|
||||
get_putget_operands (insn, operands, exp)
|
||||
struct mmix_opcode *insn;
|
||||
char *operands;
|
||||
expressionS exp[];
|
||||
get_putget_operands (struct mmix_opcode *insn, char *operands,
|
||||
expressionS *exp)
|
||||
{
|
||||
expressionS *expp_reg;
|
||||
expressionS *expp_sreg;
|
||||
@ -648,9 +632,7 @@ get_putget_operands (insn, operands, exp)
|
||||
/* Handle MMIX-specific option. */
|
||||
|
||||
int
|
||||
md_parse_option (c, arg)
|
||||
int c;
|
||||
char *arg ATTRIBUTE_UNUSED;
|
||||
md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
|
||||
{
|
||||
switch (c)
|
||||
{
|
||||
@ -707,8 +689,7 @@ md_parse_option (c, arg)
|
||||
/* Display MMIX-specific help text. */
|
||||
|
||||
void
|
||||
md_show_usage (stream)
|
||||
FILE * stream;
|
||||
md_show_usage (FILE * stream)
|
||||
{
|
||||
fprintf (stream, _(" MMIX-specific command line options:\n"));
|
||||
fprintf (stream, _("\
|
||||
@ -741,7 +722,7 @@ md_show_usage (stream)
|
||||
/* Step to end of line, but don't step over the end of the line. */
|
||||
|
||||
static void
|
||||
mmix_discard_rest_of_line ()
|
||||
mmix_discard_rest_of_line (void)
|
||||
{
|
||||
while (*input_line_pointer
|
||||
&& (! is_end_of_line[(unsigned char) *input_line_pointer]
|
||||
@ -754,7 +735,7 @@ mmix_discard_rest_of_line ()
|
||||
delimiter). */
|
||||
|
||||
static void
|
||||
mmix_handle_rest_of_empty_line ()
|
||||
mmix_handle_rest_of_empty_line (void)
|
||||
{
|
||||
if (mmix_gnu_syntax)
|
||||
demand_empty_rest_of_line ();
|
||||
@ -768,7 +749,7 @@ mmix_handle_rest_of_empty_line ()
|
||||
/* Initialize GAS MMIX specifics. */
|
||||
|
||||
void
|
||||
mmix_md_begin ()
|
||||
mmix_md_begin (void)
|
||||
{
|
||||
int i;
|
||||
const struct mmix_opcode *opcode;
|
||||
@ -827,8 +808,7 @@ mmix_md_begin ()
|
||||
/* Assemble one insn in STR. */
|
||||
|
||||
void
|
||||
md_assemble (str)
|
||||
char *str;
|
||||
md_assemble (char *str)
|
||||
{
|
||||
char *operands = str;
|
||||
char modified_char = 0;
|
||||
@ -1909,8 +1889,7 @@ md_assemble (str)
|
||||
tc_unrecognized_line too, through this function. */
|
||||
|
||||
int
|
||||
mmix_assemble_return_nonzero (str)
|
||||
char *str;
|
||||
mmix_assemble_return_nonzero (char *str)
|
||||
{
|
||||
int last_error_count = had_errors ();
|
||||
char *s2 = str;
|
||||
@ -1939,8 +1918,7 @@ mmix_assemble_return_nonzero (str)
|
||||
/* The PREFIX pseudo. */
|
||||
|
||||
static void
|
||||
s_prefix (unused)
|
||||
int unused ATTRIBUTE_UNUSED;
|
||||
s_prefix (int unused ATTRIBUTE_UNUSED)
|
||||
{
|
||||
char *p;
|
||||
int c;
|
||||
@ -1982,8 +1960,7 @@ s_prefix (unused)
|
||||
that. (It might be worth a rewrite for other reasons, though). */
|
||||
|
||||
char *
|
||||
mmix_prefix_name (shortname)
|
||||
char *shortname;
|
||||
mmix_prefix_name (char *shortname)
|
||||
{
|
||||
if (*shortname == ':')
|
||||
return shortname + 1;
|
||||
@ -2007,8 +1984,7 @@ mmix_prefix_name (shortname)
|
||||
be persistent, perhaps allocated on an obstack. */
|
||||
|
||||
static void
|
||||
mmix_greg_internal (label)
|
||||
char *label;
|
||||
mmix_greg_internal (char *label)
|
||||
{
|
||||
expressionS *expP = &mmix_raw_gregs[n_of_raw_gregs].exp;
|
||||
|
||||
@ -2044,8 +2020,7 @@ mmix_greg_internal (label)
|
||||
/* The ".greg label,expr" worker. */
|
||||
|
||||
static void
|
||||
s_greg (unused)
|
||||
int unused ATTRIBUTE_UNUSED;
|
||||
s_greg (int unused ATTRIBUTE_UNUSED)
|
||||
{
|
||||
char *p;
|
||||
char c;
|
||||
@ -2074,8 +2049,7 @@ s_greg (unused)
|
||||
/* The "BSPEC expr" worker. */
|
||||
|
||||
static void
|
||||
s_bspec (unused)
|
||||
int unused ATTRIBUTE_UNUSED;
|
||||
s_bspec (int unused ATTRIBUTE_UNUSED)
|
||||
{
|
||||
asection *expsec;
|
||||
asection *sec;
|
||||
@ -2140,8 +2114,7 @@ s_bspec (unused)
|
||||
/* The "ESPEC" worker. */
|
||||
|
||||
static void
|
||||
s_espec (unused)
|
||||
int unused ATTRIBUTE_UNUSED;
|
||||
s_espec (int unused ATTRIBUTE_UNUSED)
|
||||
{
|
||||
/* First, check that we *do* have a BSPEC in progress. */
|
||||
if (! doing_bspec)
|
||||
@ -2164,8 +2137,7 @@ s_espec (unused)
|
||||
Implementing this by means of contents in a section lost. */
|
||||
|
||||
static void
|
||||
mmix_s_local (unused)
|
||||
int unused ATTRIBUTE_UNUSED;
|
||||
mmix_s_local (int unused ATTRIBUTE_UNUSED)
|
||||
{
|
||||
expressionS exp;
|
||||
|
||||
@ -2195,9 +2167,7 @@ mmix_s_local (unused)
|
||||
function may be called multiple times. */
|
||||
|
||||
int
|
||||
md_estimate_size_before_relax (fragP, segment)
|
||||
fragS *fragP;
|
||||
segT segment;
|
||||
md_estimate_size_before_relax (fragS *fragP, segT segment)
|
||||
{
|
||||
int length;
|
||||
|
||||
@ -2268,10 +2238,7 @@ md_estimate_size_before_relax (fragP, segment)
|
||||
OK. */
|
||||
|
||||
char *
|
||||
md_atof (type, litP, sizeP)
|
||||
int type;
|
||||
char *litP;
|
||||
int *sizeP;
|
||||
md_atof (int type, char *litP, int *sizeP)
|
||||
{
|
||||
int prec;
|
||||
LITTLENUM_TYPE words[4];
|
||||
@ -2314,10 +2281,8 @@ md_atof (type, litP, sizeP)
|
||||
/* Convert variable-sized frags into one or more fixups. */
|
||||
|
||||
void
|
||||
md_convert_frag (abfd, sec, fragP)
|
||||
bfd *abfd ATTRIBUTE_UNUSED;
|
||||
segT sec ATTRIBUTE_UNUSED;
|
||||
fragS *fragP;
|
||||
md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT sec ATTRIBUTE_UNUSED,
|
||||
fragS *fragP)
|
||||
{
|
||||
/* Pointer to first byte in variable-sized part of the frag. */
|
||||
char *var_partp;
|
||||
@ -2448,10 +2413,7 @@ md_convert_frag (abfd, sec, fragP)
|
||||
Note that this function isn't called when linkrelax != 0. */
|
||||
|
||||
void
|
||||
md_apply_fix3 (fixP, valP, segment)
|
||||
fixS * fixP;
|
||||
valueT * valP;
|
||||
segT segment;
|
||||
md_apply_fix3 (fixS *fixP, valueT *valP, segT segment)
|
||||
{
|
||||
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
|
||||
/* Note: use offsetT because it is signed, valueT is unsigned. */
|
||||
@ -2625,9 +2587,7 @@ md_apply_fix3 (fixP, valP, segment)
|
||||
definitions. */
|
||||
|
||||
static int
|
||||
cmp_greg_val_greg_symbol_fixes (p1, p2)
|
||||
const PTR p1;
|
||||
const PTR p2;
|
||||
cmp_greg_val_greg_symbol_fixes (const void *p1, const void *p2)
|
||||
{
|
||||
offsetT val1 = *(offsetT *) p1;
|
||||
offsetT val2 = ((struct mmix_symbol_greg_fixes *) p2)->offs;
|
||||
@ -2644,9 +2604,7 @@ cmp_greg_val_greg_symbol_fixes (p1, p2)
|
||||
/* Generate a machine-dependent relocation. */
|
||||
|
||||
arelent *
|
||||
tc_gen_reloc (section, fixP)
|
||||
asection *section ATTRIBUTE_UNUSED;
|
||||
fixS *fixP;
|
||||
tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
|
||||
{
|
||||
bfd_signed_vma val
|
||||
= fixP->fx_offset
|
||||
@ -2940,7 +2898,7 @@ tc_gen_reloc (section, fixP)
|
||||
ugly labels_without_colons etc. */
|
||||
|
||||
void
|
||||
mmix_handle_mmixal ()
|
||||
mmix_handle_mmixal (void)
|
||||
{
|
||||
char *s0 = input_line_pointer;
|
||||
char *s;
|
||||
@ -3251,8 +3209,7 @@ mmix_handle_mmixal ()
|
||||
We fill in the label as an expression. */
|
||||
|
||||
void
|
||||
mmix_fb_label (expP)
|
||||
expressionS *expP;
|
||||
mmix_fb_label (expressionS *expP)
|
||||
{
|
||||
symbolS *sym;
|
||||
char *fb_internal_name;
|
||||
@ -3301,8 +3258,7 @@ mmix_fb_label (expP)
|
||||
relaxing. */
|
||||
|
||||
int
|
||||
mmix_force_relocation (fixP)
|
||||
fixS *fixP;
|
||||
mmix_force_relocation (fixS *fixP)
|
||||
{
|
||||
if (fixP->fx_r_type == BFD_RELOC_MMIX_LOCAL
|
||||
|| fixP->fx_r_type == BFD_RELOC_MMIX_BASE_PLUS_OFFSET)
|
||||
@ -3325,9 +3281,7 @@ mmix_force_relocation (fixP)
|
||||
given a PC relative reloc. */
|
||||
|
||||
long
|
||||
md_pcrel_from_section (fixP, sec)
|
||||
fixS * fixP;
|
||||
segT sec;
|
||||
md_pcrel_from_section (fixS *fixP, segT sec)
|
||||
{
|
||||
if (fixP->fx_addsy != (symbolS *) NULL
|
||||
&& (! S_IS_DEFINED (fixP->fx_addsy)
|
||||
@ -3345,7 +3299,7 @@ md_pcrel_from_section (fixP, sec)
|
||||
register section. */
|
||||
|
||||
void
|
||||
mmix_adjust_symtab ()
|
||||
mmix_adjust_symtab (void)
|
||||
{
|
||||
symbolS *sym;
|
||||
symbolS *regsec = section_symbol (reg_section);
|
||||
@ -3375,7 +3329,7 @@ mmix_adjust_symtab ()
|
||||
thought at the time I first wrote this. */
|
||||
|
||||
int
|
||||
mmix_label_without_colon_this_line ()
|
||||
mmix_label_without_colon_this_line (void)
|
||||
{
|
||||
int retval = label_without_colon_this_line;
|
||||
|
||||
@ -3391,10 +3345,7 @@ mmix_label_without_colon_this_line ()
|
||||
join with. */
|
||||
|
||||
long
|
||||
mmix_md_relax_frag (seg, fragP, stretch)
|
||||
segT seg;
|
||||
fragS *fragP;
|
||||
long stretch;
|
||||
mmix_md_relax_frag (segT seg, fragS *fragP, long stretch)
|
||||
{
|
||||
switch (fragP->fr_subtype)
|
||||
{
|
||||
@ -3520,7 +3471,7 @@ mmix_md_relax_frag (seg, fragP, stretch)
|
||||
/* Various things we punt until all input is seen. */
|
||||
|
||||
void
|
||||
mmix_md_end ()
|
||||
mmix_md_end (void)
|
||||
{
|
||||
fragS *fragP;
|
||||
symbolS *mainsym;
|
||||
@ -3695,9 +3646,7 @@ mmix_md_end ()
|
||||
/* qsort function for mmix_symbol_gregs. */
|
||||
|
||||
static int
|
||||
cmp_greg_symbol_fixes (parg, qarg)
|
||||
const PTR parg;
|
||||
const PTR qarg;
|
||||
cmp_greg_symbol_fixes (const void *parg, const void *qarg)
|
||||
{
|
||||
const struct mmix_symbol_greg_fixes *p
|
||||
= (const struct mmix_symbol_greg_fixes *) parg;
|
||||
@ -3714,7 +3663,7 @@ cmp_greg_symbol_fixes (parg, qarg)
|
||||
as an ELF section. */
|
||||
|
||||
void
|
||||
mmix_frob_file ()
|
||||
mmix_frob_file (void)
|
||||
{
|
||||
int i;
|
||||
struct mmix_symbol_gregs *all_greg_symbols[MAX_GREGS];
|
||||
@ -3822,9 +3771,7 @@ mmix_frob_file ()
|
||||
If the name isn't a built-in name and parsed into *EXPP, return zero. */
|
||||
|
||||
int
|
||||
mmix_parse_predefined_name (name, expP)
|
||||
char *name;
|
||||
expressionS *expP;
|
||||
mmix_parse_predefined_name (char *name, expressionS *expP)
|
||||
{
|
||||
char *canon_name;
|
||||
char *handler_charp;
|
||||
@ -3933,7 +3880,7 @@ mmix_parse_predefined_name (name, expP)
|
||||
section. */
|
||||
|
||||
void
|
||||
mmix_md_elf_section_change_hook ()
|
||||
mmix_md_elf_section_change_hook (void)
|
||||
{
|
||||
if (doing_bspec)
|
||||
as_bad (_("section change from within a BSPEC/ESPEC pair is not supported"));
|
||||
@ -3946,8 +3893,7 @@ mmix_md_elf_section_change_hook ()
|
||||
section too. */
|
||||
|
||||
static void
|
||||
s_loc (ignore)
|
||||
int ignore ATTRIBUTE_UNUSED;
|
||||
s_loc (int ignore ATTRIBUTE_UNUSED)
|
||||
{
|
||||
segT section;
|
||||
expressionS exp;
|
||||
@ -4076,7 +4022,7 @@ s_loc (ignore)
|
||||
by comma. */
|
||||
|
||||
static void
|
||||
mmix_byte ()
|
||||
mmix_byte (void)
|
||||
{
|
||||
unsigned int c;
|
||||
char *start;
|
||||
@ -4166,8 +4112,7 @@ mmix_byte ()
|
||||
lenient than mmix_byte but FIXME: they should eventually merge. */
|
||||
|
||||
static void
|
||||
mmix_cons (nbytes)
|
||||
int nbytes;
|
||||
mmix_cons (int nbytes)
|
||||
{
|
||||
expressionS exp;
|
||||
char *start;
|
||||
@ -4296,11 +4241,8 @@ mmix_cons (nbytes)
|
||||
Arguably this is a GCC bug. */
|
||||
|
||||
void
|
||||
mmix_md_do_align (n, fill, len, max)
|
||||
int n;
|
||||
char *fill ATTRIBUTE_UNUSED;
|
||||
int len ATTRIBUTE_UNUSED;
|
||||
int max ATTRIBUTE_UNUSED;
|
||||
mmix_md_do_align (int n, char *fill ATTRIBUTE_UNUSED,
|
||||
int len ATTRIBUTE_UNUSED, int max ATTRIBUTE_UNUSED)
|
||||
{
|
||||
last_alignment = n;
|
||||
want_unaligned = n == 0;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* tc-mmix.h -- Header file for tc-mmix.c.
|
||||
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
|
||||
Written by Hans-Peter Nilsson (hp@bitrange.com).
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
@ -41,25 +41,25 @@ extern const char mmix_flt_chars[];
|
||||
/* "@" is a synonym for ".". */
|
||||
#define LEX_AT (LEX_BEGIN_NAME)
|
||||
|
||||
extern int mmix_label_without_colon_this_line PARAMS ((void));
|
||||
extern int mmix_label_without_colon_this_line (void);
|
||||
#define LABELS_WITHOUT_COLONS mmix_label_without_colon_this_line ()
|
||||
|
||||
extern int mmix_next_semicolon_is_eoln;
|
||||
#define TC_EOL_IN_INSN(p) (*(p) == ';' && ! mmix_next_semicolon_is_eoln)
|
||||
|
||||
/* This is one direction we can get mmixal compatibility. */
|
||||
extern void mmix_handle_mmixal PARAMS ((void));
|
||||
extern void mmix_handle_mmixal (void);
|
||||
#define md_start_line_hook mmix_handle_mmixal
|
||||
|
||||
extern void mmix_md_begin PARAMS ((void));
|
||||
extern void mmix_md_begin (void);
|
||||
#define md_begin mmix_md_begin
|
||||
|
||||
extern void mmix_md_end PARAMS ((void));
|
||||
extern void mmix_md_end (void);
|
||||
#define md_end mmix_md_end
|
||||
|
||||
extern int mmix_current_location \
|
||||
PARAMS ((void (*fn) (expressionS *), expressionS *));
|
||||
extern int mmix_parse_predefined_name PARAMS ((char *, expressionS *));
|
||||
(void (*fn) (expressionS *), expressionS *);
|
||||
extern int mmix_parse_predefined_name (char *, expressionS *);
|
||||
|
||||
extern char *mmix_current_prefix;
|
||||
|
||||
@ -78,7 +78,7 @@ extern int mmix_gnu_syntax;
|
||||
: ((name[0] == ':' || ISUPPER (name[0])) \
|
||||
&& mmix_parse_predefined_name (name, exp))))
|
||||
|
||||
extern char *mmix_prefix_name PARAMS ((char *));
|
||||
extern char *mmix_prefix_name (char *);
|
||||
|
||||
/* We implement when *creating* a symbol, we also need to strip a ':' or
|
||||
prepend a prefix. */
|
||||
@ -87,7 +87,7 @@ extern char *mmix_prefix_name PARAMS ((char *));
|
||||
|
||||
#define md_undefined_symbol(x) NULL
|
||||
|
||||
extern void mmix_fb_label PARAMS ((expressionS *));
|
||||
extern void mmix_fb_label (expressionS *);
|
||||
|
||||
/* Since integer_constant is local to expr.c, we have to make this a
|
||||
macro. FIXME: Do it cleaner. */
|
||||
@ -110,7 +110,7 @@ extern void mmix_fb_label PARAMS ((expressionS *));
|
||||
/* Gas dislikes the 2ADD, 8ADD etc. insns, so we have to assemble them in
|
||||
the error-recovery loop. Hopefully there are no significant
|
||||
differences. Also, space on a line isn't gracefully handled. */
|
||||
extern int mmix_assemble_return_nonzero PARAMS ((char *));
|
||||
extern int mmix_assemble_return_nonzero (char *);
|
||||
#define tc_unrecognized_line(c) \
|
||||
((c) == ' ' \
|
||||
|| (((c) == '1' || (c) == '2' || (c) == '4' || (c) == '8') \
|
||||
@ -124,7 +124,7 @@ extern const struct relax_type mmix_relax_table[];
|
||||
#define TC_GENERIC_RELAX_TABLE mmix_relax_table
|
||||
|
||||
/* We use the relax table for everything except the GREG frags and PUSHJ. */
|
||||
extern long mmix_md_relax_frag PARAMS ((segT, fragS *, long));
|
||||
extern long mmix_md_relax_frag (segT, fragS *, long);
|
||||
#define md_relax_frag mmix_md_relax_frag
|
||||
|
||||
#define tc_fix_adjustable(FIX) \
|
||||
@ -136,7 +136,7 @@ extern long mmix_md_relax_frag PARAMS ((segT, fragS *, long));
|
||||
|
||||
/* Adjust symbols which are registers. */
|
||||
#define tc_adjust_symtab() mmix_adjust_symtab ()
|
||||
extern void mmix_adjust_symtab PARAMS ((void));
|
||||
extern void mmix_adjust_symtab (void);
|
||||
|
||||
/* Here's where we make all symbols global, when so requested.
|
||||
We must avoid doing that for expression symbols or section symbols,
|
||||
@ -170,11 +170,11 @@ extern int mmix_globalize_symbols;
|
||||
|
||||
/* When relaxing, we need to emit various relocs we otherwise wouldn't. */
|
||||
#define TC_FORCE_RELOCATION(fix) mmix_force_relocation (fix)
|
||||
extern int mmix_force_relocation PARAMS ((struct fix *));
|
||||
extern int mmix_force_relocation (struct fix *);
|
||||
|
||||
/* Call md_pcrel_from_section(), not md_pcrel_from(). */
|
||||
#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
|
||||
extern long md_pcrel_from_section PARAMS ((struct fix *, segT));
|
||||
extern long md_pcrel_from_section (struct fix *, segT);
|
||||
|
||||
#define md_section_align(seg, size) (size)
|
||||
|
||||
@ -192,7 +192,7 @@ extern fragS *mmix_opcode_frag;
|
||||
all symbols have been evaluated and all frags mapped, and when the
|
||||
fixups are done and relocs are output. Similarly for each unknown
|
||||
symbol. */
|
||||
extern void mmix_frob_file PARAMS ((void));
|
||||
extern void mmix_frob_file (void);
|
||||
#define tc_frob_file_before_fix mmix_frob_file
|
||||
|
||||
/* Used by mmix_frob_file. Hangs on section symbols and unknown symbols. */
|
||||
@ -210,10 +210,10 @@ struct mmix_segment_info_type
|
||||
};
|
||||
#define TC_SEGMENT_INFO_TYPE struct mmix_segment_info_type
|
||||
|
||||
extern void mmix_md_elf_section_change_hook PARAMS ((void));
|
||||
extern void mmix_md_elf_section_change_hook (void);
|
||||
#define md_elf_section_change_hook mmix_md_elf_section_change_hook
|
||||
|
||||
extern void mmix_md_do_align PARAMS ((int, char *, int, int));
|
||||
extern void mmix_md_do_align (int, char *, int, int);
|
||||
#define md_do_align(n, fill, len, max, label) \
|
||||
mmix_md_do_align (n, fill, len, max)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user