X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fconfig%2Ftc-xc16x.c;h=49c097051c1205454642ba49e8e9a9f067d7e11c;hb=b19ea8d28b1c06c2973738c1cda076f895ac3ad0;hp=9224f5c16f608c471e5da878e2f8f14dca58f3f7;hpb=499ac353610f24006acf82c32503d8d15d0f278c;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/config/tc-xc16x.c b/gas/config/tc-xc16x.c index 9224f5c16f..49c097051c 100644 --- a/gas/config/tc-xc16x.c +++ b/gas/config/tc-xc16x.c @@ -1,6 +1,6 @@ /* tc-xc16x.c -- Assembler for the Infineon XC16X. - Copyright 2006, 2007 Free Software Foundation, Inc. - Contributed by KPIT Cummins Infosystems + Copyright (C) 2006-2016 Free Software Foundation, Inc. + Contributed by KPIT Cummins Infosystems This file is part of GAS, the GNU Assembler. @@ -133,7 +133,7 @@ md_assemble (char *str) if (!insn.insn) { - as_bad (errmsg); + as_bad ("%s", errmsg); return; } @@ -154,47 +154,54 @@ md_cgen_lookup_reloc (const CGEN_INSN *insn ATTRIBUTE_UNUSED, switch (operand->type) { case XC16X_OPERAND_REL: + /* ??? Adjust size? */ fixP->fx_where += 1; fixP->fx_pcrel = 1; return BFD_RELOC_8_PCREL; case XC16X_OPERAND_CADDR: + fixP->fx_size = 2; fixP->fx_where += 2; return BFD_RELOC_16; case XC16X_OPERAND_UIMM7: + /* ??? Adjust size? */ fixP->fx_where += 1; fixP->fx_pcrel = 1; return BFD_RELOC_8_PCREL; case XC16X_OPERAND_UIMM16: case XC16X_OPERAND_MEMORY: + fixP->fx_size = 2; fixP->fx_where += 2; return BFD_RELOC_16; case XC16X_OPERAND_UPOF16: + fixP->fx_size = 2; fixP->fx_where += 2; return BFD_RELOC_XC16X_POF; case XC16X_OPERAND_UPAG16: + fixP->fx_size = 2; fixP->fx_where += 2; return BFD_RELOC_XC16X_PAG; case XC16X_OPERAND_USEG8: + /* ??? This is an 8 bit field, why the 16 bit reloc? */ fixP->fx_where += 1; return BFD_RELOC_XC16X_SEG; case XC16X_OPERAND_USEG16: case XC16X_OPERAND_USOF16: + fixP->fx_size = 2; fixP->fx_where += 2; return BFD_RELOC_XC16X_SOF; - default : /* avoid -Wall warning */ + default : /* Avoid -Wall warning. */ break; } - fixP->fx_where += 2; - return BFD_RELOC_XC16X_SOF; + return BFD_RELOC_NONE; } /* Write a value out to the object file, using the appropriate endianness. */ @@ -213,12 +220,12 @@ md_show_usage (FILE * stream) int md_parse_option (int c ATTRIBUTE_UNUSED, - char *arg ATTRIBUTE_UNUSED) + const char *arg ATTRIBUTE_UNUSED) { return 0; } -char * +const char * md_atof (int type, char *litP, int *sizeP) { return ieee_md_atof (type, litP, sizeP, FALSE); @@ -228,7 +235,7 @@ valueT md_section_align (segT segment, valueT size) { int align = bfd_get_section_alignment (stdoutput, segment); - return ((size + (1 << align) - 1) & (-1 << align)); + return ((size + (1 << align) - 1) & -(1 << align)); } symbolS * @@ -241,7 +248,7 @@ int md_estimate_size_before_relax (fragS *fragP ATTRIBUTE_UNUSED, segT segment_type ATTRIBUTE_UNUSED) { - printf (_("call tomd_estimate_size_before_relax \n")); + printf (_("call to md_estimate_size_before_relax \n")); abort (); } @@ -282,13 +289,13 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) || S_GET_SEGMENT (fixp->fx_addsy) == undefined_section) { as_bad_where (fixp->fx_file, fixp->fx_line, - "Difference of symbols in different sections is not supported"); + _("Difference of symbols in different sections is not supported")); return NULL; } } - rel = xmalloc (sizeof (arelent)); - rel->sym_ptr_ptr = xmalloc (sizeof (asymbol *)); + rel = XNEW (arelent); + 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 = fixp->fx_offset; @@ -298,7 +305,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) #define DEBUG 0 #if DEBUG fprintf (stderr, "%s\n", bfd_get_reloc_code_name (r_type)); - fflush(stderr); + fflush (stderr); #endif rel->howto = bfd_reloc_type_lookup (stdoutput, r_type); @@ -316,7 +323,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp) void md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) { - if(!strstr (seg->name,".debug")) + if (!strstr (seg->name,".debug")) { if (*valP < 128) *valP /= 2; @@ -327,7 +334,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) *valP = 256 - (*valP); } } - + gas_cgen_md_apply_fix (fixP, valP, seg); return; } @@ -340,5 +347,3 @@ md_convert_frag (bfd *headers ATTRIBUTE_UNUSED, printf (_("call to md_convert_frag \n")); abort (); } - -