|
|
|
@ -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) |
|
|
|
|
|
|
|
|