diff --git a/bfd/coff-h8300.c b/bfd/coff-h8300.c index 835b6e1642..1de570fb84 100644 --- a/bfd/coff-h8300.c +++ b/bfd/coff-h8300.c @@ -1,5 +1,5 @@ /* BFD back-end for Hitachi H8/300 COFF binaries. - Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. + Copyright 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. Written by Steve Chamberlain, . This file is part of BFD, the Binary File Descriptor library. @@ -23,6 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "obstack.h" #include "libbfd.h" #include "bfdlink.h" +#include "genlink.h" #include "coff/h8300.h" #include "coff/internal.h" #include "libcoff.h" @@ -76,6 +77,11 @@ static reloc_howto_type howto_table[] = HOWTO (R_MOVLB1, 0, 1, 16, false, 0, complain_overflow_bitfield,special, "24/8", false, 0x0000ffff, 0x0000ffff, false), HOWTO (R_MOVLB2, 0, 1, 16, false, 0, complain_overflow_bitfield, special, "8/24", false, 0x0000ffff, 0x0000ffff, false), + /* An indirect reference to a function. This causes the function's address + to be added to the function vector in lo-mem and puts the address of + the function vector's entry in the jsr instruction. */ + HOWTO (R_MEM_INDIRECT, 0, 0, 8, false, 0, complain_overflow_bitfield, special, "8/indirect", false, 0x000000ff, 0x000000ff, false), + }; @@ -157,8 +163,11 @@ rtype2howto (internal, dst) case R_MOVLB2: internal->howto = howto_table + 13; break; + case R_MEM_INDIRECT: + internal->howto = howto_table + 14; + break; default: - fprintf (stderr, "Bad reloc\n"); + abort (); break; } } @@ -388,6 +397,7 @@ h8300_reloc16_extra_cases (abfd, link_info, link_order, reloc, data, src_ptr, break; } + case R_MEM_INDIRECT: /* Temporary */ case R_RELBYTE: { unsigned int gap = bfd_coff_reloc16_get_value (reloc, link_info, @@ -602,8 +612,8 @@ const bfd_target h8300coff_vec = { "coff-h8300", /* name */ bfd_target_coff_flavour, - true, /* data byte order is big */ - true, /* header byte order is big */ + BFD_ENDIAN_BIG, /* data byte order is big */ + BFD_ENDIAN_BIG, /* header byte order is big */ (HAS_RELOC | EXEC_P | /* object flags */ HAS_LINENO | HAS_DEBUG | diff --git a/bfd/coff-ppc.c b/bfd/coff-ppc.c index 99c3d2876e..efc37767b2 100644 --- a/bfd/coff-ppc.c +++ b/bfd/coff-ppc.c @@ -1,5 +1,5 @@ /* BFD back-end for PowerPC Microsoft Portable Executable files. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. Original version pieced together by Kim Knuttila (krk@cygnus.com) diff --git a/bfd/coffswap.h b/bfd/coffswap.h index 10586c0c6d..b7ec96108b 100644 --- a/bfd/coffswap.h +++ b/bfd/coffswap.h @@ -1,5 +1,5 @@ /* Generic COFF swapping routines, for BFD. - Copyright 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc. + Copyright 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. diff --git a/bfd/libaout.h b/bfd/libaout.h index 1ec1dc97fa..6731d6d27c 100644 --- a/bfd/libaout.h +++ b/bfd/libaout.h @@ -1,5 +1,5 @@ /* BFD back-end data structures for a.out (and similar) files. - Copyright 1990, 1991, 1992 Free Software Foundation, Inc. + Copyright 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -343,8 +343,10 @@ struct aoutdata { /* The external symbol information. */ struct external_nlist *external_syms; bfd_size_type external_sym_count; + bfd_window sym_window; char *external_strings; bfd_size_type external_string_size; + bfd_window string_window; struct aout_link_hash_entry **sym_hashes; /* A pointer for shared library information. */ @@ -374,8 +376,10 @@ struct aout_data_struct { #define obj_aout_subformat(bfd) (adata(bfd).subformat) #define obj_aout_external_syms(bfd) (adata(bfd).external_syms) #define obj_aout_external_sym_count(bfd) (adata(bfd).external_sym_count) +#define obj_aout_sym_window(bfd) (adata(bfd).sym_window) #define obj_aout_external_strings(bfd) (adata(bfd).external_strings) #define obj_aout_external_string_size(bfd) (adata(bfd).external_string_size) +#define obj_aout_string_window(bfd) (adata(bfd).string_window) #define obj_aout_sym_hashes(bfd) (adata(bfd).sym_hashes) #define obj_aout_dynamic_info(bfd) (adata(bfd).dynamic_info) @@ -543,11 +547,6 @@ NAME(aout,final_link) PARAMS ((bfd *, struct bfd_link_info *, boolean NAME(aout,bfd_free_cached_info) PARAMS ((bfd *)); -/* Prototypes for functions in stab-syms.c. */ - -CONST char * -aout_stab_name PARAMS ((int code)); - /* A.out uses the generic versions of these routines... */ #define aout_32_get_section_contents _bfd_generic_get_section_contents diff --git a/bfd/libhppa.h b/bfd/libhppa.h index fab727ed09..191e7b8263 100644 --- a/bfd/libhppa.h +++ b/bfd/libhppa.h @@ -1,5 +1,5 @@ /* HP PA-RISC SOM object file format: definitions internal to BFD. - Copyright (C) 1990, 91, 92, 93, 94 Free Software Foundation, Inc. + Copyright (C) 1990, 91, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. Contributed by the Center for Software Science at the University of Utah (pa-gdb-bugs@cs.utah.edu). diff --git a/bfd/peicode.h b/bfd/peicode.h index 3b8091e623..73637666d5 100644 --- a/bfd/peicode.h +++ b/bfd/peicode.h @@ -1,5 +1,5 @@ /* Support for the generic parts of most COFF variants, for BFD. - Copyright 1995 Free Software Foundation, Inc. + Copyright 1995, 1996 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library.