aboutsummaryrefslogtreecommitdiff
path: root/bfd/bfd-in2.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1993-11-24 07:21:28 +0000
committerIan Lance Taylor <ian@airs.com>1993-11-24 07:21:28 +0000
commit8d12f138ea2c588054dfc99e8d7d7e228cac384a (patch)
tree3e08954055051306f630a802a067b4ea4b85bcd7 /bfd/bfd-in2.h
parent71efdf833f230dfdda691157f65bd9de4eb57839 (diff)
downloadgdb-8d12f138ea2c588054dfc99e8d7d7e228cac384a.zip
gdb-8d12f138ea2c588054dfc99e8d7d7e228cac384a.tar.gz
gdb-8d12f138ea2c588054dfc99e8d7d7e228cac384a.tar.bz2
* ecofflink.c: New file to hold ECOFF debug information linking
routines. * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet, ecoff_add_string, ecoff_get_debug): Removed. Functionality now in ecofflink.c. (ecoff_get_extr, ecoff_set_index): New functions. (ecoff_slurp_symbolic_info): Don't save raw_size. (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions. (ecoff_compute_section_file_positions): Don't set EXEC_P just because there is a start address. (ecoff_write_object_contents): Handle external symbols here. Use ecofflink.c functions to write out debugging information. * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr, mips_elf_set_index): New functions. (mips_elf_seclet_link): Discard empty sections, the .options section and .gptab sections. Handle linking .mdebug section. * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase. * libelf.h (elf_symbol_type): Added mips_extr to tc_data union. * bfd-in.h: Added prototypes for routines in ecofflink.c (some are called by gas, so they are public). * bfd-in2.h: Rebuilt. * Makefile.in (BFD_LIBS): Added ecofflink.o. (CFILES): Added ecofflink.c. (ecofflink.o): New target. Rebuilt dependencies.
Diffstat (limited to 'bfd/bfd-in2.h')
-rw-r--r--bfd/bfd-in2.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 359078a..a5e1b98 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -461,6 +461,37 @@ void bfd_putl32 PARAMS ((bfd_vma, unsigned char *));
void bfd_putb16 PARAMS ((bfd_vma, unsigned char *));
void bfd_putl16 PARAMS ((bfd_vma, unsigned char *));
+/* ECOFF linking routines. */
+#ifdef __STDC__
+struct ecoff_debug_info;
+struct ecoff_debug_swap;
+struct ecoff_extr;
+struct symbol_cache_entry;
+#endif
+extern boolean bfd_ecoff_debug_accumulate
+ PARAMS ((bfd *output_bfd, struct ecoff_debug_info *output_debug,
+ const struct ecoff_debug_swap *output_swap,
+ bfd *input_bfd, struct ecoff_debug_info *input_debug,
+ const struct ecoff_debug_swap *input_swap,
+ boolean relocateable));
+extern boolean bfd_ecoff_debug_link_other
+ PARAMS ((bfd *output_bfd, struct ecoff_debug_info *output_debug,
+ const struct ecoff_debug_swap *output_swap, bfd *input_bfd));
+extern boolean bfd_ecoff_debug_externals
+ PARAMS ((bfd *abfd, struct ecoff_debug_info *debug,
+ const struct ecoff_debug_swap *swap,
+ boolean relocateable,
+ boolean (*get_extr) (struct symbol_cache_entry *,
+ struct ecoff_extr *),
+ void (*set_index) (struct symbol_cache_entry *,
+ bfd_size_type)));
+extern bfd_size_type bfd_ecoff_debug_size
+ PARAMS ((bfd *abfd, struct ecoff_debug_info *debug,
+ const struct ecoff_debug_swap *swap));
+extern boolean bfd_ecoff_write_debug
+ PARAMS ((bfd *abfd, struct ecoff_debug_info *debug,
+ const struct ecoff_debug_swap *swap, file_ptr where));
+
/* And more from the source. */
void
bfd_init PARAMS ((void));
@@ -1615,6 +1646,7 @@ struct _bfd
struct trad_core_struct *trad_core_data;
struct som_data_struct *som_data;
struct hpux_core_struct *hpux_core_data;
+ struct hppabsd_core_struct *hppabsd_core_data;
struct sgi_core_struct *sgi_core_data;
struct lynx_core_struct *lynx_core_data;
struct osf_core_struct *osf_core_data;