aboutsummaryrefslogtreecommitdiff
path: root/bfd/libbfd.h
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1995-08-31 23:33:37 +0000
committerSteve Chamberlain <sac@cygnus>1995-08-31 23:33:37 +0000
commit4e98461f60a9bcfdcf5c4c42409bef64b834f8e1 (patch)
tree3490409f8abd07bed6b85d43f9360a0f2b4b1be1 /bfd/libbfd.h
parent0b4fc03b3789e0f55006222913364b7ba7bbd1b2 (diff)
downloadgdb-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.h67
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));