* coff-tic80.c (NAMES_HAVE_UNDERSCORE): Define (fixes problem
authorMark Alexander <marka@cygnus>
Mon, 19 May 1997 21:26:34 +0000 (21:26 +0000)
committerMark Alexander <marka@cygnus>
Mon, 19 May 1997 21:26:34 +0000 (21:26 +0000)
with unresolved external symbols in GDB).

bfd/ChangeLog
bfd/coff-tic80.c

index d246f9ef2bfa92ba6f3e4408941d2b21c217bf4d..6974232093a325cdd3f1c44fe043dc545e2228ef 100644 (file)
@@ -1,3 +1,10 @@
+start-sanitize-tic80
+Mon May 19 14:26:36 1997  Mark Alexander  <marka@cygnus.com>
+
+       * coff-tic80.c (NAMES_HAVE_UNDERSCORE): Define (fixes problem
+       with unresolved external symbols in GDB).
+
+end-sanitize-tic80
 Fri May 16 10:23:03 1997  Jeffrey A Law  (law@cygnus.com)
 
         * elf-m10300.c (elf32_mn10300_relax_section): Read in all
index e4c11afec28c5f4f9163dee1c8f88506f11a1e6f..0dd1bbfc1ef8831b3e450067c3a1ebab84ecb274 100644 (file)
@@ -1,5 +1,5 @@
 /* BFD back-end for Texas Instruments TMS320C80 Multimedia Video Processor (MVP).
-   Copyright 1996 Free Software Foundation, Inc.
+   Copyright 1996, 1997 Free Software Foundation, Inc.
 
    Written by Fred Fish (fnf@cygnus.com)
 
@@ -25,11 +25,12 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "bfd.h"
 #include "sysdep.h"
 #include "libbfd.h"
-#include "obstack.h"
 #include "coff/tic80.h"
 #include "coff/internal.h"
 #include "libcoff.h"
 
+#define NAMES_HAVE_UNDERSCORE
+
 #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (2)
 
 #define coff_relocate_section _bfd_coff_generic_relocate_section
@@ -66,11 +67,25 @@ static reloc_howto_type tic80_howto_table[] =
         0xffffffff,                    /* src_mask */
         0xffffffff,                    /* dst_mask */
         true),                         /* pcrel_offset */
+
+  HOWTO (R_ABS,                                /* type */
+        0,                             /* rightshift */
+        2,                             /* size (0 = byte, 1 = short, 2 = long) */
+        32,                            /* bitsize */
+        false,                         /* pc_relative */
+        0,                             /* bitpos */
+        complain_overflow_bitfield,    /* complain_on_overflow */
+        NULL,                          /* special_function */
+        "ABS",                         /* name */
+        true,                          /* partial_inplace */
+        0xffffffff,                    /* src_mask */
+        0xffffffff,                    /* dst_mask */
+        false),                                /* pcrel_offset */
 };
 
 /* Code to turn an external r_type into a pointer to an entry in the howto_table.
-   If passed an r_type we don't recognize, just set the howto field to NULL and
-   the caller will print an appropriate error message. */
+   If passed an r_type we don't recognize the abort rather than silently failing
+   to generate an output file. */
 
 static void
 rtype2howto (cache_ptr, dst)
@@ -79,9 +94,10 @@ rtype2howto (cache_ptr, dst)
 {
   switch (dst -> r_type)
     {
-    default:           cache_ptr -> howto = NULL; break;
+    default:           abort (); break;
     case R_RELLONG:    cache_ptr -> howto = tic80_howto_table + 0; break;
     case R_MPPCR:      cache_ptr -> howto = tic80_howto_table + 1; break;
+    case R_ABS:                cache_ptr -> howto = tic80_howto_table + 2; break;
     }
 }