* libelf.h (struct elf_backend_data): Added fields
elf_backend_sym_is_global and elf_backend_final_write_processing. * elf32-target.h (elf32_bed): Added corresponding initializers. * elf64-target.h (elf64_bed): Likewise.
This commit is contained in:
parent
7855533586
commit
643e9fc768
@ -61,29 +61,35 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#define ELF_MAXPAGESIZE 1
|
||||
#endif
|
||||
|
||||
#ifndef elf_backend_sym_is_global
|
||||
#define elf_backend_sym_is_global 0
|
||||
#endif
|
||||
#ifndef elf_backend_object_p
|
||||
#define elf_backend_object_p 0 /* elf_backend_object_p */
|
||||
#define elf_backend_object_p 0
|
||||
#endif
|
||||
#ifndef elf_backend_symbol_processing
|
||||
#define elf_backend_symbol_processing 0 /* elf_backend_symbol_processing */
|
||||
#define elf_backend_symbol_processing 0
|
||||
#endif
|
||||
#ifndef elf_backend_symbol_table_processing
|
||||
#define elf_backend_symbol_table_processing 0 /* elf_backend_symbol_table_processing */
|
||||
#define elf_backend_symbol_table_processing 0
|
||||
#endif
|
||||
#ifndef elf_backend_section_processing
|
||||
#define elf_backend_section_processing 0 /* elf_backend_section_processing */
|
||||
#define elf_backend_section_processing 0
|
||||
#endif
|
||||
#ifndef elf_backend_section_from_shdr
|
||||
#define elf_backend_section_from_shdr 0 /* elf_backend_section_from_shdr */
|
||||
#define elf_backend_section_from_shdr 0
|
||||
#endif
|
||||
#ifndef elf_backend_fake_sections
|
||||
#define elf_backend_fake_sections 0 /* elf_backend_fake_sections */
|
||||
#define elf_backend_fake_sections 0
|
||||
#endif
|
||||
#ifndef elf_backend_section_from_bfd_section
|
||||
#define elf_backend_section_from_bfd_section 0 /* elf_backend_section_from_bfd_section */
|
||||
#define elf_backend_section_from_bfd_section 0
|
||||
#endif
|
||||
#ifndef elf_backend_final_write_processing
|
||||
#define elf_backend_final_write_processing 0
|
||||
#endif
|
||||
#ifndef elf_backend_ecoff_debug_swap
|
||||
#define elf_backend_ecoff_debug_swap 0 /* elf_backed_ecoff_debug_swap */
|
||||
#define elf_backend_ecoff_debug_swap 0
|
||||
#endif
|
||||
|
||||
static CONST struct elf_backend_data elf32_bed =
|
||||
@ -97,16 +103,18 @@ static CONST struct elf_backend_data elf32_bed =
|
||||
ELF_ARCH, /* arch */
|
||||
ELF_MACHINE_CODE, /* elf_machine_code */
|
||||
ELF_MAXPAGESIZE, /* maxpagesize */
|
||||
elf_info_to_howto, /* elf_info_to_howto */
|
||||
elf_info_to_howto_rel, /* elf_info_to_howto_rel */
|
||||
elf_backend_object_p, /* elf_backend_object_p */
|
||||
elf_backend_symbol_processing, /* elf_backend_symbol_processing */
|
||||
elf_backend_symbol_table_processing, /* elf_backend_symbol_table_processing */
|
||||
elf_backend_section_processing, /* elf_backend_section_processing */
|
||||
elf_backend_section_from_shdr, /* elf_backend_section_from_shdr */
|
||||
elf_backend_fake_sections, /* elf_backend_fake_sections */
|
||||
elf_backend_section_from_bfd_section, /* elf_backend_section_from_bfd_section */
|
||||
elf_backend_ecoff_debug_swap /* elf_backend_ecoff_debug_swap */
|
||||
elf_info_to_howto,
|
||||
elf_info_to_howto_rel,
|
||||
elf_backend_sym_is_global,
|
||||
elf_backend_object_p,
|
||||
elf_backend_symbol_processing,
|
||||
elf_backend_symbol_table_processing,
|
||||
elf_backend_section_processing,
|
||||
elf_backend_section_from_shdr,
|
||||
elf_backend_fake_sections,
|
||||
elf_backend_section_from_bfd_section,
|
||||
elf_backend_final_write_processing,
|
||||
elf_backend_ecoff_debug_swap
|
||||
};
|
||||
|
||||
#ifdef TARGET_BIG_SYM
|
||||
|
@ -59,29 +59,35 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#define ELF_MAXPAGESIZE 1
|
||||
#endif
|
||||
|
||||
#ifndef elf_backend_sym_is_global
|
||||
#define elf_backend_sym_is_global 0
|
||||
#endif
|
||||
#ifndef elf_backend_object_p
|
||||
#define elf_backend_object_p 0 /* elf_backend_object_p */
|
||||
#define elf_backend_object_p 0
|
||||
#endif
|
||||
#ifndef elf_backend_symbol_processing
|
||||
#define elf_backend_symbol_processing 0 /* elf_backend_symbol_processing */
|
||||
#define elf_backend_symbol_processing 0
|
||||
#endif
|
||||
#ifndef elf_backend_symbol_table_processing
|
||||
#define elf_backend_symbol_table_processing 0 /* elf_backend_symbol_table_processing */
|
||||
#define elf_backend_symbol_table_processing 0
|
||||
#endif
|
||||
#ifndef elf_backend_section_processing
|
||||
#define elf_backend_section_processing 0 /* elf_backend_section_processing */
|
||||
#define elf_backend_section_processing 0
|
||||
#endif
|
||||
#ifndef elf_backend_section_from_shdr
|
||||
#define elf_backend_section_from_shdr 0 /* elf_backend_section_from_shdr */
|
||||
#define elf_backend_section_from_shdr 0
|
||||
#endif
|
||||
#ifndef elf_backend_fake_sections
|
||||
#define elf_backend_fake_sections 0 /* elf_backend_fake_sections */
|
||||
#define elf_backend_fake_sections 0
|
||||
#endif
|
||||
#ifndef elf_backend_section_from_bfd_section
|
||||
#define elf_backend_section_from_bfd_section 0 /* elf_backend_section_from_bfd_section */
|
||||
#define elf_backend_section_from_bfd_section 0
|
||||
#endif
|
||||
#ifndef elf_backend_final_write_processing
|
||||
#define elf_backend_final_write_processing 0
|
||||
#endif
|
||||
#ifndef elf_backend_ecoff_debug_swap
|
||||
#define elf_backend_ecoff_debug_swap 0 /* elf_backed_ecoff_debug_swap */
|
||||
#define elf_backend_ecoff_debug_swap 0
|
||||
#endif
|
||||
|
||||
static CONST struct elf_backend_data elf64_bed =
|
||||
@ -95,16 +101,17 @@ static CONST struct elf_backend_data elf64_bed =
|
||||
ELF_ARCH, /* arch */
|
||||
ELF_MACHINE_CODE, /* elf_machine_code */
|
||||
ELF_MAXPAGESIZE, /* maxpagesize */
|
||||
elf_info_to_howto, /* elf_info_to_howto */
|
||||
elf_info_to_howto_rel, /* elf_info_to_howto_rel */
|
||||
elf_backend_object_p, /* elf_backend_object_p */
|
||||
elf_backend_symbol_processing, /* elf_backend_symbol_processing */
|
||||
elf_backend_symbol_table_processing, /* elf_backend_symbol_table_processing */
|
||||
elf_backend_section_processing, /* elf_backend_section_processing */
|
||||
elf_backend_section_from_shdr, /* elf_backend_section_from_shdr */
|
||||
elf_backend_fake_sections, /* elf_backend_fake_sections */
|
||||
elf_backend_section_from_bfd_section, /* elf_backend_section_from_bfd_section */
|
||||
elf_backend_ecoff_debug_swap /* elf_backend_ecoff_debug_swap */
|
||||
elf_info_to_howto,
|
||||
elf_info_to_howto_rel,
|
||||
elf_backend_sym_is_global,
|
||||
elf_backend_object_p,
|
||||
elf_backend_symbol_processing,
|
||||
elf_backend_symbol_table_processing,
|
||||
elf_backend_section_processing,
|
||||
elf_backend_section_from_shdr,
|
||||
elf_backend_fake_sections,
|
||||
elf_backend_section_from_bfd_section,
|
||||
elf_backend_ecoff_debug_swap
|
||||
};
|
||||
|
||||
#ifdef TARGET_BIG_SYM
|
||||
|
11
bfd/libelf.h
11
bfd/libelf.h
@ -93,6 +93,13 @@ struct elf_backend_data
|
||||
void (*elf_info_to_howto_rel) PARAMS ((bfd *, arelent *,
|
||||
Elf_Internal_Rel *));
|
||||
|
||||
/* A function to determine whether a symbol is global when
|
||||
partitioning the symbol table into local and global symbols.
|
||||
This should be NULL for most targets, in which case the correct
|
||||
thing will be done. MIPS ELF, at least on the Irix 5, has
|
||||
special requirements. */
|
||||
boolean (*elf_backend_sym_is_global) PARAMS ((bfd *, asymbol *));
|
||||
|
||||
/* The remaining functions are hooks which are called only if they
|
||||
are not NULL. */
|
||||
|
||||
@ -141,6 +148,10 @@ struct elf_backend_data
|
||||
boolean (*elf_backend_section_from_bfd_section)
|
||||
PARAMS ((bfd *, Elf32_Internal_Shdr *, asection *, int *retval));
|
||||
|
||||
/* A function to do any final processing needed for the ELF file
|
||||
before writing it out. */
|
||||
void (*elf_backend_final_write_processing) PARAMS ((bfd *));
|
||||
|
||||
/* The swapping table to use when dealing with ECOFF information.
|
||||
Used for the MIPS ELF .mdebug section. */
|
||||
const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap;
|
||||
|
Loading…
Reference in New Issue
Block a user