aboutsummaryrefslogtreecommitdiff
path: root/bfd/libelf.h
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1993-02-27 07:05:09 +0000
committerKen Raeburn <raeburn@cygnus>1993-02-27 07:05:09 +0000
commit81187b54758551f963bed207d3995523a1416f65 (patch)
tree1cb7b5d70b7ef934e289a0bad9b8a50c03b4987e /bfd/libelf.h
parent9116f7c7ff255cc9a7075c876c4e4927e0d97fbf (diff)
downloadgdb-81187b54758551f963bed207d3995523a1416f65.zip
gdb-81187b54758551f963bed207d3995523a1416f65.tar.gz
gdb-81187b54758551f963bed207d3995523a1416f65.tar.bz2
revised elf support
Diffstat (limited to 'bfd/libelf.h')
-rw-r--r--bfd/libelf.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/bfd/libelf.h b/bfd/libelf.h
new file mode 100644
index 0000000..546f471
--- /dev/null
+++ b/bfd/libelf.h
@@ -0,0 +1,37 @@
+#include "elf/common.h"
+#include "elf/internal.h"
+#include "elf/external.h"
+
+struct elf_backend_data {
+ void (*elf_info_to_howto) PARAMS ((bfd *, arelent *, Elf_Internal_Rela *));
+ enum bfd_architecture arch;
+};
+
+extern bfd_target *elf_object_p PARAMS ((bfd *));
+extern bfd_target *elf_core_file_p PARAMS ((bfd *));
+extern boolean elf_mkobject PARAMS ((bfd *));
+extern boolean elf_write_object_contents PARAMS ((bfd *));
+extern char *elf_core_file_failing_command PARAMS ((bfd *));
+extern int elf_core_file_failing_signal PARAMS ((bfd *));
+extern boolean elf_core_file_matches_executable_p PARAMS ((bfd *, bfd *));
+extern boolean elf_set_section_contents PARAMS ((bfd *, sec_ptr, PTR,
+ file_ptr, bfd_size_type));
+extern unsigned int elf_get_symtab_upper_bound PARAMS ((bfd *));
+extern unsigned int elf_get_symtab PARAMS ((bfd *, asymbol **));
+extern unsigned int elf_get_reloc_upper_bound PARAMS ((bfd *, sec_ptr));
+extern unsigned int elf_canonicalize_reloc PARAMS ((bfd *, sec_ptr,
+ arelent **, asymbol **));
+extern asymbol *elf_make_empty_symbol PARAMS ((bfd *));
+extern void elf_print_symbol PARAMS ((bfd *, PTR, asymbol *,
+ bfd_print_symbol_type));
+extern alent *elf_get_lineno PARAMS ((bfd *, asymbol *));
+extern boolean elf_set_arch_mach PARAMS ((bfd *, enum bfd_architecture,
+ unsigned long));
+extern boolean elf_find_nearest_line PARAMS ((bfd *, asection *, asymbol **,
+ bfd_vma, CONST char **,
+ CONST char **, unsigned int *));
+extern int elf_sizeof_headers PARAMS ((bfd *, boolean));
+
+/* If the target doesn't have reloc handling written yet: */
+extern void elf_no_info_to_howto PARAMS ((bfd *, arelent *,
+ Elf_Internal_Rela *));