* 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.
This commit is contained in:
parent
6f4d6543da
commit
4d09e8acfb
10 changed files with 179 additions and 32 deletions
|
@ -1,3 +1,21 @@
|
||||||
|
Thu Jul 1 14:52:47 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
|
||||||
|
and Jim Kingdon (kingdon@cygnus.com)
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
Fri Jul 9 00:43:06 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
Fri Jul 9 00:43:06 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||||
|
|
||||||
* aoutf1.h: Add definition of MACHTYPE_OK.
|
* aoutf1.h: Add definition of MACHTYPE_OK.
|
||||||
|
|
|
@ -84,7 +84,8 @@ BFD32_BACKENDS = \
|
||||||
aout32.o sunos.o newsos3.o mipsbsd.o aout-adobe.o \
|
aout32.o sunos.o newsos3.o mipsbsd.o aout-adobe.o \
|
||||||
i386aout.o i386bsd.o i386linux.o i386lynx.o \
|
i386aout.o i386bsd.o i386linux.o i386lynx.o \
|
||||||
hp300hpux.o bout.o \
|
hp300hpux.o bout.o \
|
||||||
coff-i960.o coff-a29k.o coff-m68k.o coff-i386.o coff-m88k.o \
|
coff-i960.o coff-a29k.o coff-m68k.o coff-m68k-un.o \
|
||||||
|
coff-i386.o coff-m88k.o \
|
||||||
coff-rs6000.o coff-h8300.o coff-h8500.o coff-z8k.o coff-we32k.o \
|
coff-rs6000.o coff-h8300.o coff-h8500.o coff-z8k.o coff-we32k.o \
|
||||||
coff-mips.o coff-msym.o coff-alpha.o coff-sh.o \
|
coff-mips.o coff-msym.o coff-alpha.o coff-sh.o \
|
||||||
hppa.o oasys.o ieee.o srec.o \
|
hppa.o oasys.o ieee.o srec.o \
|
||||||
|
@ -130,7 +131,8 @@ FLAGS_TO_PASS = \
|
||||||
# C source files that correspond to .o's.
|
# C source files that correspond to .o's.
|
||||||
CFILES = libbfd.c opncls.c bfd.c archive.c targets.c cache.c \
|
CFILES = libbfd.c opncls.c bfd.c archive.c targets.c cache.c \
|
||||||
archures.c coff-i386.c aout64.c aout32.c sunos.c demo64.c \
|
archures.c coff-i386.c aout64.c aout32.c sunos.c demo64.c \
|
||||||
coff-i960.c srec.c tekhex.c oasys.c ieee.c coff-m68k.c \
|
coff-i960.c srec.c tekhex.c oasys.c ieee.c \
|
||||||
|
coff-m68k.c coff-m68k-un.c \
|
||||||
coff-a29k.c coff-rs6000.c coff-msym.c coffgen.c format.c \
|
coff-a29k.c coff-rs6000.c coff-msym.c coffgen.c format.c \
|
||||||
section.c core.c syms.c stab-syms.c reloc.c init.c ctor.c \
|
section.c core.c syms.c stab-syms.c reloc.c init.c ctor.c \
|
||||||
seclet.c coff-m88k.c coff-mips.c coff-sh.c trad-core.c newsos3.c \
|
seclet.c coff-m88k.c coff-mips.c coff-sh.c trad-core.c newsos3.c \
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
/* BFD back-end for Motorola 68000 COFF binaries having underscore with name.
|
||||||
|
Copyright 1990, 1991, 1992 Free Software Foundation, Inc.
|
||||||
|
Written by Cygnus Support.
|
||||||
|
|
||||||
|
This file is part of BFD, the Binary File Descriptor library.
|
||||||
|
|
||||||
|
This program 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 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
|
|
||||||
|
#define TARGET_SYM m68kcoffun_vec
|
||||||
|
#define TARGET_NAME "coff-m68k-un"
|
||||||
|
|
||||||
|
#define NAMES_HAVE_UNDERSCORE
|
||||||
|
|
||||||
|
/* define this to not have multiple copy of m68k_rtype2howto
|
||||||
|
in the executable file */
|
||||||
|
#define ONLY_DECLARE_RELOCS
|
||||||
|
|
||||||
|
/* This magic number indicates that the names have underscores.
|
||||||
|
Other 68k magic numbers indicate that the names do not have
|
||||||
|
underscores. */
|
||||||
|
#define BADMAG(x) ((x).f_magic != MC68KBCSMAGIC)
|
||||||
|
|
||||||
|
#include "coff-m68k.c"
|
|
@ -1,5 +1,5 @@
|
||||||
/* Motorola 68000 COFF back-end for BFD.
|
/* BFD back-end for Motorola 68000 COFF binaries.
|
||||||
Copyright (C) 1990-1991 Free Software Foundation, Inc.
|
Copyright 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
|
||||||
Written by Cygnus Support.
|
Written by Cygnus Support.
|
||||||
|
|
||||||
This file is part of BFD, the Binary File Descriptor library.
|
This file is part of BFD, the Binary File Descriptor library.
|
||||||
|
@ -26,7 +26,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
#include "coff/internal.h"
|
#include "coff/internal.h"
|
||||||
#include "libcoff.h"
|
#include "libcoff.h"
|
||||||
|
|
||||||
reloc_howto_type m68kcoff_howto_table[] =
|
#ifdef ONLY_DECLARE_RELOCS
|
||||||
|
extern reloc_howto_type m68kcoff_howto_table[];
|
||||||
|
#else
|
||||||
|
reloc_howto_type m68kcoff_howto_table[] =
|
||||||
{
|
{
|
||||||
HOWTO(R_RELBYTE, 0, 0, 8, false, 0, true, true,0,"8", true, 0x000000ff,0x000000ff, false),
|
HOWTO(R_RELBYTE, 0, 0, 8, false, 0, true, true,0,"8", true, 0x000000ff,0x000000ff, false),
|
||||||
HOWTO(R_RELWORD, 0, 1, 16, false, 0, true, true,0,"16", true, 0x0000ffff,0x0000ffff, false),
|
HOWTO(R_RELWORD, 0, 1, 16, false, 0, true, true,0,"16", true, 0x0000ffff,0x0000ffff, false),
|
||||||
|
@ -36,14 +39,19 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
HOWTO(R_PCRLONG, 0, 2, 32, true, 0, false, true,0,"DISP32", true, 0xffffffff,0xffffffff, false),
|
HOWTO(R_PCRLONG, 0, 2, 32, true, 0, false, true,0,"DISP32", true, 0xffffffff,0xffffffff, false),
|
||||||
HOWTO(R_RELLONG_NEG, 0, -2, 32, false, 0, true, true,0,"-32", true, 0xffffffff,0xffffffff, false),
|
HOWTO(R_RELLONG_NEG, 0, -2, 32, false, 0, true, true,0,"-32", true, 0xffffffff,0xffffffff, false),
|
||||||
};
|
};
|
||||||
|
#endif /* not ONLY_DECLARE_RELOCS */
|
||||||
|
|
||||||
|
#ifndef BADMAG
|
||||||
|
#define BADMAG(x) M68KBADMAG(x)
|
||||||
|
#endif
|
||||||
|
#define M68 1 /* Customize coffcode.h */
|
||||||
|
|
||||||
/* Turn a howto into a reloc number */
|
/* Turn a howto into a reloc number */
|
||||||
|
|
||||||
|
#ifdef ONLY_DECLARE_RELOCS
|
||||||
#define BADMAG(x) M68KBADMAG(x)
|
extern void m68k_rtype2howto PARAMS ((arelent *internal, int relocentry));
|
||||||
#define M68 1 /* Customize coffcode.h */
|
extern int m68k_howto2rtype PARAMS ((struct reloc_howto_struct *));
|
||||||
|
#else
|
||||||
void
|
void
|
||||||
m68k_rtype2howto(internal, relocentry)
|
m68k_rtype2howto(internal, relocentry)
|
||||||
arelent *internal;
|
arelent *internal;
|
||||||
|
@ -61,14 +69,52 @@ m68k_rtype2howto(internal, relocentry)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define RTYPE2HOWTO(internal, relocentry) m68k_rtype2howto(internal, (relocentry)->r_type)
|
int
|
||||||
|
m68k_howto2rtype (internal)
|
||||||
|
struct reloc_howto_struct *internal;
|
||||||
|
{
|
||||||
|
if (internal->pc_relative)
|
||||||
|
{
|
||||||
|
switch (internal->bitsize)
|
||||||
|
{
|
||||||
|
case 32: return R_PCRLONG;
|
||||||
|
case 16: return R_PCRWORD;
|
||||||
|
case 8: return R_PCRBYTE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (internal->bitsize)
|
||||||
|
{
|
||||||
|
case 32: return R_RELLONG;
|
||||||
|
case 16: return R_RELWORD;
|
||||||
|
case 8: return R_RELBYTE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return R_RELLONG;
|
||||||
|
}
|
||||||
|
#endif /* not ONLY_DECLARE_RELOCS */
|
||||||
|
|
||||||
|
#define RTYPE2HOWTO(internal, relocentry) \
|
||||||
|
m68k_rtype2howto(internal, (relocentry)->r_type)
|
||||||
|
|
||||||
|
#define SELECT_RELOC(external, internal) \
|
||||||
|
external = m68k_howto2rtype(internal);
|
||||||
|
|
||||||
#include "coffcode.h"
|
#include "coffcode.h"
|
||||||
|
|
||||||
|
bfd_target
|
||||||
bfd_target m68kcoff_vec =
|
#ifdef TARGET_SYM
|
||||||
|
TARGET_SYM =
|
||||||
|
#else
|
||||||
|
m68kcoff_vec =
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
|
#ifdef TARGET_NAME
|
||||||
|
TARGET_NAME,
|
||||||
|
#else
|
||||||
"coff-m68k", /* name */
|
"coff-m68k", /* name */
|
||||||
|
#endif
|
||||||
bfd_target_coff_flavour,
|
bfd_target_coff_flavour,
|
||||||
true, /* data byte order is big */
|
true, /* data byte order is big */
|
||||||
true, /* header byte order is big */
|
true, /* header byte order is big */
|
||||||
|
@ -78,12 +124,20 @@ bfd_target m68kcoff_vec =
|
||||||
HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT),
|
HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT),
|
||||||
|
|
||||||
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
|
(SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
|
||||||
|
#ifdef NAMES_HAVE_UNDERSCORE
|
||||||
|
'_',
|
||||||
|
#else
|
||||||
0, /* leading underscore */
|
0, /* leading underscore */
|
||||||
|
#endif
|
||||||
'/', /* ar_pad_char */
|
'/', /* ar_pad_char */
|
||||||
15, /* ar_max_namelen */
|
15, /* ar_max_namelen */
|
||||||
3, /* minimum section alignment */
|
1, /* minimum section alignment */
|
||||||
_do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* data */
|
_do_getb64, _do_getb_signed_64, _do_putb64,
|
||||||
_do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* hdrs */
|
_do_getb32, _do_getb_signed_32, _do_putb32,
|
||||||
|
_do_getb16, _do_getb_signed_16, _do_putb16, /* data */
|
||||||
|
_do_getb64, _do_getb_signed_64, _do_putb64,
|
||||||
|
_do_getb32, _do_getb_signed_32, _do_putb32,
|
||||||
|
_do_getb16, _do_getb_signed_16, _do_putb16, /* hdrs */
|
||||||
|
|
||||||
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
|
||||||
bfd_generic_archive_p, _bfd_dummy_target},
|
bfd_generic_archive_p, _bfd_dummy_target},
|
||||||
|
|
|
@ -451,7 +451,7 @@ DEFUN(styp_to_sec_flags, (abfd, hdr),
|
||||||
return(sec_flags);
|
return(sec_flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define get_index(symbol) ((int) (symbol)->udata)
|
#define get_index(symbol) ((long) (symbol)->udata)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
INTERNAL_DEFINITION
|
INTERNAL_DEFINITION
|
||||||
|
@ -806,9 +806,9 @@ DEFUN(coff_mkobject_hook,(abfd, filehdr, aouthdr),
|
||||||
at linking together COFF files for different architectures. */
|
at linking together COFF files for different architectures. */
|
||||||
|
|
||||||
static boolean
|
static boolean
|
||||||
DEFUN (coff_set_arch_mach_hook, (abfd, filehdr),
|
coff_set_arch_mach_hook(abfd, filehdr)
|
||||||
bfd *abfd AND
|
bfd *abfd;
|
||||||
PTR filehdr)
|
PTR filehdr;
|
||||||
{
|
{
|
||||||
long machine;
|
long machine;
|
||||||
enum bfd_architecture arch;
|
enum bfd_architecture arch;
|
||||||
|
@ -837,6 +837,7 @@ DEFUN (coff_set_arch_mach_hook, (abfd, filehdr),
|
||||||
#ifdef MC68MAGIC
|
#ifdef MC68MAGIC
|
||||||
case MC68MAGIC:
|
case MC68MAGIC:
|
||||||
case M68MAGIC:
|
case M68MAGIC:
|
||||||
|
case MC68KBCSMAGIC:
|
||||||
arch = bfd_arch_m68k;
|
arch = bfd_arch_m68k;
|
||||||
machine = 68020;
|
machine = 68020;
|
||||||
break;
|
break;
|
||||||
|
@ -915,7 +916,16 @@ DEFUN (coff_set_arch_mach_hook, (abfd, filehdr),
|
||||||
#ifdef H8300MAGIC
|
#ifdef H8300MAGIC
|
||||||
case H8300MAGIC:
|
case H8300MAGIC:
|
||||||
arch = bfd_arch_h8300;
|
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 */
|
/* !! FIXME this probably isn't the right place for this */
|
||||||
abfd->flags |= BFD_IS_RELAXABLE;
|
abfd->flags |= BFD_IS_RELAXABLE;
|
||||||
break;
|
break;
|
||||||
|
@ -1120,8 +1130,15 @@ DEFUN(coff_set_flags,(abfd, magicp, flagsp),
|
||||||
#endif
|
#endif
|
||||||
#ifdef H8300MAGIC
|
#ifdef H8300MAGIC
|
||||||
case bfd_arch_h8300:
|
case bfd_arch_h8300:
|
||||||
*magicp = H8300MAGIC;
|
switch (bfd_get_mach (abfd))
|
||||||
return true;
|
{
|
||||||
|
case bfd_mach_h8300:
|
||||||
|
*magicp = H8300MAGIC;
|
||||||
|
return true;
|
||||||
|
case bfd_mach_h8300h:
|
||||||
|
*magicp = H8300HMAGIC;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1857,7 +1874,7 @@ DEFUN(coff_slurp_symbol_table,(abfd),
|
||||||
/*
|
/*
|
||||||
We use the native name field to point to the cached field
|
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,
|
dst->symbol.section = coff_section_from_bfd_index(abfd,
|
||||||
src->u.syment.n_scnum);
|
src->u.syment.n_scnum);
|
||||||
dst->symbol.flags = 0;
|
dst->symbol.flags = 0;
|
||||||
|
@ -2225,7 +2242,7 @@ bfd *abfd;
|
||||||
#ifndef coff_reloc16_extra_cases
|
#ifndef coff_reloc16_extra_cases
|
||||||
#define coff_reloc16_extra_cases dummy_reloc16_extra_cases
|
#define coff_reloc16_extra_cases dummy_reloc16_extra_cases
|
||||||
/* This works even if abort is not declared in any header file. */
|
/* 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)
|
dummy_reloc16_extra_cases (abfd, seclet, reloc, data, src_ptr, dst_ptr)
|
||||||
bfd *abfd;
|
bfd *abfd;
|
||||||
struct bfd_seclet *seclet;
|
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 *src_ptr;
|
||||||
unsigned int *dst_ptr;
|
unsigned int *dst_ptr;
|
||||||
{
|
{
|
||||||
|
printf("%s\n", reloc->howto->name);
|
||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -44,9 +44,11 @@ mips-dec-*) my_host=decstation ;;
|
||||||
mips-sgi-irix3*) my_host=irix3 ;;
|
mips-sgi-irix3*) my_host=irix3 ;;
|
||||||
mips-sgi-irix4*) my_host=irix4 ;;
|
mips-sgi-irix4*) my_host=irix4 ;;
|
||||||
mips-*-sysv*) my_host=riscos ;;
|
mips-*-sysv*) my_host=riscos ;;
|
||||||
|
mips-*-riscos*) my_host=riscos ;;
|
||||||
|
|
||||||
m68*-apollo*-sysv*) my_host=apollov68 ;;
|
m68*-apollo*-sysv*) my_host=apollov68 ;;
|
||||||
m68*-apollo*-bsd*) my_host=apollo68 ;;
|
m68*-apollo*-bsd*) my_host=apollo68 ;;
|
||||||
|
m68*-bull*-sysv*) my_host=dpx2 ;;
|
||||||
m68*-convergent-sysv*) my_host=miniframe ;;
|
m68*-convergent-sysv*) my_host=miniframe ;;
|
||||||
m68*-cbm-amigados) my_host=amigados ;;
|
m68*-cbm-amigados) my_host=amigados ;;
|
||||||
m68*-cbm-sysv4*) my_host=amix ;;
|
m68*-cbm-sysv4*) my_host=amix ;;
|
||||||
|
|
|
@ -2264,7 +2264,7 @@ DEFUN (elf_build_phdrs, (abfd, i_ehdrp, i_shdrp, phdr_cnt),
|
||||||
|
|
||||||
/* F. Set up the "end of program header table" sentinel. */
|
/* F. Set up the "end of program header table" sentinel. */
|
||||||
|
|
||||||
bzero ((char *) (phdr_buf + idx), sizeof (Elf_Internal_Phdr));
|
memset ((char *) (phdr_buf + idx), 0, sizeof (Elf_Internal_Phdr));
|
||||||
idx++;
|
idx++;
|
||||||
|
|
||||||
BFD_ASSERT (idx - 1 == *phdr_cnt);
|
BFD_ASSERT (idx - 1 == *phdr_cnt);
|
||||||
|
|
|
@ -34,6 +34,7 @@ dgux.h
|
||||||
delta68.h
|
delta68.h
|
||||||
delta88.h
|
delta88.h
|
||||||
dose.h
|
dose.h
|
||||||
|
dpx2.h
|
||||||
go32.h
|
go32.h
|
||||||
harris.h
|
harris.h
|
||||||
hp300bsd.h
|
hp300bsd.h
|
||||||
|
|
|
@ -372,6 +372,7 @@ extern bfd_target ieee_vec;
|
||||||
extern bfd_target oasys_vec;
|
extern bfd_target oasys_vec;
|
||||||
extern bfd_target m88kbcs_vec;
|
extern bfd_target m88kbcs_vec;
|
||||||
extern bfd_target m68kcoff_vec;
|
extern bfd_target m68kcoff_vec;
|
||||||
|
extern bfd_target m68kcoffun_vec;
|
||||||
extern bfd_target i386coff_vec;
|
extern bfd_target i386coff_vec;
|
||||||
extern bfd_target i386aout_vec;
|
extern bfd_target i386aout_vec;
|
||||||
extern bfd_target i386linux_vec;
|
extern bfd_target i386linux_vec;
|
||||||
|
@ -452,6 +453,7 @@ bfd_target *target_vector[] = {
|
||||||
&b_out_vec_little_host,
|
&b_out_vec_little_host,
|
||||||
&b_out_vec_big_host,
|
&b_out_vec_big_host,
|
||||||
&m68kcoff_vec,
|
&m68kcoff_vec,
|
||||||
|
&m68kcoffun_vec,
|
||||||
&a29kcoff_big_vec,
|
&a29kcoff_big_vec,
|
||||||
&rs6000coff_vec,
|
&rs6000coff_vec,
|
||||||
#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD)
|
#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD)
|
||||||
|
|
|
@ -38,7 +38,13 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#include <sys/user.h> /* After a.out.h */
|
#include <sys/user.h> /* After a.out.h */
|
||||||
|
#if 0
|
||||||
|
/* file.h is included by std-host.h. So we better not try to include it
|
||||||
|
twice; on some systems (dpx2) it is not protected against multiple
|
||||||
|
inclusion. I have checked that all the hosts which use this file
|
||||||
|
include sys/file.h in the hosts file. */
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
|
@ -110,7 +116,12 @@ trad_unix_core_file_p (abfd)
|
||||||
bfd_error = file_truncated;
|
bfd_error = file_truncated;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (NBPG * (UPAGES + u.u_dsize + u.u_ssize) < statbuf.st_size)
|
if (NBPG * (UPAGES + u.u_dsize + u.u_ssize)
|
||||||
|
#ifdef TRAD_CORE_EXTRA_SIZE_ALLOWED
|
||||||
|
/* Some systems write the file too big. */
|
||||||
|
+ TRAD_CORE_EXTRA_SIZE_ALLOWED
|
||||||
|
#endif
|
||||||
|
< statbuf.st_size)
|
||||||
{
|
{
|
||||||
/* The file is too big. Maybe it's not a core file
|
/* The file is too big. Maybe it's not a core file
|
||||||
or we otherwise have bad values for u_dsize and u_ssize). */
|
or we otherwise have bad values for u_dsize and u_ssize). */
|
||||||
|
@ -272,6 +283,9 @@ trad_unix_core_file_matches_executable_p (core_bfd, exec_bfd)
|
||||||
#define trad_unix_print_symbol (void (*) PARAMS \
|
#define trad_unix_print_symbol (void (*) PARAMS \
|
||||||
((bfd *, PTR, struct symbol_cache_entry *, \
|
((bfd *, PTR, struct symbol_cache_entry *, \
|
||||||
bfd_print_symbol_type))) bfd_false
|
bfd_print_symbol_type))) bfd_false
|
||||||
|
#define trad_unix_get_symbol_info (void (*) PARAMS \
|
||||||
|
((bfd *, struct symbol_cache_entry *, \
|
||||||
|
symbol_info *))) bfd_false
|
||||||
#define trad_unix_get_lineno (alent * (*) PARAMS \
|
#define trad_unix_get_lineno (alent * (*) PARAMS \
|
||||||
((bfd *, struct symbol_cache_entry *))) bfd_nullvoidptr
|
((bfd *, struct symbol_cache_entry *))) bfd_nullvoidptr
|
||||||
#define trad_unix_set_arch_mach (boolean (*) PARAMS \
|
#define trad_unix_set_arch_mach (boolean (*) PARAMS \
|
||||||
|
@ -304,6 +318,7 @@ swap_abort()
|
||||||
}
|
}
|
||||||
#define NO_GET ((bfd_vma (*) PARAMS (( bfd_byte *))) swap_abort )
|
#define NO_GET ((bfd_vma (*) PARAMS (( bfd_byte *))) swap_abort )
|
||||||
#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
|
#define NO_PUT ((void (*) PARAMS ((bfd_vma, bfd_byte *))) swap_abort )
|
||||||
|
#define NO_SIGNED_GET ((bfd_signed_vma (*) PARAMS ((bfd_byte *))) swap_abort )
|
||||||
|
|
||||||
bfd_target trad_core_vec =
|
bfd_target trad_core_vec =
|
||||||
{
|
{
|
||||||
|
@ -319,12 +334,12 @@ bfd_target trad_core_vec =
|
||||||
' ', /* ar_pad_char */
|
' ', /* ar_pad_char */
|
||||||
16, /* ar_max_namelen */
|
16, /* ar_max_namelen */
|
||||||
3, /* minimum alignment power */
|
3, /* minimum alignment power */
|
||||||
NO_GET, NO_GET, NO_PUT, /* 64 bit data */
|
NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit data */
|
||||||
NO_GET, NO_GET, NO_PUT, /* 32 bit data */
|
NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit data */
|
||||||
NO_GET, NO_GET, NO_PUT, /* 16 bit data */
|
NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit data */
|
||||||
NO_GET, NO_GET, NO_PUT, /* 64 bit hdrs */
|
NO_GET, NO_SIGNED_GET, NO_PUT, /* 64 bit hdrs */
|
||||||
NO_GET, NO_GET, NO_PUT, /* 32 bit hdrs */
|
NO_GET, NO_SIGNED_GET, NO_PUT, /* 32 bit hdrs */
|
||||||
NO_GET, NO_GET, NO_PUT, /* 16 bit hdrs */
|
NO_GET, NO_SIGNED_GET, NO_PUT, /* 16 bit hdrs */
|
||||||
|
|
||||||
{ /* bfd_check_format */
|
{ /* bfd_check_format */
|
||||||
_bfd_dummy_target, /* unknown format */
|
_bfd_dummy_target, /* unknown format */
|
||||||
|
|
Loading…
Add table
Reference in a new issue