Browse Source

* 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.
gdb-4_18-branch
Ian Lance Taylor 33 years ago
parent
commit
643e9fc768
  1. 44
      bfd/elf32-target.h
  2. 43
      bfd/elf64-target.h
  3. 11
      bfd/libelf.h

44
bfd/elf32-target.h

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

43
bfd/elf64-target.h

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

@ -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…
Cancel
Save