]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - gas/config/tc-ip2k.c
Merge commit 'upstream/2.20'
[msp430-binutils.git] / gas / config / tc-ip2k.c
index 9e322271baf9b7e25d85423d699f87dac63c1b25..3836cc9ecd3980860a11ff1aeac9b500549c820a 100644 (file)
@@ -1,5 +1,5 @@
 /* tc-ip2k.c -- Assembler for the Scenix IP2xxx.
-   Copyright (C) 2000, 2002, 2003, 2005, 2006, 2007
+   Copyright (C) 2000, 2002, 2003, 2005, 2006, 2007, 2009
    Free Software Foundation. Inc.
 
    This file is part of GAS, the GNU Assembler.
@@ -246,7 +246,7 @@ int
 md_estimate_size_before_relax (fragS * fragP ATTRIBUTE_UNUSED,
                               segT    segment ATTRIBUTE_UNUSED)
 {
-  as_fatal (_("md_estimate_size_before_relax\n"));
+  as_fatal (_("relaxation not supported\n"));
   return 1;
 } 
 
@@ -269,12 +269,9 @@ md_convert_frag (bfd   * abfd  ATTRIBUTE_UNUSED,
 /* Functions concerning relocs.  */
 
 long
-md_pcrel_from (fixS *fixP)
+md_pcrel_from (fixS *fixP ATTRIBUTE_UNUSED)
 {
-  as_fatal (_("md_pcrel_from\n"));
-
-  /* Return the address of the delay slot. */
-  return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address;
+  abort ();
 }
 
 
@@ -332,59 +329,10 @@ md_number_to_chars (char * buf, valueT val, int n)
   number_to_chars_bigendian (buf, val, n);
 }
 
-/* Turn a string in input_line_pointer into a floating point constant of type
-   type, and store the appropriate bytes in *litP.  The number of LITTLENUMS
-   emitted is stored in *sizeP .  An error message is returned, or NULL on
-   OK.  */
-
-/* Equal to MAX_PRECISION in atof-ieee.c  */
-#define MAX_LITTLENUMS 6
-
 char *
 md_atof (int type, char * litP, int *  sizeP)
 {
-  int              prec;
-  LITTLENUM_TYPE   words [MAX_LITTLENUMS];
-  LITTLENUM_TYPE  *wordP;
-  char *           t;
-
-  switch (type)
-    {
-    case 'f':
-    case 'F':
-    case 's':
-    case 'S':
-      prec = 2;
-      break;
-
-    case 'd':
-    case 'D':
-    case 'r':
-    case 'R':
-      prec = 4;
-      break;
-
-   /* FIXME: Some targets allow other format chars for bigger sizes here.  */
-
-    default:
-      * sizeP = 0;
-      return _("Bad call to md_atof()");
-    }
-
-  t = atof_ieee (input_line_pointer, type, words);
-  if (t)
-    input_line_pointer = t;
-  * sizeP = prec * sizeof (LITTLENUM_TYPE);
-
-  /* This loops outputs the LITTLENUMs in REVERSE order; in accord with
-     the ip2k endianness.  */
-  for (wordP = words; prec--;)
-    {
-      md_number_to_chars (litP, (valueT) (*wordP++), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-     
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, TRUE);
 }
 
 
@@ -463,8 +411,8 @@ ip2k_apply_fix (fixS *fixP, valueT *valueP, segT seg)
 }
 
 int
-ip2k_elf_section_flags (int flags,
-                       int attr ATTRIBUTE_UNUSED,
+ip2k_elf_section_flags (flagword flags,
+                       bfd_vma attr ATTRIBUTE_UNUSED,
                        int type ATTRIBUTE_UNUSED)
 {
   /* This is used to detect when the section changes to an executable section.