mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 15:18:37 +08:00
* 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:
@ -61,29 +61,35 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|||||||
#define ELF_MAXPAGESIZE 1
|
#define ELF_MAXPAGESIZE 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef elf_backend_sym_is_global
|
||||||
|
#define elf_backend_sym_is_global 0
|
||||||
|
#endif
|
||||||
#ifndef elf_backend_object_p
|
#ifndef elf_backend_object_p
|
||||||
#define elf_backend_object_p 0 /* elf_backend_object_p */
|
#define elf_backend_object_p 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef elf_backend_symbol_processing
|
#ifndef elf_backend_symbol_processing
|
||||||
#define elf_backend_symbol_processing 0 /* elf_backend_symbol_processing */
|
#define elf_backend_symbol_processing 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef elf_backend_symbol_table_processing
|
#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
|
#endif
|
||||||
#ifndef elf_backend_section_processing
|
#ifndef elf_backend_section_processing
|
||||||
#define elf_backend_section_processing 0 /* elf_backend_section_processing */
|
#define elf_backend_section_processing 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef elf_backend_section_from_shdr
|
#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
|
#endif
|
||||||
#ifndef elf_backend_fake_sections
|
#ifndef elf_backend_fake_sections
|
||||||
#define elf_backend_fake_sections 0 /* elf_backend_fake_sections */
|
#define elf_backend_fake_sections 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef elf_backend_section_from_bfd_section
|
#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
|
#endif
|
||||||
#ifndef elf_backend_ecoff_debug_swap
|
#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
|
#endif
|
||||||
|
|
||||||
static CONST struct elf_backend_data elf32_bed =
|
static CONST struct elf_backend_data elf32_bed =
|
||||||
@ -97,16 +103,18 @@ static CONST struct elf_backend_data elf32_bed =
|
|||||||
ELF_ARCH, /* arch */
|
ELF_ARCH, /* arch */
|
||||||
ELF_MACHINE_CODE, /* elf_machine_code */
|
ELF_MACHINE_CODE, /* elf_machine_code */
|
||||||
ELF_MAXPAGESIZE, /* maxpagesize */
|
ELF_MAXPAGESIZE, /* maxpagesize */
|
||||||
elf_info_to_howto, /* elf_info_to_howto */
|
elf_info_to_howto,
|
||||||
elf_info_to_howto_rel, /* elf_info_to_howto_rel */
|
elf_info_to_howto_rel,
|
||||||
elf_backend_object_p, /* elf_backend_object_p */
|
elf_backend_sym_is_global,
|
||||||
elf_backend_symbol_processing, /* elf_backend_symbol_processing */
|
elf_backend_object_p,
|
||||||
elf_backend_symbol_table_processing, /* elf_backend_symbol_table_processing */
|
elf_backend_symbol_processing,
|
||||||
elf_backend_section_processing, /* elf_backend_section_processing */
|
elf_backend_symbol_table_processing,
|
||||||
elf_backend_section_from_shdr, /* elf_backend_section_from_shdr */
|
elf_backend_section_processing,
|
||||||
elf_backend_fake_sections, /* elf_backend_fake_sections */
|
elf_backend_section_from_shdr,
|
||||||
elf_backend_section_from_bfd_section, /* elf_backend_section_from_bfd_section */
|
elf_backend_fake_sections,
|
||||||
elf_backend_ecoff_debug_swap /* elf_backend_ecoff_debug_swap */
|
elf_backend_section_from_bfd_section,
|
||||||
|
elf_backend_final_write_processing,
|
||||||
|
elf_backend_ecoff_debug_swap
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef TARGET_BIG_SYM
|
#ifdef TARGET_BIG_SYM
|
||||||
|
@ -59,29 +59,35 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|||||||
#define ELF_MAXPAGESIZE 1
|
#define ELF_MAXPAGESIZE 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef elf_backend_sym_is_global
|
||||||
|
#define elf_backend_sym_is_global 0
|
||||||
|
#endif
|
||||||
#ifndef elf_backend_object_p
|
#ifndef elf_backend_object_p
|
||||||
#define elf_backend_object_p 0 /* elf_backend_object_p */
|
#define elf_backend_object_p 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef elf_backend_symbol_processing
|
#ifndef elf_backend_symbol_processing
|
||||||
#define elf_backend_symbol_processing 0 /* elf_backend_symbol_processing */
|
#define elf_backend_symbol_processing 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef elf_backend_symbol_table_processing
|
#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
|
#endif
|
||||||
#ifndef elf_backend_section_processing
|
#ifndef elf_backend_section_processing
|
||||||
#define elf_backend_section_processing 0 /* elf_backend_section_processing */
|
#define elf_backend_section_processing 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef elf_backend_section_from_shdr
|
#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
|
#endif
|
||||||
#ifndef elf_backend_fake_sections
|
#ifndef elf_backend_fake_sections
|
||||||
#define elf_backend_fake_sections 0 /* elf_backend_fake_sections */
|
#define elf_backend_fake_sections 0
|
||||||
#endif
|
#endif
|
||||||
#ifndef elf_backend_section_from_bfd_section
|
#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
|
#endif
|
||||||
#ifndef elf_backend_ecoff_debug_swap
|
#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
|
#endif
|
||||||
|
|
||||||
static CONST struct elf_backend_data elf64_bed =
|
static CONST struct elf_backend_data elf64_bed =
|
||||||
@ -95,16 +101,17 @@ static CONST struct elf_backend_data elf64_bed =
|
|||||||
ELF_ARCH, /* arch */
|
ELF_ARCH, /* arch */
|
||||||
ELF_MACHINE_CODE, /* elf_machine_code */
|
ELF_MACHINE_CODE, /* elf_machine_code */
|
||||||
ELF_MAXPAGESIZE, /* maxpagesize */
|
ELF_MAXPAGESIZE, /* maxpagesize */
|
||||||
elf_info_to_howto, /* elf_info_to_howto */
|
elf_info_to_howto,
|
||||||
elf_info_to_howto_rel, /* elf_info_to_howto_rel */
|
elf_info_to_howto_rel,
|
||||||
elf_backend_object_p, /* elf_backend_object_p */
|
elf_backend_sym_is_global,
|
||||||
elf_backend_symbol_processing, /* elf_backend_symbol_processing */
|
elf_backend_object_p,
|
||||||
elf_backend_symbol_table_processing, /* elf_backend_symbol_table_processing */
|
elf_backend_symbol_processing,
|
||||||
elf_backend_section_processing, /* elf_backend_section_processing */
|
elf_backend_symbol_table_processing,
|
||||||
elf_backend_section_from_shdr, /* elf_backend_section_from_shdr */
|
elf_backend_section_processing,
|
||||||
elf_backend_fake_sections, /* elf_backend_fake_sections */
|
elf_backend_section_from_shdr,
|
||||||
elf_backend_section_from_bfd_section, /* elf_backend_section_from_bfd_section */
|
elf_backend_fake_sections,
|
||||||
elf_backend_ecoff_debug_swap /* elf_backend_ecoff_debug_swap */
|
elf_backend_section_from_bfd_section,
|
||||||
|
elf_backend_ecoff_debug_swap
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef TARGET_BIG_SYM
|
#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 *,
|
void (*elf_info_to_howto_rel) PARAMS ((bfd *, arelent *,
|
||||||
Elf_Internal_Rel *));
|
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
|
/* The remaining functions are hooks which are called only if they
|
||||||
are not NULL. */
|
are not NULL. */
|
||||||
|
|
||||||
@ -141,6 +148,10 @@ struct elf_backend_data
|
|||||||
boolean (*elf_backend_section_from_bfd_section)
|
boolean (*elf_backend_section_from_bfd_section)
|
||||||
PARAMS ((bfd *, Elf32_Internal_Shdr *, asection *, int *retval));
|
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.
|
/* The swapping table to use when dealing with ECOFF information.
|
||||||
Used for the MIPS ELF .mdebug section. */
|
Used for the MIPS ELF .mdebug section. */
|
||||||
const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap;
|
const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap;
|
||||||
|
Reference in New Issue
Block a user