aboutsummaryrefslogtreecommitdiff
path: root/bfd/coffcode.h
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-07-11 23:23:20 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-07-11 23:23:20 +0000
commit4d09e8acfb68cfbdef55b4569cdc8cb0eeb48ab9 (patch)
tree429bf3aa89b31181827f57c1923568a747ed4fca /bfd/coffcode.h
parent6f4d6543da2b56e114ed45559a424b60f17559fc (diff)
downloadgdb-4d09e8acfb68cfbdef55b4569cdc8cb0eeb48ab9.zip
gdb-4d09e8acfb68cfbdef55b4569cdc8cb0eeb48ab9.tar.gz
gdb-4d09e8acfb68cfbdef55b4569cdc8cb0eeb48ab9.tar.bz2
* elfcode.h: Use memset not bzero.
* trad-core.c: Don't include <sys/file.h>. * i386linux.h: Include <sys/file.h>. * coff-m68k-un.c: new file to handle names with underscores on svr3 machines. * coff-m68k.c (m68k_rtype2howto): added #ifdef ONLY_DECLARE_RELOCS to not duplicate the function in the executable. (TARGET_SYM, TARGET_NAME, NAMES_HAVE_UNDERSCORE): new macros needed by coff-m68k-un.c. * coffcode.h (MC68KBCSMAGIC): case added. * targets.c: Add m68kcoffun_vec. * configure.host: added support for Bull dpx/2. * config/dpx2.mh, hosts/dpx2.h: new files. * Makefile.in: added target coff-m68k-un.
Diffstat (limited to 'bfd/coffcode.h')
-rw-r--r--bfd/coffcode.h36
1 files changed, 27 insertions, 9 deletions
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index c554276..721a7e9 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -451,7 +451,7 @@ DEFUN(styp_to_sec_flags, (abfd, hdr),
return(sec_flags);
}
-#define get_index(symbol) ((int) (symbol)->udata)
+#define get_index(symbol) ((long) (symbol)->udata)
/*
INTERNAL_DEFINITION
@@ -806,9 +806,9 @@ DEFUN(coff_mkobject_hook,(abfd, filehdr, aouthdr),
at linking together COFF files for different architectures. */
static boolean
-DEFUN (coff_set_arch_mach_hook, (abfd, filehdr),
- bfd *abfd AND
- PTR filehdr)
+coff_set_arch_mach_hook(abfd, filehdr)
+ bfd *abfd;
+ PTR filehdr;
{
long machine;
enum bfd_architecture arch;
@@ -837,6 +837,7 @@ DEFUN (coff_set_arch_mach_hook, (abfd, filehdr),
#ifdef MC68MAGIC
case MC68MAGIC:
case M68MAGIC:
+ case MC68KBCSMAGIC:
arch = bfd_arch_m68k;
machine = 68020;
break;
@@ -915,7 +916,16 @@ DEFUN (coff_set_arch_mach_hook, (abfd, filehdr),
#ifdef H8300MAGIC
case H8300MAGIC:
arch = bfd_arch_h8300;
- machine = 0;
+ machine = bfd_mach_h8300;
+ /* !! FIXME this probably isn't the right place for this */
+ abfd->flags |= BFD_IS_RELAXABLE;
+ break;
+#endif
+
+#ifdef H8300HMAGIC
+ case H8300HMAGIC:
+ arch = bfd_arch_h8300;
+ machine = bfd_mach_h8300h;
/* !! FIXME this probably isn't the right place for this */
abfd->flags |= BFD_IS_RELAXABLE;
break;
@@ -1120,8 +1130,15 @@ DEFUN(coff_set_flags,(abfd, magicp, flagsp),
#endif
#ifdef H8300MAGIC
case bfd_arch_h8300:
- *magicp = H8300MAGIC;
- return true;
+ switch (bfd_get_mach (abfd))
+ {
+ case bfd_mach_h8300:
+ *magicp = H8300MAGIC;
+ return true;
+ case bfd_mach_h8300h:
+ *magicp = H8300HMAGIC;
+ return true;
+ }
break;
#endif
@@ -1857,7 +1874,7 @@ DEFUN(coff_slurp_symbol_table,(abfd),
/*
We use the native name field to point to the cached field
*/
- src->u.syment._n._n_n._n_zeroes = (int) dst;
+ src->u.syment._n._n_n._n_zeroes = (long) dst;
dst->symbol.section = coff_section_from_bfd_index(abfd,
src->u.syment.n_scnum);
dst->symbol.flags = 0;
@@ -2225,7 +2242,7 @@ bfd *abfd;
#ifndef coff_reloc16_extra_cases
#define coff_reloc16_extra_cases dummy_reloc16_extra_cases
/* This works even if abort is not declared in any header file. */
-void
+static void
dummy_reloc16_extra_cases (abfd, seclet, reloc, data, src_ptr, dst_ptr)
bfd *abfd;
struct bfd_seclet *seclet;
@@ -2234,6 +2251,7 @@ dummy_reloc16_extra_cases (abfd, seclet, reloc, data, src_ptr, dst_ptr)
unsigned int *src_ptr;
unsigned int *dst_ptr;
{
+ printf("%s\n", reloc->howto->name);
abort ();
}
#endif