From 8edc77b9b48e63d0bb26c517e3c815d6fdc73dc1 Mon Sep 17 00:00:00 2001 From: Kaz Kojima Date: Sat, 11 Oct 2003 13:40:21 +0000 Subject: [PATCH] * config/tc-sh.c: Convert to ISO C90. Remove unnecessary prototypes and casts. * config/tc-sh.h: Likewise. * config/tc-sh64.c: Likewise. * config/tc-sh64.h: Likewise. --- gas/ChangeLog | 8 ++ gas/config/tc-sh.c | 234 ++++++++++++------------------------------ gas/config/tc-sh.h | 30 +++--- gas/config/tc-sh64.c | 235 +++++++++++++++---------------------------- gas/config/tc-sh64.h | 28 +++--- 5 files changed, 182 insertions(+), 353 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 679e4660d1d..c345b51d492 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2003-10-11 Kaz Kojima + + * config/tc-sh.c: Convert to ISO C90. Remove unnecessary + prototypes and casts. + * config/tc-sh.h: Likewise. + * config/tc-sh64.c: Likewise. + * config/tc-sh64.h: Likewise. + 2003-10-08 Dave Brolley * config/tc-frv.c (fr550_check_insn_acc_range): New function. diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index d147df6df5b..dabd5d4faa4 100644 --- a/gas/config/tc-sh.c +++ b/gas/config/tc-sh.c @@ -48,44 +48,17 @@ const char comment_chars[] = "!"; const char line_separator_chars[] = ";"; const char line_comment_chars[] = "!#"; -static void s_uses PARAMS ((int)); - -static void sh_count_relocs PARAMS ((bfd *, segT, PTR)); -static void sh_frob_section PARAMS ((bfd *, segT, PTR)); - -static void s_uacons PARAMS ((int)); -static sh_opcode_info *find_cooked_opcode PARAMS ((char **)); -static unsigned int assemble_ppi PARAMS ((char *, sh_opcode_info *)); -static void little PARAMS ((int)); -static void big PARAMS ((int)); -static int parse_reg PARAMS ((char *, int *, int *)); -static char *parse_exp PARAMS ((char *, sh_operand_info *)); -static char *parse_at PARAMS ((char *, sh_operand_info *)); -static void get_operand PARAMS ((char **, sh_operand_info *)); -static char *get_operands - PARAMS ((sh_opcode_info *, char *, sh_operand_info *)); -static sh_opcode_info *get_specific - PARAMS ((sh_opcode_info *, sh_operand_info *)); -static void insert PARAMS ((char *, int, int, sh_operand_info *)); -static void build_relax PARAMS ((sh_opcode_info *, sh_operand_info *)); -static char *insert_loop_bounds PARAMS ((char *, sh_operand_info *)); -static unsigned int build_Mytes - PARAMS ((sh_opcode_info *, sh_operand_info *)); -static bfd_boolean sh_local_pcrel PARAMS ((fixS *fix)); +static void s_uses (int); +static void s_uacons (int); #ifdef OBJ_ELF -static void sh_elf_cons PARAMS ((int)); - -inline static int sh_PIC_related_p PARAMS ((symbolS *)); -static int sh_check_fixup PARAMS ((expressionS *, bfd_reloc_code_real_type *)); -inline static char *sh_end_of_match PARAMS ((char *, char *)); +static void sh_elf_cons (int); symbolS *GOT_symbol; /* Pre-defined "_GLOBAL_OFFSET_TABLE_" */ #endif static void -big (ignore) - int ignore ATTRIBUTE_UNUSED; +big (int ignore ATTRIBUTE_UNUSED) { if (! target_big_endian) as_bad (_("directive .big encountered when option -big required")); @@ -95,8 +68,7 @@ big (ignore) } static void -little (ignore) - int ignore ATTRIBUTE_UNUSED; +little (int ignore ATTRIBUTE_UNUSED) { if (target_big_endian) as_bad (_("directive .little encountered when option -little required")); @@ -510,8 +482,7 @@ static struct hash_control *opcode_hash_control; /* Opcode mnemonics */ /* Determinet whether the symbol needs any kind of PIC relocation. */ inline static int -sh_PIC_related_p (sym) - symbolS *sym; +sh_PIC_related_p (symbolS *sym) { expressionS *exp; @@ -537,9 +508,7 @@ sh_PIC_related_p (sym) expression, that may be rearranged. */ static int -sh_check_fixup (main_exp, r_type_p) - expressionS *main_exp; - bfd_reloc_code_real_type *r_type_p; +sh_check_fixup (expressionS *main_exp, bfd_reloc_code_real_type *r_type_p) { expressionS *exp = main_exp; @@ -765,10 +734,7 @@ sh_check_fixup (main_exp, r_type_p) /* Add expression EXP of SIZE bytes to offset OFF of fragment FRAG. */ void -sh_cons_fix_new (frag, off, size, exp) - fragS *frag; - int off, size; - expressionS *exp; +sh_cons_fix_new (fragS *frag, int off, int size, expressionS *exp) { bfd_reloc_code_real_type r_type = BFD_RELOC_UNUSED; @@ -813,9 +779,9 @@ sh_cons_fix_new (frag, off, size, exp) suffixes such as @GOT, @GOTOFF and @PLT, that generate machine-specific relocation types. So we must define it here. */ /* Clobbers input_line_pointer, checks end-of-line. */ +/* NBYTES 1=.byte, 2=.word, 4=.long */ static void -sh_elf_cons (nbytes) - register int nbytes; /* 1=.byte, 2=.word, 4=.long */ +sh_elf_cons (register int nbytes) { expressionS exp; @@ -857,7 +823,7 @@ sh_elf_cons (nbytes) set up all the tables, etc that the MD part of the assembler needs. */ void -md_begin () +md_begin (void) { const sh_opcode_info *opcode; char *prev_name = ""; @@ -897,10 +863,7 @@ static int reg_b; /* Try to parse a reg name. Return the number of chars consumed. */ static int -parse_reg (src, mode, reg) - char *src; - int *mode; - int *reg; +parse_reg (char *src, int *mode, int *reg) { char l0 = TOLOWER (src[0]); char l1 = l0 ? TOLOWER (src[1]) : 0; @@ -1250,9 +1213,7 @@ parse_reg (src, mode, reg) } static char * -parse_exp (s, op) - char *s; - sh_operand_info *op; +parse_exp (char *s, sh_operand_info *op) { char *save; char *new; @@ -1293,9 +1254,7 @@ parse_exp (s, op) */ static char * -parse_at (src, op) - char *src; - sh_operand_info *op; +parse_at (char *src, sh_operand_info *op) { int len; int mode; @@ -1455,9 +1414,7 @@ parse_at (src, op) } static void -get_operand (ptr, op) - char **ptr; - sh_operand_info *op; +get_operand (char **ptr, sh_operand_info *op) { char *src = *ptr; int mode = -1; @@ -1493,10 +1450,7 @@ get_operand (ptr, op) } static char * -get_operands (info, args, operand) - sh_opcode_info *info; - char *args; - sh_operand_info *operand; +get_operands (sh_opcode_info *info, char *args, sh_operand_info *operand) { char *ptr = args; if (info->arg[0]) @@ -1554,9 +1508,7 @@ get_operands (info, args, operand) provided. */ static sh_opcode_info * -get_specific (opcode, operands) - sh_opcode_info *opcode; - sh_operand_info *operands; +get_specific (sh_opcode_info *opcode, sh_operand_info *operands) { sh_opcode_info *this_try = opcode; char *name = opcode->name; @@ -1840,11 +1792,7 @@ get_specific (opcode, operands) } static void -insert (where, how, pcrel, op) - char *where; - int how; - int pcrel; - sh_operand_info *op; +insert (char *where, int how, int pcrel, sh_operand_info *op) { fix_new_exp (frag_now, where - frag_now->fr_literal, @@ -1855,9 +1803,7 @@ insert (where, how, pcrel, op) } static void -build_relax (opcode, op) - sh_opcode_info *opcode; - sh_operand_info *op; +build_relax (sh_opcode_info *opcode, sh_operand_info *op) { int high_byte = target_big_endian ? 0 : 1; char *p; @@ -1891,9 +1837,7 @@ build_relax (opcode, op) /* Insert ldrs & ldre with fancy relocations that relaxation can recognize. */ static char * -insert_loop_bounds (output, operand) - char *output; - sh_operand_info *operand; +insert_loop_bounds (char *output, sh_operand_info *operand) { char *name; symbolS *end_sym; @@ -1941,9 +1885,7 @@ insert_loop_bounds (output, operand) /* Now we know what sort of opcodes it is, let's build the bytes. */ static unsigned int -build_Mytes (opcode, operand) - sh_opcode_info *opcode; - sh_operand_info *operand; +build_Mytes (sh_opcode_info *opcode, sh_operand_info *operand) { int index; char nbuf[4]; @@ -2054,8 +1996,7 @@ build_Mytes (opcode, operand) *STR_P to the first character after the last one read. */ static sh_opcode_info * -find_cooked_opcode (str_p) - char **str_p; +find_cooked_opcode (char **str_p) { char *str = *str_p; unsigned char *op_start; @@ -2102,9 +2043,7 @@ find_cooked_opcode (str_p) #define DDT_BASE 0xf000 /* Base value for double data transfer insns */ static unsigned int -assemble_ppi (op_end, opcode) - char *op_end; - sh_opcode_info *opcode; +assemble_ppi (char *op_end, sh_opcode_info *opcode) { int movx = 0; int movy = 0; @@ -2327,8 +2266,7 @@ assemble_ppi (op_end, opcode) the frags/bytes it assembles to. */ void -md_assemble (str) - char *str; +md_assemble (char *str) { unsigned char *op_end; sh_operand_info operand[3]; @@ -2436,7 +2374,7 @@ md_assemble (str) emits a BFD_RELOC_SH_LABEL reloc if necessary. */ void -sh_frob_label () +sh_frob_label (void) { static fragS *last_label_frag; static int last_label_offset; @@ -2461,7 +2399,7 @@ sh_frob_label () data. It emits a BFD_RELOC_SH_DATA reloc if necessary. */ void -sh_flush_pending_output () +sh_flush_pending_output (void) { if (sh_relax && seg_info (now_seg)->tc_segment_info_data.in_code) @@ -2473,8 +2411,7 @@ sh_flush_pending_output () } symbolS * -md_undefined_symbol (name) - char *name ATTRIBUTE_UNUSED; +md_undefined_symbol (char *name ATTRIBUTE_UNUSED) { return 0; } @@ -2483,15 +2420,13 @@ md_undefined_symbol (name) #ifndef BFD_ASSEMBLER void -tc_crawl_symbol_chain (headers) - object_headers *headers ATTRIBUTE_UNUSED; +tc_crawl_symbol_chain (object_headers *headers ATTRIBUTE_UNUSED) { printf (_("call to tc_crawl_symbol_chain \n")); } void -tc_headers_hook (headers) - object_headers *headers ATTRIBUTE_UNUSED; +tc_headers_hook (object_headers *headers ATTRIBUTE_UNUSED) { printf (_("call to tc_headers_hook \n")); } @@ -2509,10 +2444,7 @@ tc_headers_hook (headers) returned, or NULL on 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]; @@ -2566,8 +2498,7 @@ md_atof (type, litP, sizeP) special reloc for the linker. */ static void -s_uses (ignore) - int ignore ATTRIBUTE_UNUSED; +s_uses (int ignore ATTRIBUTE_UNUSED) { expressionS ex; @@ -2622,9 +2553,7 @@ struct option md_longopts[] = size_t md_longopts_size = sizeof (md_longopts); int -md_parse_option (c, arg) - int c; - char *arg ATTRIBUTE_UNUSED; +md_parse_option (int c, char *arg ATTRIBUTE_UNUSED) { switch (c) { @@ -2718,8 +2647,7 @@ md_parse_option (c, arg) } void -md_show_usage (stream) - FILE *stream; +md_show_usage (FILE *stream) { fprintf (stream, _("\ SH options:\n\ @@ -2762,10 +2690,7 @@ struct sh_count_relocs bfd_map_over_sections. */ static void -sh_count_relocs (abfd, sec, data) - bfd *abfd ATTRIBUTE_UNUSED; - segT sec; - PTR data; +sh_count_relocs (bfd *abfd ATTRIBUTE_UNUSED, segT sec, void *data) { struct sh_count_relocs *info = (struct sh_count_relocs *) data; segment_info_type *seginfo; @@ -2791,10 +2716,8 @@ sh_count_relocs (abfd, sec, data) BFD_ASSEMBLER, this is called via bfd_map_over_sections. */ static void -sh_frob_section (abfd, sec, ignore) - bfd *abfd ATTRIBUTE_UNUSED; - segT sec; - PTR ignore ATTRIBUTE_UNUSED; +sh_frob_section (bfd *abfd ATTRIBUTE_UNUSED, segT sec, + void *ignore ATTRIBUTE_UNUSED) { segment_info_type *seginfo; fixS *fix; @@ -2877,13 +2800,13 @@ sh_frob_section (abfd, sec, ignore) info.sym = sym; info.count = 0; #ifdef BFD_ASSEMBLER - bfd_map_over_sections (stdoutput, sh_count_relocs, (PTR) &info); + bfd_map_over_sections (stdoutput, sh_count_relocs, &info); #else { int iscan; for (iscan = SEG_E0; iscan < SEG_UNKNOWN; iscan++) - sh_count_relocs ((bfd *) NULL, iscan, (PTR) &info); + sh_count_relocs ((bfd *) NULL, iscan, &info); } #endif @@ -2911,7 +2834,7 @@ sh_frob_section (abfd, sec, ignore) the stored function address entirely. */ void -sh_frob_file () +sh_frob_file (void) { #ifdef HAVE_SH64 shmedia_frob_file_before_adjust (); @@ -2921,13 +2844,13 @@ sh_frob_file () return; #ifdef BFD_ASSEMBLER - bfd_map_over_sections (stdoutput, sh_frob_section, (PTR) NULL); + bfd_map_over_sections (stdoutput, sh_frob_section, NULL); #else { int iseg; for (iseg = SEG_E0; iseg < SEG_UNKNOWN; iseg++) - sh_frob_section ((bfd *) NULL, iseg, (PTR) NULL); + sh_frob_section ((bfd *) NULL, iseg, NULL); } #endif } @@ -2936,14 +2859,12 @@ sh_frob_file () create relocs so that md_apply_fix3 will fill in the correct values. */ void -md_convert_frag (headers, seg, fragP) #ifdef BFD_ASSEMBLER - bfd *headers ATTRIBUTE_UNUSED; +md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, segT seg, fragS *fragP) #else - object_headers *headers ATTRIBUTE_UNUSED; +md_convert_frag (object_headers *headers ATTRIBUTE_UNUSED, segT seg, + fragS *fragP) #endif - segT seg; - fragS *fragP; { int donerelax = 0; @@ -3086,9 +3007,7 @@ md_convert_frag (headers, seg, fragP) } valueT -md_section_align (seg, size) - segT seg ATTRIBUTE_UNUSED; - valueT size; +md_section_align (segT seg ATTRIBUTE_UNUSED, valueT size) { #ifdef BFD_ASSEMBLER #ifdef OBJ_ELF @@ -3113,8 +3032,7 @@ static int sh_no_align_cons = 0; to be aligned. */ static void -s_uacons (bytes) - int bytes; +s_uacons (int bytes) { /* Tell sh_cons_align not to align this value. */ sh_no_align_cons = 1; @@ -3128,8 +3046,7 @@ s_uacons (bytes) enable this warning? */ void -sh_cons_align (nbytes) - int nbytes; +sh_cons_align (int nbytes) { int nalign; char *p; @@ -3169,8 +3086,7 @@ sh_cons_align (nbytes) also where we check for misaligned data. */ void -sh_handle_align (frag) - fragS *frag; +sh_handle_align (fragS *frag) { int bytes = frag->fr_next->fr_address - frag->fr_address - frag->fr_fix; @@ -3218,8 +3134,7 @@ sh_handle_align (frag) /* See whether the relocation should be resolved locally. */ static bfd_boolean -sh_local_pcrel (fix) - fixS *fix; +sh_local_pcrel (fixS *fix) { return (! sh_relax && (fix->fx_r_type == BFD_RELOC_SH_PCDISP8BY2 @@ -3236,8 +3151,7 @@ sh_local_pcrel (fix) relaxing. */ int -sh_force_relocation (fix) - fixS *fix; +sh_force_relocation (fixS *fix) { /* These relocations can't make it into a DSO, so no use forcing them for global symbols. */ @@ -3272,8 +3186,7 @@ sh_force_relocation (fix) #ifdef OBJ_ELF bfd_boolean -sh_fix_adjustable (fixP) - fixS *fixP; +sh_fix_adjustable (fixS *fixP) { if (fixP->fx_r_type == BFD_RELOC_32_PLT_PCREL || fixP->fx_r_type == BFD_RELOC_32_GOT_PCREL @@ -3290,7 +3203,7 @@ sh_fix_adjustable (fixP) } void -sh_elf_final_processing () +sh_elf_final_processing (void) { int val; @@ -3330,10 +3243,7 @@ sh_elf_final_processing () /* Apply a fixup to the object file. */ void -md_apply_fix3 (fixP, valP, seg) - fixS * fixP; - valueT * valP; - segT seg ATTRIBUTE_UNUSED; +md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) { char *buf = fixP->fx_where + fixP->fx_frag->fr_literal; int lowbyte = target_big_endian ? 1 : 0; @@ -3606,9 +3516,7 @@ md_apply_fix3 (fixP, valP, seg) by which a fragment must grow to reach it's destination. */ int -md_estimate_size_before_relax (fragP, segment_type) - register fragS *fragP; - register segT segment_type; +md_estimate_size_before_relax (fragS *fragP, segT segment_type) { int what; @@ -3684,10 +3592,7 @@ md_estimate_size_before_relax (fragP, segment_type) /* Put number into target byte order. */ void -md_number_to_chars (ptr, use, nbytes) - char *ptr; - valueT use; - int nbytes; +md_number_to_chars (char *ptr, valueT use, int nbytes) { #ifdef HAVE_SH64 /* We might need to set the contents type to data. */ @@ -3704,16 +3609,13 @@ md_number_to_chars (ptr, use, nbytes) eg for the sh-hms target. */ long -md_pcrel_from (fixP) - fixS *fixP; +md_pcrel_from (fixS *fixP) { return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address + 2; } long -md_pcrel_from_section (fixP, sec) - fixS *fixP; - segT sec; +md_pcrel_from_section (fixS *fixP, segT sec) { if (! sh_local_pcrel (fixP) && fixP->fx_addsy != (symbolS *) NULL @@ -3733,8 +3635,7 @@ md_pcrel_from_section (fixP, sec) #ifdef OBJ_COFF int -tc_coff_sizemachdep (frag) - fragS *frag; +tc_coff_sizemachdep (fragS *frag) { return md_relax_table[frag->fr_subtype].rlx_length; } @@ -3783,11 +3684,8 @@ static const struct reloc_map coff_reloc_map[] = but does some minor tweaking. */ void -sh_coff_reloc_mangle (seg, fix, intr, paddr) - segment_info_type *seg; - fixS *fix; - struct internal_reloc *intr; - unsigned int paddr; +sh_coff_reloc_mangle (segment_info_type *seg, fixS *fix, + struct internal_reloc *intr, unsigned int paddr) { symbolS *symbol_ptr = fix->fx_addsy; symbolS *dot; @@ -3898,9 +3796,7 @@ sh_coff_reloc_mangle (seg, fix, intr, paddr) /* Create a reloc. */ arelent * -tc_gen_reloc (section, fixp) - asection *section ATTRIBUTE_UNUSED; - fixS *fixp; +tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) { arelent *rel; bfd_reloc_code_real_type r_type; @@ -3973,8 +3869,7 @@ tc_gen_reloc (section, fixp) #ifdef OBJ_ELF inline static char * -sh_end_of_match (cont, what) - char *cont, *what; +sh_end_of_match (char *cont, char *what) { int len = strlen (what); @@ -3986,10 +3881,7 @@ sh_end_of_match (cont, what) } int -sh_parse_name (name, exprP, nextcharP) - char const *name; - expressionS *exprP; - char *nextcharP; +sh_parse_name (char const *name, expressionS *exprP, char *nextcharP) { char *next = input_line_pointer; char *next_end; diff --git a/gas/config/tc-sh.h b/gas/config/tc-sh.h index 9923162b752..748ba3c4f03 100644 --- a/gas/config/tc-sh.h +++ b/gas/config/tc-sh.h @@ -47,18 +47,18 @@ extern int sh_small; /* We require .long, et. al., to be aligned correctly. */ #define md_cons_align(nbytes) sh_cons_align (nbytes) -extern void sh_cons_align PARAMS ((int)); +extern void sh_cons_align (int); /* When relaxing, we need to generate relocations for alignment directives. */ #define HANDLE_ALIGN(frag) sh_handle_align (frag) -extern void sh_handle_align PARAMS ((fragS *)); +extern void sh_handle_align (fragS *); #define MAX_MEM_FOR_RS_ALIGN_CODE (1 + 2) /* We need to force out some relocations when relaxing. */ #define TC_FORCE_RELOCATION(fix) sh_force_relocation (fix) -extern int sh_force_relocation PARAMS ((struct fix *)); +extern int sh_force_relocation (struct fix *); /* This macro decides whether a particular reloc is an entry in a switch table. It is used when relaxing, because the linker needs @@ -95,7 +95,7 @@ extern int sh_force_relocation PARAMS ((struct fix *)); (sh_relax && SWITCH_TABLE (FIX)) #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 IGNORE_NONSTANDARD_ESCAPES @@ -119,12 +119,12 @@ struct sh_segment_info_type /* We call a routine to emit a reloc for a label, so that the linker can align loads and stores without crossing a label. */ -extern void sh_frob_label PARAMS ((void)); +extern void sh_frob_label (void); #define tc_frob_label(sym) sh_frob_label () /* We call a routine to flush pending output in order to output a DATA reloc when required. */ -extern void sh_flush_pending_output PARAMS ((void)); +extern void sh_flush_pending_output (void); #define md_flush_pending_output() sh_flush_pending_output () #ifdef BFD_ASSEMBLER @@ -132,7 +132,7 @@ extern void sh_flush_pending_output PARAMS ((void)); #else #define tc_frob_file sh_frob_file #endif -extern void sh_frob_file PARAMS ((void)); +extern void sh_frob_file (void); #ifdef OBJ_COFF @@ -153,8 +153,8 @@ extern void sh_frob_file PARAMS ((void)); #define TC_RELOC_MANGLE(seg, fix, int, paddr) \ sh_coff_reloc_mangle ((seg), (fix), (int), (paddr)) extern void sh_coff_reloc_mangle - PARAMS ((struct segment_info_struct *, struct fix *, - struct internal_reloc *, unsigned int)); + (struct segment_info_struct *, struct fix *, + struct internal_reloc *, unsigned int)); #define tc_coff_symbol_emit_hook(a) ; /* not used */ @@ -163,7 +163,7 @@ extern void sh_coff_reloc_mangle #define TC_KEEP_FX_OFFSET 1 #define TC_COFF_SIZEMACHDEP(frag) tc_coff_sizemachdep(frag) -extern int tc_coff_sizemachdep PARAMS ((fragS *)); +extern int tc_coff_sizemachdep (fragS *); #ifdef BFD_ASSEMBLER #define SEG_NAME(SEG) segment_name (SEG) @@ -197,7 +197,7 @@ extern int target_big_endian; #endif #define elf_tc_final_processing sh_elf_final_processing -extern void sh_elf_final_processing PARAMS ((void)); +extern void sh_elf_final_processing (void); #define DIFF_EXPR_OK /* foo-. gets turned into PC relative relocs */ @@ -213,7 +213,7 @@ extern void sh_elf_final_processing PARAMS ((void)); #define TC_RELOC_GLOBAL_OFFSET_TABLE BFD_RELOC_SH_GOTPC #define tc_fix_adjustable(FIX) sh_fix_adjustable(FIX) -extern bfd_boolean sh_fix_adjustable PARAMS ((struct fix *)); +extern bfd_boolean sh_fix_adjustable (struct fix *); /* Values passed to md_apply_fix3 don't include symbol values. */ #define MD_APPLY_SYM_VALUE(FIX) 0 @@ -251,13 +251,11 @@ extern bfd_boolean sh_fix_adjustable PARAMS ((struct fix *)); #define md_parse_name(name, exprP, nextcharP) \ sh_parse_name ((name), (exprP), (nextcharP)) -int sh_parse_name PARAMS ((char const *name, - expressionS *exprP, - char *nextchar)); +int sh_parse_name (char const *name, expressionS *exprP, char *nextchar); #define TC_CONS_FIX_NEW(FRAG, OFF, LEN, EXP) \ sh_cons_fix_new ((FRAG), (OFF), (LEN), (EXP)) -void sh_cons_fix_new PARAMS ((fragS *, int, int, expressionS *)); +void sh_cons_fix_new (fragS *, int, int, expressionS *); /* This is used to construct expressions out of @GOTOFF, @PLT and @GOT symbols. The relocation type is stored in X_md. */ diff --git a/gas/config/tc-sh64.c b/gas/config/tc-sh64.c index ee63b0eb056..4ccbe1d8a45 100644 --- a/gas/config/tc-sh64.c +++ b/gas/config/tc-sh64.c @@ -133,63 +133,43 @@ static const unsigned char shmedia_little_nop_pattern[4] = (SHMEDIA_NOP_OPC >> 16) & 255, (SHMEDIA_NOP_OPC >> 24) & 255 }; -static void shmedia_md_begin - PARAMS ((void)); -static int shmedia_parse_reg - PARAMS ((char *, int *, int *, shmedia_arg_type)); -static void shmedia_md_assemble - PARAMS ((char *)); -static void shmedia_md_apply_fix3 - PARAMS ((fixS *, valueT *)); -static int shmedia_md_estimate_size_before_relax - PARAMS ((fragS *, segT)); -static int shmedia_init_reloc - PARAMS ((arelent *, fixS *)); -static char *shmedia_get_operands - PARAMS ((shmedia_opcode_info *, char *, shmedia_operands_info *)); -static void s_sh64_mode - PARAMS ((int)); -static void s_sh64_abi - PARAMS ((int)); -static void shmedia_md_convert_frag - PARAMS ((bfd *, segT, fragS *, bfd_boolean)); -static void shmedia_check_limits - PARAMS ((offsetT *, bfd_reloc_code_real_type, fixS *)); -static void sh64_set_contents_type - PARAMS ((enum sh64_elf_cr_type)); -static void shmedia_get_operand - PARAMS ((char **, shmedia_operand_info *, shmedia_arg_type)); -static unsigned long shmedia_immediate_op - PARAMS ((char *, shmedia_operand_info *, int, bfd_reloc_code_real_type)); -static char *shmedia_parse_exp - PARAMS ((char *, shmedia_operand_info *)); -static void shmedia_frob_file_before_adjust - PARAMS ((void)); -static void sh64_emit_crange - PARAMS ((symbolS *, symbolS *, enum sh64_elf_cr_type)); -static void sh64_flush_last_crange - PARAMS ((bfd *, asection *, PTR)); -static void sh64_flag_output - PARAMS ((void)); -static void sh64_update_contents_mark - PARAMS ((bfd_boolean)); -static void sh64_vtable_entry - PARAMS ((int)); -static void sh64_vtable_inherit - PARAMS ((int)); -static char * strip_datalabels - PARAMS ((void)); -static int shmedia_build_Mytes - PARAMS ((shmedia_opcode_info *, shmedia_operands_info *)); -static shmedia_opcode_info * shmedia_find_cooked_opcode - PARAMS ((char **)); -static unsigned long shmedia_mask_number - PARAMS ((unsigned long, bfd_reloc_code_real_type)); +static void shmedia_md_begin (void); +static int shmedia_parse_reg (char *, int *, int *, shmedia_arg_type); +static void shmedia_md_assemble (char *); +static void shmedia_md_apply_fix3 (fixS *, valueT *); +static int shmedia_md_estimate_size_before_relax (fragS *, segT); +static int shmedia_init_reloc (arelent *, fixS *); +static char *shmedia_get_operands (shmedia_opcode_info *, char *, + shmedia_operands_info *); +static void s_sh64_mode (int); +static void s_sh64_abi (int); +static void shmedia_md_convert_frag (bfd *, segT, fragS *, bfd_boolean); +static void shmedia_check_limits (offsetT *, bfd_reloc_code_real_type, + fixS *); +static void sh64_set_contents_type (enum sh64_elf_cr_type); +static void shmedia_get_operand (char **, shmedia_operand_info *, + shmedia_arg_type); +static unsigned long shmedia_immediate_op (char *, shmedia_operand_info *, + int, bfd_reloc_code_real_type); +static char *shmedia_parse_exp (char *, shmedia_operand_info *); +static void shmedia_frob_file_before_adjust (void); +static void sh64_emit_crange (symbolS *, symbolS *, enum sh64_elf_cr_type); +static void sh64_flush_last_crange (bfd *, asection *, void *); +static void sh64_flag_output (void); +static void sh64_update_contents_mark (bfd_boolean); +static void sh64_vtable_entry (int); +static void sh64_vtable_inherit (int); +static char *strip_datalabels (void); +static int shmedia_build_Mytes (shmedia_opcode_info *, + shmedia_operands_info *); +static shmedia_opcode_info *shmedia_find_cooked_opcode (char **); +static unsigned long shmedia_mask_number (unsigned long, + bfd_reloc_code_real_type); #include "tc-sh.c" void -shmedia_md_end () +shmedia_md_end (void) { symbolS *symp; @@ -295,7 +275,7 @@ shmedia_md_end () + offset" value. */ static void -shmedia_frob_file_before_adjust () +shmedia_frob_file_before_adjust (void) { symbolS *symp; for (symp = symbol_rootP; symp != NULL; symp = symp->sy_next) @@ -334,11 +314,7 @@ shmedia_frob_file_before_adjust () static in read.c. That solution was discarded a too kludgy. */ void -sh64_do_align (n, fill, len, max) - int n; - const char *fill; - int len; - int max; +sh64_do_align (int n, const char *fill, int len, int max) { /* Update region, or put a data region in front. */ sh64_update_contents_mark (TRUE); @@ -371,7 +347,7 @@ sh64_do_align (n, fill, len, max) assembly). */ int -sh64_max_mem_for_rs_align_code () +sh64_max_mem_for_rs_align_code (void) { segment_info_type *seginfo; fragS *mode_start_frag; @@ -403,8 +379,7 @@ sh64_max_mem_for_rs_align_code () /* Put in SHmedia NOP:s if the alignment was created when in SHmedia mode. */ void -sh64_handle_align (frag) - fragS * frag; +sh64_handle_align (fragS * frag) { int bytes = frag->fr_next->fr_address - frag->fr_address - frag->fr_fix; char * p = frag->fr_literal + frag->fr_fix; @@ -440,8 +415,7 @@ sh64_handle_align (frag) /* Set SEC_SH64_ISA32 for SHmedia sections. */ void -shmedia_frob_section_type (sec) - asection *sec; +shmedia_frob_section_type (asection *sec) { segment_info_type *seginfo; seginfo = seg_info (sec); @@ -486,7 +460,7 @@ shmedia_frob_section_type (sec) seems too much for little benefit. */ void -sh64_adjust_symtab () +sh64_adjust_symtab (void) { symbolS *symp; @@ -534,9 +508,7 @@ sh64_adjust_symtab () /* Fill-in an allocated arelent. */ static int -shmedia_init_reloc (rel, fixP) - arelent *rel; - fixS *fixP; +shmedia_init_reloc (arelent *rel, fixS *fixP) { /* Adjust parts of *relp according to *fixp, and tell that it has been done, so default initializations will not happen. */ @@ -608,9 +580,7 @@ shmedia_init_reloc (rel, fixP) /* Hook called from md_apply_fix3 in tc-sh.c. */ static void -shmedia_md_apply_fix3 (fixP, valp) - fixS *fixP; - valueT *valp; +shmedia_md_apply_fix3 (fixS *fixP, valueT *valp) { offsetT val = *valp; char *buf = fixP->fx_where + fixP->fx_frag->fr_literal; @@ -823,11 +793,9 @@ shmedia_md_apply_fix3 (fixP, valp) /* Hook called from md_convert_frag in tc-sh.c. */ static void -shmedia_md_convert_frag (output_bfd, seg, fragP, final) - bfd *output_bfd ATTRIBUTE_UNUSED; - segT seg ATTRIBUTE_UNUSED; - fragS *fragP; - bfd_boolean final; +shmedia_md_convert_frag (bfd *output_bfd ATTRIBUTE_UNUSED, + segT seg ATTRIBUTE_UNUSED, fragS *fragP, + bfd_boolean final) { /* Pointer to first byte in variable-sized part of the frag. */ char *var_partp; @@ -1447,9 +1415,7 @@ shmedia_md_convert_frag (output_bfd, seg, fragP, final) reloc. */ static unsigned long -shmedia_mask_number (number, how) - unsigned long number; - bfd_reloc_code_real_type how; +shmedia_mask_number (unsigned long number, bfd_reloc_code_real_type how) { switch (how) { @@ -1498,10 +1464,8 @@ shmedia_mask_number (number, how) non-NULL, as_bad otherwise. */ static void -shmedia_check_limits (valp, reloc, fixp) - offsetT *valp; - bfd_reloc_code_real_type reloc; - fixS *fixp; +shmedia_check_limits (offsetT *valp, bfd_reloc_code_real_type reloc, + fixS *fixp) { offsetT val = *valp; @@ -1611,11 +1575,8 @@ shmedia_check_limits (valp, reloc, fixp) "or" into the opcode (non-zero if the value was a constant number). */ static unsigned long -shmedia_immediate_op (where, op, pcrel, how) - char *where; - shmedia_operand_info *op; - int pcrel; - bfd_reloc_code_real_type how; +shmedia_immediate_op (char *where, shmedia_operand_info *op, int pcrel, + bfd_reloc_code_real_type how) { unsigned long retval = 0; @@ -1646,11 +1607,7 @@ shmedia_immediate_op (where, op, pcrel, how) chars consumed. */ static int -shmedia_parse_reg (src, mode, reg, argtype) - char *src; - int *mode; - int *reg; - shmedia_arg_type argtype; +shmedia_parse_reg (char *src, int *mode, int *reg, shmedia_arg_type argtype) { int l0 = TOLOWER (src[0]); int l1 = l0 ? TOLOWER (src[1]) : 0; @@ -1933,9 +1890,8 @@ shmedia_parse_reg (src, mode, reg, argtype) /* Called from md_estimate_size_before_relax in tc-sh.c */ static int -shmedia_md_estimate_size_before_relax (fragP, segment_type) - fragS *fragP; - segT segment_type ATTRIBUTE_UNUSED; +shmedia_md_estimate_size_before_relax (fragS *fragP, + segT segment_type ATTRIBUTE_UNUSED) { int old_fr_fix; expressionS *exp; @@ -2240,9 +2196,7 @@ shmedia_md_estimate_size_before_relax (fragP, segment_type) datatypes adjusted. */ static char * -shmedia_parse_exp (s, op) - char *s; - shmedia_operand_info *op; +shmedia_parse_exp (char *s, shmedia_operand_info *op) { char *save; char *new; @@ -2260,10 +2214,8 @@ shmedia_parse_exp (s, op) /* Parse an operand. Store pointer to next character in *PTR. */ static void -shmedia_get_operand (ptr, op, argtype) - char **ptr; - shmedia_operand_info *op; - shmedia_arg_type argtype; +shmedia_get_operand (char **ptr, shmedia_operand_info *op, + shmedia_arg_type argtype) { char *src = *ptr; int mode = -1; @@ -2291,10 +2243,8 @@ shmedia_get_operand (ptr, op, argtype) how much text was consumed. */ static char * -shmedia_get_operands (info, args, operands) - shmedia_opcode_info *info; - char *args; - shmedia_operands_info *operands; +shmedia_get_operands (shmedia_opcode_info *info, char *args, + shmedia_operands_info *operands) { char *ptr = args; int i; @@ -2484,8 +2434,7 @@ shmedia_get_operands (info, args, operands) *STR_P to the first character after the last one read. */ static shmedia_opcode_info * -shmedia_find_cooked_opcode (str_p) - char **str_p; +shmedia_find_cooked_opcode (char **str_p) { char *str = *str_p; char *op_start; @@ -2530,9 +2479,8 @@ shmedia_find_cooked_opcode (str_p) /* Build up an instruction, including allocating the frag. */ static int -shmedia_build_Mytes (opcode, operands) - shmedia_opcode_info *opcode; - shmedia_operands_info *operands; +shmedia_build_Mytes (shmedia_opcode_info *opcode, + shmedia_operands_info *operands) { unsigned long insn = opcode->opcode_base; int i, j; @@ -2821,8 +2769,7 @@ shmedia_build_Mytes (opcode, operands) /* Assemble a SHmedia instruction. */ static void -shmedia_md_assemble (str) - char *str; +shmedia_md_assemble (char *str) { char *op_end; shmedia_opcode_info *opcode; @@ -2869,7 +2816,7 @@ shmedia_md_assemble (str) /* Hook called from md_begin in tc-sh.c. */ void -shmedia_md_begin () +shmedia_md_begin (void) { const shmedia_opcode_info *shmedia_opcode; shmedia_opcode_hash_control = hash_new (); @@ -2886,8 +2833,7 @@ shmedia_md_begin () options was specified. */ static void -s_sh64_mode (ignore) - int ignore ATTRIBUTE_UNUSED; +s_sh64_mode (int ignore ATTRIBUTE_UNUSED) { char *name = input_line_pointer, ch; @@ -2929,8 +2875,7 @@ s_sh64_mode (ignore) --abi options was specified. */ static void -s_sh64_abi (ignore) - int ignore ATTRIBUTE_UNUSED; +s_sh64_abi (int ignore ATTRIBUTE_UNUSED) { char *name = input_line_pointer, ch; @@ -2968,7 +2913,7 @@ s_sh64_abi (ignore) when options were being parsed. */ const char * -sh64_target_format () +sh64_target_format (void) { #ifdef TE_NetBSD /* For NetBSD, if the ISA is unspecified, always use SHmedia. */ @@ -3052,7 +2997,7 @@ sh64_target_format () /* The worker function of TARGET_MACH. */ int -sh64_target_mach () +sh64_target_mach (void) { /* We need to explicitly set bfd_mach_sh5 instead of the default 0. But we only do this for the 64-bit ABI: if we do it for the 32-bit ABI, @@ -3077,9 +3022,7 @@ sh64_target_mach () md_pcrel_from (in tc-sh.c). */ valueT -shmedia_md_pcrel_from_section (fixP, sec) - struct fix *fixP; - segT sec ATTRIBUTE_UNUSED; +shmedia_md_pcrel_from_section (struct fix *fixP, segT sec ATTRIBUTE_UNUSED) { know (fixP->fx_frag->fr_type == rs_machine_dependent); @@ -3128,10 +3071,8 @@ shmedia_md_pcrel_from_section (fixP, sec) and ENDSYM marking end, and CR_TYPE specifying the type. */ static void -sh64_emit_crange (startsym, endsym, cr_type) - symbolS *startsym; - symbolS *endsym; - enum sh64_elf_cr_type cr_type; +sh64_emit_crange (symbolS *startsym, symbolS *endsym, + enum sh64_elf_cr_type cr_type) { expressionS exp; segT current_seg = now_seg; @@ -3176,8 +3117,7 @@ sh64_emit_crange (startsym, endsym, cr_type) function isn't called. */ static void -sh64_set_contents_type (new_contents_type) - enum sh64_elf_cr_type new_contents_type; +sh64_set_contents_type (enum sh64_elf_cr_type new_contents_type) { segment_info_type *seginfo; @@ -3275,8 +3215,7 @@ _("SHmedia code not allowed in same section as constants and SHcompact code")); doesn't matter whether or not an assembled opcode is nearby. */ void -sh64_frob_label (symp) - symbolS *symp; +sh64_frob_label (symbolS *symp) { segT seg = S_GET_SEGMENT (symp); static const symbolS *null = NULL; @@ -3294,11 +3233,8 @@ sh64_frob_label (symp) symbol hook. */ int -sh64_consume_datalabel (name, exp, cp, operandf) - const char *name; - expressionS *exp; - char *cp; - segT (*operandf) PARAMS ((expressionS *)); +sh64_consume_datalabel (const char *name, expressionS *exp, char *cp, + segT (*operandf) (expressionS *)) { static int parsing_datalabel = 0; @@ -3397,8 +3333,7 @@ sh64_consume_datalabel (name, exp, cp, operandf) then we need not output the main symbol. */ int -sh64_exclude_symbol (symp) - symbolS *symp; +sh64_exclude_symbol (symbolS *symp) { symbolS *main_symbol = *symbol_get_tc (symp); @@ -3412,8 +3347,7 @@ sh64_exclude_symbol (symp) a new region if needed. */ static void -sh64_update_contents_mark (update_type) - bfd_boolean update_type; +sh64_update_contents_mark (bfd_boolean update_type) { segment_info_type *seginfo; seginfo = seg_info (now_seg); @@ -3466,7 +3400,7 @@ sh64_update_contents_mark (update_type) just switching segments. */ void -sh64_flush_pending_output () +sh64_flush_pending_output (void) { sh64_update_contents_mark (TRUE); sh_flush_pending_output (); @@ -3475,10 +3409,8 @@ sh64_flush_pending_output () /* Flush out the last crange descriptor after all insns have been emitted. */ static void -sh64_flush_last_crange (abfd, seg, countparg) - bfd *abfd ATTRIBUTE_UNUSED; - asection *seg; - PTR countparg ATTRIBUTE_UNUSED; +sh64_flush_last_crange (bfd *abfd ATTRIBUTE_UNUSED, asection *seg, + void *countparg ATTRIBUTE_UNUSED) { segment_info_type *seginfo; @@ -3517,7 +3449,7 @@ sh64_flush_last_crange (abfd, seg, countparg) descriptors. */ static void -sh64_flag_output () +sh64_flag_output (void) { if (sh64_isa_mode != sh64_isa_unspecified && !seen_insn @@ -3533,7 +3465,7 @@ sh64_flag_output () any we find. */ static char * -strip_datalabels () +strip_datalabels (void) { char *src, *dest, *start=input_line_pointer; @@ -3553,8 +3485,7 @@ strip_datalabels () } static void -sh64_vtable_entry (ignore) - int ignore ATTRIBUTE_UNUSED; +sh64_vtable_entry (int ignore ATTRIBUTE_UNUSED) { char *eol = strip_datalabels (); @@ -3563,11 +3494,11 @@ sh64_vtable_entry (ignore) } static void -sh64_vtable_inherit (ignore) - int ignore ATTRIBUTE_UNUSED; +sh64_vtable_inherit (int ignore ATTRIBUTE_UNUSED) { char *eol = strip_datalabels (); obj_elf_vtable_inherit (0); input_line_pointer = eol; } + diff --git a/gas/config/tc-sh64.h b/gas/config/tc-sh64.h index 8280c947dd1..b82fa3920d7 100644 --- a/gas/config/tc-sh64.h +++ b/gas/config/tc-sh64.h @@ -28,11 +28,11 @@ SHcompact NOP:s. */ #undef HANDLE_ALIGN #define HANDLE_ALIGN(frag) sh64_handle_align (frag) -extern void sh64_handle_align PARAMS ((fragS *)); +extern void sh64_handle_align (fragS *); #undef MAX_MEM_FOR_RS_ALIGN_CODE #define MAX_MEM_FOR_RS_ALIGN_CODE sh64_max_mem_for_rs_align_code () -extern int sh64_max_mem_for_rs_align_code PARAMS ((void)); +extern int sh64_max_mem_for_rs_align_code (void); #undef LISTING_HEADER #define LISTING_HEADER \ @@ -41,7 +41,7 @@ extern int sh64_max_mem_for_rs_align_code PARAMS ((void)); : "SuperH SHcompact/SHmedia Little Endian GAS") /* We need to record the new frag position after an .align. */ -extern void sh64_do_align PARAMS ((int, const char *, int, int)); +extern void sh64_do_align (int, const char *, int, int); #define md_do_align(n, fill, len, max, l) \ do { sh64_do_align (n, fill, len, max); goto l; } while (0) @@ -71,10 +71,10 @@ struct sh64_segment_info_type #undef TARGET_FORMAT #define TARGET_FORMAT sh64_target_format () -extern const char *sh64_target_format PARAMS ((void)); +extern const char *sh64_target_format (void); #define TARGET_MACH sh64_target_mach () -extern int sh64_target_mach PARAMS ((void)); +extern int sh64_target_mach (void); #undef TC_FORCE_RELOCATION_LOCAL #define TC_FORCE_RELOCATION_LOCAL(FIX) \ @@ -126,8 +126,8 @@ extern int sh64_target_mach PARAMS ((void)); #undef md_parse_name #define md_parse_name(NAME, EXP, CP) \ sh64_consume_datalabel (NAME, EXP, CP, operand) -extern int sh64_consume_datalabel - PARAMS ((const char *, expressionS *, char *, segT (*) (expressionS *))); +extern int sh64_consume_datalabel (const char *, expressionS *, char *, + segT (*) (expressionS *)); /* Saying "$" is the same as saying ".". */ #define DOLLAR_DOT @@ -136,11 +136,11 @@ extern int sh64_consume_datalabel #define MD_PCREL_FROM_SECTION(FIX, SEC) \ shmedia_md_pcrel_from_section (FIX, SEC) -extern valueT shmedia_md_pcrel_from_section PARAMS ((struct fix *, segT)); +extern valueT shmedia_md_pcrel_from_section (struct fix *, segT); /* We need to mark this symbol as a BranchTarget; setting st_other for it and adding 1 to its value (temporarily). */ -extern void sh64_frob_label PARAMS ((symbolS *)); +extern void sh64_frob_label (symbolS *); #undef tc_frob_label #define tc_frob_label(sym) \ @@ -160,19 +160,19 @@ extern void sh64_frob_label PARAMS ((symbolS *)); } \ while (0) -extern int sh64_exclude_symbol PARAMS ((symbolS *)); +extern int sh64_exclude_symbol (symbolS *); -extern void sh64_adjust_symtab PARAMS ((void)); +extern void sh64_adjust_symtab (void); #define tc_adjust_symtab sh64_adjust_symtab #undef md_flush_pending_output #define md_flush_pending_output() sh64_flush_pending_output () -extern void sh64_flush_pending_output PARAMS ((void)); +extern void sh64_flush_pending_output (void); /* Note that tc-sh.c has a sh_frob_section, but it's called from tc_frob_file_before_adjust. */ #define tc_frob_section(sec) shmedia_frob_section_type (sec) -extern void shmedia_frob_section_type PARAMS ((asection *)); +extern void shmedia_frob_section_type (asection *); /* We need to emit fixups relative to the frag in which the instruction resides. Safest way without calculating max fragment growth or making @@ -215,7 +215,7 @@ extern enum sh64_isa_values sh64_isa_mode; extern fragS *sh64_last_insn_frag; #define md_end() shmedia_md_end () -void shmedia_md_end PARAMS ((void)); +void shmedia_md_end (void); /* Because we make .debug_line hold the SHmedia instruction address | 1, we have to say we only have minimum byte-size insns. */ -- 2.30.2