aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1993-06-30 10:04:58 +0000
committerKen Raeburn <raeburn@cygnus>1993-06-30 10:04:58 +0000
commit7d9bb6dab4dbbfa789fa568b6e39ab68bda61217 (patch)
treec0c7b24eaf68b8364806d93dc28e9920bef3ae91 /bfd
parent5b53e0c1b117f1ab387306ab35db8767c07d7b5f (diff)
downloadgdb-7d9bb6dab4dbbfa789fa568b6e39ab68bda61217.zip
gdb-7d9bb6dab4dbbfa789fa568b6e39ab68bda61217.tar.gz
gdb-7d9bb6dab4dbbfa789fa568b6e39ab68bda61217.tar.bz2
(CAT4): Added Saber-C (ANSI mode) version.
(bfd_elf64_*): New decls.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/libelf.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/bfd/libelf.h b/bfd/libelf.h
index 0a8d805..5a5823f 100644
--- a/bfd/libelf.h
+++ b/bfd/libelf.h
@@ -30,12 +30,16 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
want extra underscores (e.g., "elf_32_"). The XCAT2 macro will cause the
inner CAT macros to be evaluated first, producing still-valid pp-tokens.
Then the final concatenation can be done. (Sigh.) */
+#ifdef SABER
+#define CAT4(a,b,c,d) a##b##c##d
+#else
#ifdef __STDC__
#define XCAT2(a,b) CAT(a,b)
#define CAT4(a,b,c,d) XCAT2(CAT(a,b),CAT(c,d))
#else
#define CAT4(a,b,c,d) a/**/b/**/c/**/d
#endif
+#endif
/* If size isn't specified as 64 or 32, NAME macro should fail. */
#ifndef NAME
@@ -155,6 +159,43 @@ extern boolean bfd_elf32_new_section_hook PARAMS ((bfd *, asection *));
extern void bfd_elf32_no_info_to_howto PARAMS ((bfd *, arelent *,
Elf32_Internal_Rela *));
+extern bfd_target *bfd_elf64_object_p PARAMS ((bfd *));
+extern bfd_target *bfd_elf64_core_file_p PARAMS ((bfd *));
+extern boolean bfd_elf64_write_object_contents PARAMS ((bfd *));
+extern char *bfd_elf64_core_file_failing_command PARAMS ((bfd *));
+extern int bfd_elf64_core_file_failing_signal PARAMS ((bfd *));
+extern boolean bfd_elf64_core_file_matches_executable_p PARAMS ((bfd *,
+ bfd *));
+extern boolean bfd_elf64_set_section_contents PARAMS ((bfd *, sec_ptr, PTR,
+ file_ptr,
+ bfd_size_type));
+
+extern unsigned int bfd_elf64_get_symtab_upper_bound PARAMS ((bfd *));
+extern unsigned int bfd_elf64_get_symtab PARAMS ((bfd *, asymbol **));
+extern unsigned int bfd_elf64_get_reloc_upper_bound PARAMS ((bfd *, sec_ptr));
+extern unsigned int bfd_elf64_canonicalize_reloc PARAMS ((bfd *, sec_ptr,
+ arelent **,
+ asymbol **));
+extern asymbol *bfd_elf64_make_empty_symbol PARAMS ((bfd *));
+extern void bfd_elf64_print_symbol PARAMS ((bfd *, PTR, asymbol *,
+ bfd_print_symbol_type));
+extern void bfd_elf64_get_symbol_info PARAMS ((bfd *, asymbol *,
+ symbol_info *));
+extern alent *bfd_elf64_get_lineno PARAMS ((bfd *, asymbol *));
+extern boolean bfd_elf64_set_arch_mach PARAMS ((bfd *, enum bfd_architecture,
+ unsigned long));
+extern boolean bfd_elf64_find_nearest_line PARAMS ((bfd *, asection *,
+ asymbol **,
+ bfd_vma, CONST char **,
+ CONST char **,
+ unsigned int *));
+extern int bfd_elf64_sizeof_headers PARAMS ((bfd *, boolean));
+extern boolean bfd_elf64_new_section_hook PARAMS ((bfd *, asection *));
+
+/* If the target doesn't have reloc handling written yet: */
+extern void bfd_elf64_no_info_to_howto PARAMS ((bfd *, arelent *,
+ Elf64_Internal_Rela *));
+
#define get_elf_backend_data(abfd) \
((struct elf_backend_data *) (abfd)->xvec->backend_data)