revised elf support
[binutils-gdb.git] / bfd / libelf.h
1 #include "elf/common.h"
2 #include "elf/internal.h"
3 #include "elf/external.h"
4
5 struct elf_backend_data {
6 void (*elf_info_to_howto) PARAMS ((bfd *, arelent *, Elf_Internal_Rela *));
7 enum bfd_architecture arch;
8 };
9
10 extern bfd_target *elf_object_p PARAMS ((bfd *));
11 extern bfd_target *elf_core_file_p PARAMS ((bfd *));
12 extern boolean elf_mkobject PARAMS ((bfd *));
13 extern boolean elf_write_object_contents PARAMS ((bfd *));
14 extern char *elf_core_file_failing_command PARAMS ((bfd *));
15 extern int elf_core_file_failing_signal PARAMS ((bfd *));
16 extern boolean elf_core_file_matches_executable_p PARAMS ((bfd *, bfd *));
17 extern boolean elf_set_section_contents PARAMS ((bfd *, sec_ptr, PTR,
18 file_ptr, bfd_size_type));
19 extern unsigned int elf_get_symtab_upper_bound PARAMS ((bfd *));
20 extern unsigned int elf_get_symtab PARAMS ((bfd *, asymbol **));
21 extern unsigned int elf_get_reloc_upper_bound PARAMS ((bfd *, sec_ptr));
22 extern unsigned int elf_canonicalize_reloc PARAMS ((bfd *, sec_ptr,
23 arelent **, asymbol **));
24 extern asymbol *elf_make_empty_symbol PARAMS ((bfd *));
25 extern void elf_print_symbol PARAMS ((bfd *, PTR, asymbol *,
26 bfd_print_symbol_type));
27 extern alent *elf_get_lineno PARAMS ((bfd *, asymbol *));
28 extern boolean elf_set_arch_mach PARAMS ((bfd *, enum bfd_architecture,
29 unsigned long));
30 extern boolean elf_find_nearest_line PARAMS ((bfd *, asection *, asymbol **,
31 bfd_vma, CONST char **,
32 CONST char **, unsigned int *));
33 extern int elf_sizeof_headers PARAMS ((bfd *, boolean));
34
35 /* If the target doesn't have reloc handling written yet: */
36 extern void elf_no_info_to_howto PARAMS ((bfd *, arelent *,
37 Elf_Internal_Rela *));