diff options
author | Steve Chamberlain <sac@cygnus> | 1995-08-31 23:33:37 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1995-08-31 23:33:37 +0000 |
commit | 4e98461f60a9bcfdcf5c4c42409bef64b834f8e1 (patch) | |
tree | 3490409f8abd07bed6b85d43f9360a0f2b4b1be1 /bfd/libbfd.h | |
parent | 0b4fc03b3789e0f55006222913364b7ba7bbd1b2 (diff) | |
download | gdb-4e98461f60a9bcfdcf5c4c42409bef64b834f8e1.zip gdb-4e98461f60a9bcfdcf5c4c42409bef64b834f8e1.tar.gz gdb-4e98461f60a9bcfdcf5c4c42409bef64b834f8e1.tar.bz2 |
Thu Aug 31 16:00:53 1995 steve chamberlain <sac@slash.cygnus.com>
* Makefile.in: Update dependencies.
* aout-target.h (MY_bfd_print_private_bfd_data): New.
* bfd-in.h (PE STUFF): Deleted.
* bfd.c (tdata->pe_obj_data): New.
(bfd_print_private_bfd_data): New.
* coff-i386.c, coff-arm.c (coff_*-rtype_to_howto): Get image base from
new place.
* libcoff.h, libbfd.h, bfd-in2.h: Rebuilt.
* coffcode.h (pe_value): Delete
(coff_mkobject, coff_mkobject_hook): Conditionally build.
(coff_compute_section_file_positions): Look in new place.
(add_data_entry, fill_pe_header_info): Deleted.
(coff_write_object_contents): Remove PE stuff.
(coff_bfd_print_private_bfd_data): New.
* coffswap.h: Remove PE stuff.
* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): New.
* libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): New.
* libcoff-in.h (pe_data_type): New.
* libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): New.
* targets.c (_bfd_print_private_bfd_data): New.
* peicode.h: New file.
Diffstat (limited to 'bfd/libbfd.h')
-rw-r--r-- | bfd/libbfd.h | 67 |
1 files changed, 63 insertions, 4 deletions
diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 9d1cc25..d0c281d 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1,6 +1,6 @@ /* libbfd.h -- Declarations used by bfd library *implementation*. (This include file is not for users of the library.) - Copyright 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. + Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. Written by Cygnus Support. ** NOTE: libbfd.h is a GENERATED file. Don't change it; instead, @@ -21,7 +21,7 @@ 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. */ +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Align an address upward to a boundary, expressed as a number of bytes. E.g. align to an 8-byte boundary with argument of 8. */ @@ -72,6 +72,8 @@ struct areltdata { char *bfd_zmalloc PARAMS ((bfd_size_type size)); +extern bfd_error_handler_type _bfd_error_handler; + /* These routines allocate and free things on the BFD's obstack. Note that realloc can never occur in place. */ @@ -148,8 +150,16 @@ extern boolean _bfd_generic_get_section_contents #define _bfd_generic_bfd_copy_private_bfd_data \ ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) +#define _bfd_generic_bfd_merge_private_bfd_data \ + ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) +#define _bfd_generic_bfd_set_private_flags \ + ((boolean (*) PARAMS ((bfd *, flagword))) bfd_true) #define _bfd_generic_bfd_copy_private_section_data \ ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true) +#define _bfd_generic_bfd_copy_private_symbol_data \ + ((boolean (*) PARAMS ((bfd *, asymbol *, bfd *, asymbol *))) bfd_true) +#define _bfd_generic_bfd_print_private_bfd_data \ + ((boolean (*) PARAMS ((bfd *, void *))) bfd_true) /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */ @@ -233,6 +243,11 @@ extern boolean _bfd_archive_coff_construct_extended_name_table bfd_false) #define _bfd_nosymbols_bfd_make_debug_symbol \ ((asymbol *(*) PARAMS ((bfd *, PTR, unsigned long))) bfd_nullvoidptr) +#define _bfd_nosymbols_read_minisymbols \ + ((long (*) PARAMS ((bfd *, boolean, PTR *, unsigned int *))) _bfd_n1) +#define _bfd_nosymbols_minisymbol_to_symbol \ + ((asymbol *(*) PARAMS ((bfd *, boolean, const PTR, asymbol *))) \ + bfd_nullvoidptr) /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */ @@ -281,6 +296,8 @@ extern boolean _bfd_generic_set_section_contents ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false) #define _bfd_nolink_bfd_final_link \ ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false) +#define _bfd_nolink_bfd_link_split_section \ + ((boolean (*) PARAMS ((bfd *, struct sec *))) bfd_false) /* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC @@ -297,6 +314,12 @@ extern boolean _bfd_generic_set_section_contents label. */ extern boolean bfd_generic_is_local_label PARAMS ((bfd *, asymbol *)); +/* Generic minisymbol routines. */ +extern long _bfd_generic_read_minisymbols + PARAMS ((bfd *, boolean, PTR *, unsigned int *)); +extern asymbol *_bfd_generic_minisymbol_to_symbol + PARAMS ((bfd *, boolean, const PTR, asymbol *)); + /* A routine to create entries for a bfd_link_hash_table. */ extern struct bfd_hash_entry *_bfd_link_hash_newfunc PARAMS ((struct bfd_hash_entry *entry, @@ -342,6 +365,9 @@ extern boolean _bfd_generic_link_add_one_symbol extern boolean _bfd_generic_final_link PARAMS ((bfd *, struct bfd_link_info *)); +extern boolean _bfd_generic_link_split_section + PARAMS ((bfd *, struct sec *)); + /* Generic reloc_link_order processing routine. */ extern boolean _bfd_generic_reloc_link_order PARAMS ((bfd *, struct bfd_link_info *, asection *, @@ -420,6 +446,19 @@ extern bfd *bfd_last_cache; extern const bfd_target * const bfd_target_vector[]; extern const bfd_target * const bfd_default_vector[]; +/* A function shared by the ECOFF and MIPS ELF backends, which have no + other common header files. */ + +#if defined(__STDC__) || defined(ALMOST_STDC) +struct ecoff_find_line; +#endif + +extern boolean +_bfd_ecoff_locate_line + PARAMS ((bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, + const struct ecoff_debug_swap * const, struct ecoff_find_line *, + const char **, const char **, unsigned int *)); + /* And more follows */ void @@ -466,9 +505,25 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_16_PCREL", "BFD_RELOC_12_PCREL", "BFD_RELOC_8_PCREL", + "BFD_RELOC_32_GOT_PCREL", + "BFD_RELOC_16_GOT_PCREL", + "BFD_RELOC_8_GOT_PCREL", + "BFD_RELOC_32_GOTOFF", + "BFD_RELOC_16_GOTOFF", + "BFD_RELOC_8_GOTOFF", + "BFD_RELOC_32_PLT_PCREL", + "BFD_RELOC_16_PLT_PCREL", + "BFD_RELOC_8_PLT_PCREL", + "BFD_RELOC_32_PLTOFF", + "BFD_RELOC_16_PLTOFF", + "BFD_RELOC_8_PLTOFF", + "BFD_RELOC_68K_GLOB_DAT", + "BFD_RELOC_68K_JMP_SLOT", + "BFD_RELOC_68K_RELATIVE", "BFD_RELOC_32_BASEREL", "BFD_RELOC_16_BASEREL", "BFD_RELOC_8_BASEREL", + "BFD_RELOC_RVA", "BFD_RELOC_8_FFnn", "BFD_RELOC_32_PCREL_S2", "BFD_RELOC_16_PCREL_S2", @@ -553,15 +608,19 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ARM_SWI", "BFD_RELOC_ARM_MULTI", "BFD_RELOC_ARM_CP_OFF_IMM", + "BFD_RELOC_ARM_ADR_IMM", + "BFD_RELOC_ARM_LDR_IMM", + "BFD_RELOC_ARM_LITERAL", + "BFD_RELOC_ARM_IN_POOL", /* start-sanitize-arc */ "BFD_RELOC_ARC_B22_PCREL", + "BFD_RELOC_ARC_B26", /* end-sanitize-arc */ - "@@overflow: BFD_RELOC_UNUSED@@", }; #endif -const struct reloc_howto_struct * +reloc_howto_type * bfd_default_reloc_type_lookup PARAMS ((bfd *abfd, bfd_reloc_code_real_type code)); |