mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 12:39:59 +00:00
* elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
(_bfd_mips_elf_create_dynamic_sections): New function. (_bfd_mips_elf_add_symbol_hook): Likewise. (_bfd_mips_elf_adjust_dynamic_symbol): Likewise. (_bfd_mips_elf_finish_dynamic_symbol): Likewise. (_bfd_mips_elf_finish_dynamic_sections): Likewise. (_bfd_mips_elf_gc_mark_hook): Likewise. (_bfd_mips_elf_gc_sweep_hook): Likewise. (_bfd_mips_elf_always_size_sections): Likewise. (_bfd_mips_elf_size_dynamic_sections): Likewise. (_bfd_mips_elf_check_relocs): Likewise. (_bfd_mips_elf_link_hash_table_create): Likewise. (_bfd_mips_elf_print_private_data): Likewise. (_bfd_mips_elf_link_output_symbol_hook): Likewise. (_bfd_mips_elf_final_link): Likewise. (_bfd_mips_elf_additional_program_headers): Likewise. (_bfd_mips_elf_modify_segment_map): Likewise. (_bfd_mips_elf_relocate_section): Likewise. * elf32-mips.c (mips_elf32_object_p): Move contents into _bfd_mips_elf_object_p. (mips_elf_additional_program_headers): Rename to _bfd_mips_elf_additional_program_headers. (mips_elf_modify_segment_map): Rename to _bfd_mips_elf_modify_segment_map. (elf_mips_abi_name): Change prototype. (mips_elf32_section_from_shdr): Merge into _bfd_mips_elf_section_from_shdr. (mips_elf32_section_processing): Merge into _bfd_mips_elf_section_processing. (mips_elf_final_link): Rename to _bfd_mips_elf_final_link. Invoke the right back-end ELF linker. (mips_elf_relocate_section): Rename to _bfd_mips_elf_relocate_section. Clean up. Adjust for 64-bit code. (mips_elf_link_output_symbol_hook): Rename to _bfd_mips_elf_link_output_symbol_hook. (mips_elf_create_dynamic_section): Rename to _bfd_mips_elf_create_dynamic_section. (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs. Adjust for 64-bit code. Use mips_elf_got_section. (mips_elf_adjust_dynamic_symbol): Rename to _bfd_mips_elf_adjust_dynamic_symbol. Use mips_elf_allocate_dynamic_relocations. (mips_elf_finish_dynamic_symbol): Rename to _bfd_mips_elf_finish_dynamic_symbol. Use mips_elf_got_section. Adjust for 64-bit code. (mips_elf_finish_dynamic_sections): Rename to _bfd_mips_elf_finish_dynamic_sections. Adjust for 64-bit code. (mips_elf_always_size_sections): Rename to _bfd_mips_elf_always_size_sections. (mips_elf_add_symbol_hook): Rename to _bfd_mips_elf_add_symbol_hook. (mips_elf_next_lo16_addend): Constify. (mips_elf_calculate_relocation): Likewise. (mips_elf_obtain_contents): Likewise. (mips_elf_perform_relocation): Likewise. (mips_elf_create_dynamic_relocation): Likewise. (mips_elf_allocate_dynamic_relocations): New function. (MIPS_ELF_REL_DYN_SECTION_NAME): New macro. (MIPS_ELF_REL_SIZE): Likewise. (MIPS_ELF_DYN_SIZE): Likewise. (MIPS_ELF_GOT_SIZE): Likewise. (MIPS_ELF_SYM_SIZE): Likewise. (MIPS_ELF_LOG_FILE_ALIGN): Likewise. (MIPS_ELF_GET_WORD): Likewise. (MIPS_ELF_PUT_WORD): Likewise. (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise. (STUB_LW): Conditionalize for 64-bit value. (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST entries. (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS]. Check it for inconsistency. (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit ABI. (_bfd_mips_elf_fake_sections): Remove duplicate handling of .msym. (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE. (mips_elf_got_offset_from_index): Use misp_elf_got_section. (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE. (mips_elf_local_got_index): Likewise. (mips_elf_got_page): Likewise. (mips_elf_got_info): Likewise. (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split. (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code. (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN, instead of constant `2'. (mips_elf_create_got_section): Tidy. Use MIPS_ELF_GOT_SIZE. (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN. (mips_elf_size_dynamic_sections): Use MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE, MIPS_ELF_ADD_DYNAMIC_ENTRY. Remove #if 0'd code. Adjust all releveant entries in elf backend table. * elf64-mips.c (mips_elf64_section_from_shdr): Remove. (mips_elf64_section_processing): Likewise. Adjust elf backend entries to use _bfd_mips_elf variants now publicly available.
This commit is contained in:
parent
c7ac6ff835
commit
103186c62b
@ -1,5 +1,101 @@
|
||||
1999-07-07 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
|
||||
(_bfd_mips_elf_create_dynamic_sections): New function.
|
||||
(_bfd_mips_elf_add_symbol_hook): Likewise.
|
||||
(_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
|
||||
(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
|
||||
(_bfd_mips_elf_finish_dynamic_sections): Likewise.
|
||||
(_bfd_mips_elf_gc_mark_hook): Likewise.
|
||||
(_bfd_mips_elf_gc_sweep_hook): Likewise.
|
||||
(_bfd_mips_elf_always_size_sections): Likewise.
|
||||
(_bfd_mips_elf_size_dynamic_sections): Likewise.
|
||||
(_bfd_mips_elf_check_relocs): Likewise.
|
||||
(_bfd_mips_elf_link_hash_table_create): Likewise.
|
||||
(_bfd_mips_elf_print_private_data): Likewise.
|
||||
(_bfd_mips_elf_link_output_symbol_hook): Likewise.
|
||||
(_bfd_mips_elf_final_link): Likewise.
|
||||
(_bfd_mips_elf_additional_program_headers): Likewise.
|
||||
(_bfd_mips_elf_modify_segment_map): Likewise.
|
||||
(_bfd_mips_elf_relocate_section): Likewise.
|
||||
* elf32-mips.c (mips_elf32_object_p): Move contents into
|
||||
_bfd_mips_elf_object_p.
|
||||
(mips_elf_additional_program_headers): Rename to
|
||||
_bfd_mips_elf_additional_program_headers.
|
||||
(mips_elf_modify_segment_map): Rename to
|
||||
_bfd_mips_elf_modify_segment_map.
|
||||
(elf_mips_abi_name): Change prototype.
|
||||
(mips_elf32_section_from_shdr): Merge into
|
||||
_bfd_mips_elf_section_from_shdr.
|
||||
(mips_elf32_section_processing): Merge into
|
||||
_bfd_mips_elf_section_processing.
|
||||
(mips_elf_final_link): Rename to _bfd_mips_elf_final_link. Invoke
|
||||
the right back-end ELF linker.
|
||||
(mips_elf_relocate_section): Rename to
|
||||
_bfd_mips_elf_relocate_section. Clean up. Adjust for 64-bit code.
|
||||
(mips_elf_link_output_symbol_hook): Rename to
|
||||
_bfd_mips_elf_link_output_symbol_hook.
|
||||
(mips_elf_create_dynamic_section): Rename to
|
||||
_bfd_mips_elf_create_dynamic_section.
|
||||
(mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs.
|
||||
Adjust for 64-bit code. Use mips_elf_got_section.
|
||||
(mips_elf_adjust_dynamic_symbol): Rename to
|
||||
_bfd_mips_elf_adjust_dynamic_symbol. Use
|
||||
mips_elf_allocate_dynamic_relocations.
|
||||
(mips_elf_finish_dynamic_symbol): Rename to
|
||||
_bfd_mips_elf_finish_dynamic_symbol. Use mips_elf_got_section.
|
||||
Adjust for 64-bit code.
|
||||
(mips_elf_finish_dynamic_sections): Rename to
|
||||
_bfd_mips_elf_finish_dynamic_sections. Adjust for 64-bit code.
|
||||
(mips_elf_always_size_sections): Rename to
|
||||
_bfd_mips_elf_always_size_sections.
|
||||
(mips_elf_add_symbol_hook): Rename to
|
||||
_bfd_mips_elf_add_symbol_hook.
|
||||
(mips_elf_next_lo16_addend): Constify.
|
||||
(mips_elf_calculate_relocation): Likewise.
|
||||
(mips_elf_obtain_contents): Likewise.
|
||||
(mips_elf_perform_relocation): Likewise.
|
||||
(mips_elf_create_dynamic_relocation): Likewise.
|
||||
(mips_elf_allocate_dynamic_relocations): New function.
|
||||
(MIPS_ELF_REL_DYN_SECTION_NAME): New macro.
|
||||
(MIPS_ELF_REL_SIZE): Likewise.
|
||||
(MIPS_ELF_DYN_SIZE): Likewise.
|
||||
(MIPS_ELF_GOT_SIZE): Likewise.
|
||||
(MIPS_ELF_SYM_SIZE): Likewise.
|
||||
(MIPS_ELF_LOG_FILE_ALIGN): Likewise.
|
||||
(MIPS_ELF_GET_WORD): Likewise.
|
||||
(MIPS_ELF_PUT_WORD): Likewise.
|
||||
(MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
|
||||
(STUB_LW): Conditionalize for 64-bit value.
|
||||
(elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST
|
||||
entries.
|
||||
(_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS].
|
||||
Check it for inconsistency.
|
||||
(_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit
|
||||
ABI.
|
||||
(_bfd_mips_elf_fake_sections): Remove duplicate handling of
|
||||
.msym.
|
||||
(mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE.
|
||||
(mips_elf_got_offset_from_index): Use misp_elf_got_section.
|
||||
(mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE.
|
||||
(mips_elf_local_got_index): Likewise.
|
||||
(mips_elf_got_page): Likewise.
|
||||
(mips_elf_got_info): Likewise.
|
||||
(mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split.
|
||||
(ELF_DYNAMIC_INTERPRETER): Handle 64-bit code.
|
||||
(mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN,
|
||||
instead of constant `2'.
|
||||
(mips_elf_create_got_section): Tidy. Use MIPS_ELF_GOT_SIZE.
|
||||
(mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN.
|
||||
(mips_elf_size_dynamic_sections): Use
|
||||
MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE,
|
||||
MIPS_ELF_ADD_DYNAMIC_ENTRY. Remove #if 0'd code.
|
||||
Adjust all releveant entries in elf backend table.
|
||||
* elf64-mips.c (mips_elf64_section_from_shdr): Remove.
|
||||
(mips_elf64_section_processing): Likewise.
|
||||
Adjust elf backend entries to use _bfd_mips_elf variants now
|
||||
publicly available.
|
||||
|
||||
* elflink.h (elf_link_create_dynamic_sections): Handle non-standard
|
||||
hash-entry sizes.
|
||||
(size_dynamic_sections): Likewise.
|
||||
|
@ -1147,7 +1147,7 @@ boolean _bfd_elf64_gc_record_vtentry
|
||||
|
||||
extern boolean _bfd_mips_elf_object_p PARAMS ((bfd *));
|
||||
extern boolean _bfd_mips_elf_section_from_shdr
|
||||
PARAMS ((bfd *, Elf_Internal_Shdr *, const char *));
|
||||
PARAMS ((bfd *, Elf_Internal_Shdr *, char *));
|
||||
extern boolean _bfd_mips_elf_fake_sections
|
||||
PARAMS ((bfd *, Elf_Internal_Shdr *, asection *));
|
||||
extern boolean _bfd_mips_elf_section_from_bfd_section
|
||||
@ -1176,5 +1176,44 @@ extern boolean _bfd_mips_elf_find_nearest_line
|
||||
const char **, unsigned int *));
|
||||
extern boolean _bfd_mips_elf_set_section_contents
|
||||
PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));
|
||||
extern boolean _bfd_mips_elf_create_dynamic_sections
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
extern boolean _bfd_mips_elf_add_symbol_hook
|
||||
PARAMS ((bfd *, struct bfd_link_info *, const Elf_Internal_Sym *,
|
||||
const char **, flagword *, asection **, bfd_vma *));
|
||||
extern boolean _bfd_mips_elf_adjust_dynamic_symbol
|
||||
PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
|
||||
extern boolean _bfd_mips_elf_finish_dynamic_symbol
|
||||
PARAMS ((bfd *, struct bfd_link_info *, struct elf_link_hash_entry *,
|
||||
Elf_Internal_Sym *));
|
||||
extern boolean _bfd_mips_elf_finish_dynamic_sections
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
extern asection * _bfd_mips_elf_gc_mark_hook
|
||||
PARAMS ((bfd *, struct bfd_link_info *, Elf_Internal_Rela *,
|
||||
struct elf_link_hash_entry *, Elf_Internal_Sym *));
|
||||
extern boolean _bfd_mips_elf_gc_sweep_hook
|
||||
PARAMS ((bfd *, struct bfd_link_info *, asection *,
|
||||
const Elf_Internal_Rela *));
|
||||
extern boolean _bfd_mips_elf_always_size_sections
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
extern boolean _bfd_mips_elf_size_dynamic_sections
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
extern boolean _bfd_mips_elf_check_relocs
|
||||
PARAMS ((bfd *, struct bfd_link_info *, asection *,
|
||||
const Elf_Internal_Rela *));
|
||||
extern struct bfd_link_hash_table *_bfd_mips_elf_link_hash_table_create
|
||||
PARAMS ((bfd *));
|
||||
extern boolean _bfd_mips_elf_print_private_bfd_data
|
||||
PARAMS ((bfd *, PTR));
|
||||
extern boolean _bfd_mips_elf_link_output_symbol_hook
|
||||
PARAMS ((bfd *, struct bfd_link_info *, const char *, Elf_Internal_Sym *,
|
||||
asection *));
|
||||
extern boolean _bfd_mips_elf_final_link
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
extern int _bfd_mips_elf_additional_program_headers PARAMS ((bfd *));
|
||||
extern boolean _bfd_mips_elf_modify_segment_map PARAMS ((bfd *));
|
||||
extern boolean _bfd_mips_elf_relocate_section
|
||||
PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
|
||||
Elf_Internal_Rela *, Elf_Internal_Sym *, asection **));
|
||||
|
||||
#endif /* _LIBELF_H_ */
|
||||
|
935
bfd/elf32-mips.c
935
bfd/elf32-mips.c
File diff suppressed because it is too large
Load Diff
163
bfd/elf64-mips.c
163
bfd/elf64-mips.c
@ -1,6 +1,8 @@
|
||||
/* MIPS-specific support for 64-bit ELF
|
||||
Copyright 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Ian Lance Taylor, Cygnus Support
|
||||
Linker support added by Mark Mitchell, CodeSourcery, LLC.
|
||||
<mark@codesourcery.com>
|
||||
|
||||
This file is part of BFD, the Binary File Descriptor library.
|
||||
|
||||
@ -74,10 +76,6 @@ static boolean mips_elf64_slurp_one_reloc_table
|
||||
static boolean mips_elf64_slurp_reloc_table
|
||||
PARAMS ((bfd *, asection *, asymbol **, boolean));
|
||||
static void mips_elf64_write_relocs PARAMS ((bfd *, asection *, PTR));
|
||||
static boolean mips_elf64_section_from_shdr
|
||||
PARAMS ((bfd *, Elf_Internal_Shdr *, char *));
|
||||
static boolean mips_elf64_section_processing
|
||||
PARAMS ((bfd *, Elf_Internal_Shdr *));
|
||||
static boolean mips_elf64_slurp_armap PARAMS ((bfd *));
|
||||
static boolean mips_elf64_write_armap
|
||||
PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int));
|
||||
@ -86,6 +84,9 @@ static boolean mips_elf64_write_armap
|
||||
from smaller values. Start with zero, widen, *then* decrement. */
|
||||
#define MINUS_ONE (((bfd_vma)0) - 1)
|
||||
|
||||
/* The number of local .got entries we reserve. */
|
||||
#define MIPS_RESERVED_GOTNO (2)
|
||||
|
||||
/* The relocation table used for SHT_REL sections. */
|
||||
|
||||
static reloc_howto_type mips_elf64_howto_table_rel[] =
|
||||
@ -1814,115 +1815,6 @@ mips_elf64_write_relocs (abfd, sec, data)
|
||||
== count);
|
||||
}
|
||||
|
||||
/* Handle a 64-bit MIPS ELF specific section. */
|
||||
|
||||
static boolean
|
||||
mips_elf64_section_from_shdr (abfd, hdr, name)
|
||||
bfd *abfd;
|
||||
Elf_Internal_Shdr *hdr;
|
||||
char *name;
|
||||
{
|
||||
if (! _bfd_mips_elf_section_from_shdr (abfd, hdr, name))
|
||||
return false;
|
||||
|
||||
/* For a SHT_MIPS_OPTIONS section, look for a ODK_REGINFO entry, and
|
||||
set the gp value based on what we find. We may see both
|
||||
SHT_MIPS_REGINFO and SHT_MIPS_OPTIONS/ODK_REGINFO; in that case,
|
||||
they should agree. */
|
||||
if (hdr->sh_type == SHT_MIPS_OPTIONS)
|
||||
{
|
||||
bfd_byte *contents, *l, *lend;
|
||||
|
||||
contents = (bfd_byte *) bfd_malloc (hdr->sh_size);
|
||||
if (contents == NULL)
|
||||
return false;
|
||||
if (! bfd_get_section_contents (abfd, hdr->bfd_section, contents,
|
||||
(file_ptr) 0, hdr->sh_size))
|
||||
{
|
||||
free (contents);
|
||||
return false;
|
||||
}
|
||||
l = contents;
|
||||
lend = contents + hdr->sh_size;
|
||||
while (l + sizeof (Elf_External_Options) <= lend)
|
||||
{
|
||||
Elf_Internal_Options intopt;
|
||||
|
||||
bfd_mips_elf_swap_options_in (abfd, (Elf_External_Options *) l,
|
||||
&intopt);
|
||||
if (intopt.kind == ODK_REGINFO)
|
||||
{
|
||||
Elf64_Internal_RegInfo intreg;
|
||||
|
||||
bfd_mips_elf64_swap_reginfo_in
|
||||
(abfd,
|
||||
((Elf64_External_RegInfo *)
|
||||
(l + sizeof (Elf_External_Options))),
|
||||
&intreg);
|
||||
elf_gp (abfd) = intreg.ri_gp_value;
|
||||
}
|
||||
l += intopt.size;
|
||||
}
|
||||
free (contents);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Work over a section just before writing it out. We update the GP
|
||||
value in the SHT_MIPS_OPTIONS section based on the value we are
|
||||
using. */
|
||||
|
||||
static boolean
|
||||
mips_elf64_section_processing (abfd, hdr)
|
||||
bfd *abfd;
|
||||
Elf_Internal_Shdr *hdr;
|
||||
{
|
||||
if (hdr->sh_type == SHT_MIPS_OPTIONS
|
||||
&& hdr->bfd_section != NULL
|
||||
&& elf_section_data (hdr->bfd_section) != NULL
|
||||
&& elf_section_data (hdr->bfd_section)->tdata != NULL)
|
||||
{
|
||||
bfd_byte *contents, *l, *lend;
|
||||
|
||||
/* We stored the section contents in the elf_section_data tdata
|
||||
field in the set_section_contents routine. We save the
|
||||
section contents so that we don't have to read them again.
|
||||
At this point we know that elf_gp is set, so we can look
|
||||
through the section contents to see if there is an
|
||||
ODK_REGINFO structure. */
|
||||
|
||||
contents = (bfd_byte *) elf_section_data (hdr->bfd_section)->tdata;
|
||||
l = contents;
|
||||
lend = contents + hdr->sh_size;
|
||||
while (l + sizeof (Elf_External_Options) <= lend)
|
||||
{
|
||||
Elf_Internal_Options intopt;
|
||||
|
||||
bfd_mips_elf_swap_options_in (abfd, (Elf_External_Options *) l,
|
||||
&intopt);
|
||||
if (intopt.kind == ODK_REGINFO)
|
||||
{
|
||||
bfd_byte buf[8];
|
||||
|
||||
if (bfd_seek (abfd,
|
||||
(hdr->sh_offset
|
||||
+ (l - contents)
|
||||
+ sizeof (Elf_External_Options)
|
||||
+ (sizeof (Elf64_External_RegInfo) - 8)),
|
||||
SEEK_SET) == -1)
|
||||
return false;
|
||||
bfd_h_put_64 (abfd, elf_gp (abfd), buf);
|
||||
if (bfd_write (buf, 1, 8, abfd) != 8)
|
||||
return false;
|
||||
}
|
||||
l += intopt.size;
|
||||
}
|
||||
}
|
||||
|
||||
return _bfd_mips_elf_section_processing (abfd, hdr);
|
||||
}
|
||||
|
||||
/* Irix 6 defines a brand new archive map format, so that they can
|
||||
have archives more than 4 GB in size. */
|
||||
|
||||
@ -2215,29 +2107,66 @@ const struct elf_size_info mips_elf64_size_info =
|
||||
#define TARGET_BIG_NAME "elf64-bigmips"
|
||||
#define ELF_ARCH bfd_arch_mips
|
||||
#define ELF_MACHINE_CODE EM_MIPS
|
||||
|
||||
#define ELF_MAXPAGESIZE 0x1000
|
||||
|
||||
#define elf_backend_collect true
|
||||
#define elf_backend_type_change_ok true
|
||||
#define elf_backend_can_gc_sections true
|
||||
#define elf_backend_size_info mips_elf64_size_info
|
||||
#define elf_backend_object_p _bfd_mips_elf_object_p
|
||||
#define elf_backend_section_from_shdr mips_elf64_section_from_shdr
|
||||
#define elf_backend_section_from_shdr _bfd_mips_elf_section_from_shdr
|
||||
#define elf_backend_fake_sections _bfd_mips_elf_fake_sections
|
||||
#define elf_backend_section_from_bfd_section \
|
||||
_bfd_mips_elf_section_from_bfd_section
|
||||
#define elf_backend_section_processing mips_elf64_section_processing
|
||||
#define elf_backend_section_processing _bfd_mips_elf_section_processing
|
||||
#define elf_backend_symbol_processing _bfd_mips_elf_symbol_processing
|
||||
#define elf_backend_additional_program_headers \
|
||||
_bfd_mips_elf_additional_program_headers
|
||||
#define elf_backend_modify_segment_map _bfd_mips_elf_modify_segment_map
|
||||
#define elf_backend_final_write_processing \
|
||||
_bfd_mips_elf_final_write_processing
|
||||
#define elf_backend_ecoff_debug_swap &mips_elf64_ecoff_debug_swap
|
||||
#define elf_backend_add_symbol_hook _bfd_mips_elf_add_symbol_hook
|
||||
#define elf_backend_create_dynamic_sections \
|
||||
_bfd_mips_elf_create_dynamic_sections
|
||||
#define elf_backend_check_relocs _bfd_mips_elf_check_relocs
|
||||
#define elf_backend_adjust_dynamic_symbol \
|
||||
_bfd_mips_elf_adjust_dynamic_symbol
|
||||
#define elf_backend_always_size_sections \
|
||||
_bfd_mips_elf_always_size_sections
|
||||
#define elf_backend_size_dynamic_sections \
|
||||
_bfd_mips_elf_size_dynamic_sections
|
||||
#define elf_backend_relocate_section _bfd_mips_elf_relocate_section
|
||||
#define elf_backend_link_output_symbol_hook \
|
||||
_bfd_mips_elf_link_output_symbol_hook
|
||||
#define elf_backend_finish_dynamic_symbol \
|
||||
_bfd_mips_elf_finish_dynamic_symbol
|
||||
#define elf_backend_finish_dynamic_sections \
|
||||
_bfd_mips_elf_finish_dynamic_sections
|
||||
#define elf_backend_gc_mark_hook _bfd_mips_elf_gc_mark_hook
|
||||
#define elf_backend_gc_sweep_hook _bfd_mips_elf_gc_sweep_hook
|
||||
#define elf_backend_got_header_size (4*MIPS_RESERVED_GOTNO)
|
||||
#define elf_backend_plt_header_size 0
|
||||
|
||||
/* We don't set bfd_elf64_bfd_is_local_label_name because the 32-bit
|
||||
MIPS-specific function only applies to IRIX5, which had no 64-bit
|
||||
ABI. */
|
||||
#define bfd_elf64_find_nearest_line _bfd_mips_elf_find_nearest_line
|
||||
#define bfd_elf64_get_reloc_upper_bound mips_elf64_get_reloc_upper_bound
|
||||
#define bfd_elf64_bfd_reloc_type_lookup mips_elf64_reloc_type_lookup
|
||||
#define bfd_elf64_set_section_contents _bfd_mips_elf_set_section_contents
|
||||
#define bfd_elf64_bfd_link_hash_table_create \
|
||||
_bfd_mips_elf_link_hash_table_create
|
||||
#define bfd_elf64_bfd_final_link _bfd_mips_elf_final_link
|
||||
#define bfd_elf64_bfd_copy_private_bfd_data \
|
||||
_bfd_mips_elf_copy_private_bfd_data
|
||||
#define bfd_elf64_bfd_merge_private_bfd_data \
|
||||
_bfd_mips_elf_merge_private_bfd_data
|
||||
#define bfd_elf64_bfd_set_private_flags _bfd_mips_elf_set_private_flags
|
||||
#define bfd_elf64_bfd_print_private_bfd_data \
|
||||
_bfd_mips_elf_print_private_bfd_data
|
||||
|
||||
#define bfd_elf64_get_reloc_upper_bound mips_elf64_get_reloc_upper_bound
|
||||
#define bfd_elf64_bfd_reloc_type_lookup mips_elf64_reloc_type_lookup
|
||||
#define bfd_elf64_archive_functions
|
||||
#define bfd_elf64_archive_slurp_armap mips_elf64_slurp_armap
|
||||
#define bfd_elf64_archive_slurp_extended_name_table \
|
||||
|
Loading…
Reference in New Issue
Block a user