aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorMark Alexander <marka@cygnus>1997-05-19 21:26:34 +0000
committerMark Alexander <marka@cygnus>1997-05-19 21:26:34 +0000
commit69f3f9f7c736de466923c65425ba5c99e78f206d (patch)
treea4a88684abab1271e6eb70f9a4201f8653814e22 /bfd
parent4df7aeb3c54a6c4d932e791f23d71f6ff03ee63c (diff)
downloadgdb-69f3f9f7c736de466923c65425ba5c99e78f206d.zip
gdb-69f3f9f7c736de466923c65425ba5c99e78f206d.tar.gz
gdb-69f3f9f7c736de466923c65425ba5c99e78f206d.tar.bz2
* coff-tic80.c (NAMES_HAVE_UNDERSCORE): Define (fixes problem
with unresolved external symbols in GDB).
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/coff-tic80.c26
2 files changed, 28 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d246f9e..6974232 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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
diff --git a/bfd/coff-tic80.c b/bfd/coff-tic80.c
index e4c11af..0dd1bbf 100644
--- a/bfd/coff-tic80.c
+++ b/bfd/coff-tic80.c
@@ -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;
}
}