* config/tc-ppc.h (struct _ppc_fix_extra): New.
[deliverable/binutils-gdb.git] / gas / config / tc-ns32k.c
index 0041c19d8ad0235358da1a907eb3ba25f9a7de32..66aeae87178c16d78bb907a9e5f3924131991a7a 100644 (file)
@@ -1,13 +1,13 @@
 /* ns32k.c  -- Assemble on the National Semiconductor 32k series
    Copyright 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-   2001, 2002, 2003, 2005
+   2001, 2002, 2003, 2005, 2006, 2007
    Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
    GAS is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
+   the Free Software Foundation; either version 3, or (at your option)
    any later version.
 
    GAS is distributed in the hope that it will be useful,
@@ -22,8 +22,6 @@
 
 /*#define SHOW_NUM 1*//* Uncomment for debugging.  */
 
-#include <stdio.h>
-
 #include "as.h"
 #include "opcode/ns32k.h"
 
@@ -1243,7 +1241,6 @@ parse (const char *line, int recursive_level)
   return recursive_level;
 }
 \f
-#ifdef BFD_ASSEMBLER
 /* This functionality should really be in the bfd library.  */
 
 static bfd_reloc_code_real_type
@@ -1307,7 +1304,6 @@ reloc (int size, int pcrel, int type)
   return BFD_RELOC_NONE;
 
 }
-#endif
 
 static void
 fix_new_ns32k (fragS *frag,            /* Which frag? */
@@ -1327,11 +1323,7 @@ fix_new_ns32k (fragS *frag,              /* Which frag? */
 {
   fixS *fixP = fix_new (frag, where, size, add_symbol,
                        offset, pcrel,
-#ifdef BFD_ASSEMBLER
                        bit_fixP ? NO_RELOC : reloc (size, pcrel, im_disp)
-#else
-                       NO_RELOC
-#endif
                        );
 
   fix_opcode_frag (fixP) = opcode_frag;
@@ -1359,11 +1351,7 @@ fix_new_ns32k_exp (fragS *frag,          /* Which frag? */
                   unsigned int opcode_offset)
 {
   fixS *fixP = fix_new_exp (frag, where, size, exp, pcrel,
-#ifdef BFD_ASSEMBLER
                            bit_fixP ? NO_RELOC : reloc (size, pcrel, im_disp)
-#else
-                           NO_RELOC
-#endif
                            );
 
   fix_opcode_frag (fixP) = opcode_frag;
@@ -1873,7 +1861,7 @@ convert_iif (void)
                              size = 4;
                            else
                              {
-                               as_bad (_("Displacement to large for :d"));
+                               as_bad (_("Displacement too large for :d"));
                                size = 4;
                              }
                          }
@@ -1925,9 +1913,6 @@ md_begin (void)
   freeptr_static = (char *) malloc (PRIVATE_SIZE);
 }
 
-/* Must be equal to MAX_PRECISON in atof-ieee.c.  */
-#define MAX_LITTLENUMS 6
-
 /* Turn the string pointed to by litP into a floating point constant
    of type TYPE, and emit the appropriate bytes.  The number of
    LITTLENUMS emitted is stored in *SIZEP.  An error message is
@@ -1936,38 +1921,7 @@ md_begin (void)
 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':
-      prec = 2;
-      break;
-
-    case 'd':
-      prec = 4;
-      break;
-    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);
-
-  for (wordP = words + prec; prec--;)
-    {
-      md_number_to_chars (litP, (long) (*--wordP), sizeof (LITTLENUM_TYPE));
-      litP += sizeof (LITTLENUM_TYPE);
-    }
-
-  return 0;
+  return ieee_md_atof (type, litP, sizeP, FALSE);
 }
 \f
 int
@@ -2012,7 +1966,7 @@ md_fix_pcrel_adjust (fixS *fixP)
    They all get called from here.  */
 
 void
-md_apply_fix3 (fixS *fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
+md_apply_fix (fixS *fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
 {
   long val = * (long *) valP;
   char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
@@ -2047,17 +2001,10 @@ md_apply_fix3 (fixS *fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
 \f
 /* Convert a relaxed displacement to ditto in final output.  */
 
-#ifndef BFD_ASSEMBLER
-void
-md_convert_frag (object_headers *headers,
-                segT sec,
-                fragS *fragP)
-#else
 void
 md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED,
                 segT sec ATTRIBUTE_UNUSED,
                 fragS *fragP)
-#endif
 {
   long disp;
   long ext = 0;
@@ -2137,7 +2084,6 @@ md_estimate_size_before_relax (fragS *fragP, segT segment)
 
 int md_short_jump_size = 3;
 int md_long_jump_size = 5;
-const int md_reloc_size = 8;   /* Size of relocation record.  */
 
 void
 md_create_short_jump (char *ptr,
@@ -2275,8 +2221,6 @@ md_pcrel_from (fixS *fixP)
       return res;
 }
 
-#ifdef BFD_ASSEMBLER
-
 arelent *
 tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
 {
@@ -2308,39 +2252,3 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
 
   return rel;
 }
-#else /* BFD_ASSEMBLER */
-
-#ifdef OBJ_AOUT
-void
-cons_fix_new_ns32k (char *where,
-                   struct fix *fixP,
-                   relax_addressT segment_address_in_file)
-{
-  /* In:  Length of relocation (or of address) in chars: 1, 2 or 4.
-     Out: GNU LD relocation length code: 0, 1, or 2.  */
-
-  static unsigned char nbytes_r_length[] = { 42, 0, 1, 42, 2 };
-  long r_symbolnum;
-
-  know (fixP->fx_addsy != NULL);
-
-  md_number_to_chars (where,
-       fixP->fx_frag->fr_address + fixP->fx_where - segment_address_in_file,
-                     4);
-
-  r_symbolnum = (S_IS_DEFINED (fixP->fx_addsy)
-                ? S_GET_TYPE (fixP->fx_addsy)
-                : fixP->fx_addsy->sy_number);
-
-  md_number_to_chars (where + 4,
-                     ((long) (r_symbolnum)
-                      | (long) (fixP->fx_pcrel << 24)
-                      | (long) (nbytes_r_length[fixP->fx_size] << 25)
-                      | (long) ((!S_IS_DEFINED (fixP->fx_addsy)) << 27)
-                      | (long) (fix_bsr (fixP) << 28)
-                      | (long) (fix_im_disp (fixP) << 29)),
-                     4);
-}
-
-#endif /* OBJ_AOUT */
-#endif /* BFD_ASSEMBLER */
This page took 0.025323 seconds and 4 git commands to generate.