From: Ken Raeburn Date: Wed, 30 Jun 1993 10:04:58 +0000 (+0000) Subject: (CAT4): Added Saber-C (ANSI mode) version. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7d9bb6dab4dbbfa789fa568b6e39ab68bda61217;p=binutils-gdb.git (CAT4): Added Saber-C (ANSI mode) version. (bfd_elf64_*): New decls. --- diff --git a/bfd/libelf.h b/bfd/libelf.h index 0a8d8051da5..5a5823f3187 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)