elf_backend_data typedef
Alan Modra
amodra@gmail.com
Sun Jan 4 07:28:31 GMT 2026
"const struct elf_backend_data" appears many places in the source,
and in some cases makes a line too long without wrapping. This patch
introduces a "typedef const struct elf_backend_data elf_backend_data;"
and uses it throughout binutils sources, with a few exceptions for c++
use of header files.
diff --git a/bfd/bfd.c b/bfd/bfd.c
index 74bf117652e..d1d1df56451 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -2795,7 +2795,7 @@ is32bit (bfd *abfd)
{
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
return bed->s->elfclass == ELFCLASS32;
}
@@ -2947,9 +2947,7 @@ bfd_emul_get_commonpagesize (const char *emul)
if (target != NULL
&& target->flavour == bfd_target_elf_flavour)
{
- const struct elf_backend_data *bed;
-
- bed = xvec_get_elf_backend_data (target);
+ elf_backend_data *bed = xvec_get_elf_backend_data (target);
return bed->commonpagesize;
}
return 0;
@@ -3088,7 +3086,7 @@ bfd_group_signature (asection *group, asymbol **isympp)
ghdr = &elf_section_data (group)->this_hdr;
if (ghdr->sh_link == elf_onesymtab (abfd))
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
Elf_Internal_Shdr *symhdr = &elf_symtab_hdr (abfd);
if (ghdr->sh_info > 0
diff --git a/bfd/compress.c b/bfd/compress.c
index 4a73a2d26c4..48bf221baca 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -158,7 +158,7 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
case bfd_target_elf_flavour:
if ((abfd->flags & BFD_COMPRESS_GABI) != 0)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct bfd_elf_section_data * esd = elf_section_data (sec);
enum compression_type ch_type = (abfd->flags & BFD_COMPRESS_ZSTD
? ch_compress_zstd
@@ -225,7 +225,7 @@ bfd_check_compression_header (bfd *abfd, bfd_byte *contents,
&& (elf_section_flags (sec) & SHF_COMPRESSED) != 0)
{
Elf_Internal_Chdr chdr;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->s->elfclass == ELFCLASS32)
{
Elf32_External_Chdr *echdr = (Elf32_External_Chdr *) contents;
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index e4e2b467276..4c88add7bc7 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -6287,7 +6287,7 @@ _bfd_elf_find_function (bfd *abfd,
make a better choice of file name for local symbols by ignoring
file symbols appearing after a given local symbol. */
enum { nothing_seen, symbol_seen, file_after_symbol_seen } state;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
file = NULL;
state = nothing_seen;
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 717b0912bb8..efe40e10605 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1809,6 +1809,10 @@ struct elf_backend_data
unsigned use_mmap : 1;
};
+#ifndef __cplusplus
+typedef const struct elf_backend_data elf_backend_data;
+#endif
+
/* Information about reloc sections associated with a bfd_elf_section_data
structure. */
struct bfd_elf_section_reloc_data
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index f75daeaec2e..66a79ae9fb4 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -1871,7 +1871,7 @@ bool
_bfd_elf_write_section_eh_frame_entry (bfd *abfd, struct bfd_link_info *info,
asection *sec, bfd_byte *contents)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte cantunwind[8];
bfd_vma addr;
bfd_vma last_addr;
@@ -2417,7 +2417,7 @@ write_compact_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
struct elf_link_hash_table *htab;
struct eh_frame_hdr_info *hdr_info;
asection *sec;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_vma count;
bfd_byte contents[8];
unsigned int i;
diff --git a/bfd/elf-ifunc.c b/bfd/elf-ifunc.c
index eae1719a457..adb53cacc4d 100644
--- a/bfd/elf-ifunc.c
+++ b/bfd/elf-ifunc.c
@@ -35,7 +35,7 @@ _bfd_elf_create_ifunc_sections (bfd *abfd, struct bfd_link_info *info)
{
flagword flags, pltflags;
asection *s;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
if (htab->irelifunc != NULL || htab->iplt != NULL)
@@ -115,7 +115,7 @@ _bfd_elf_allocate_ifunc_dyn_relocs (struct bfd_link_info *info,
asection *plt, *gotplt, *relplt;
struct elf_dyn_relocs *p;
unsigned int sizeof_reloc;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_link_hash_table *htab;
/* If AVOID_PLT is TRUE, don't use PLT if possible. */
bool use_plt = !avoid_plt || h->plt.refcount > 0;
diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
index 3cdbafc921d..9988b3edcbb 100644
--- a/bfd/elf-m10300.c
+++ b/bfd/elf-m10300.c
@@ -689,7 +689,7 @@ _bfd_mn10300_elf_create_got_section (bfd * abfd,
flagword pltflags;
asection * s;
struct elf_link_hash_entry * h;
- const struct elf_backend_data * bed = get_elf_backend_data (abfd);
+ elf_backend_data * bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab;
int ptralign;
@@ -4788,7 +4788,7 @@ _bfd_mn10300_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
{
flagword flags;
asection * s;
- const struct elf_backend_data * bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf32_mn10300_link_hash_table *htab = elf32_mn10300_hash_table (info);
int ptralign = 0;
diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c
index ac02c43f161..988b7d0dd02 100644
--- a/bfd/elf-properties.c
+++ b/bfd/elf-properties.c
@@ -138,7 +138,7 @@ _bfd_elf_get_property (bfd *abfd, unsigned int type, unsigned int datasz)
bool
_bfd_elf_parse_gnu_properties (bfd *abfd, Elf_Internal_Note *note)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
unsigned int align_size = bed->s->elfclass == ELFCLASS64 ? 8 : 4;
bfd_byte *ptr = (bfd_byte *) note->descdata;
bfd_byte *ptr_end = ptr + note->descsz;
@@ -302,7 +302,7 @@ static bool
elf_merge_gnu_properties (struct bfd_link_info *info, bfd *abfd, bfd *bbfd,
elf_property *aprop, elf_property *bprop)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
unsigned int pr_type = aprop != NULL ? aprop->pr_type : bprop->pr_type;
unsigned int number;
bool updated;
@@ -725,8 +725,7 @@ _bfd_elf_link_setup_gnu_properties (struct bfd_link_info *info)
elf_property_list *list;
asection *sec;
bool has_properties = false;
- const struct elf_backend_data *bed
- = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
unsigned int elfclass = bed->s->elfclass;
int elf_machine_code = bed->elf_machine_code;
elf_property *p;
@@ -967,7 +966,7 @@ bfd_size_type
_bfd_elf_convert_gnu_property_size (bfd *ibfd, bfd *obfd)
{
unsigned int align_size;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
elf_property_list *list = elf_properties (ibfd);
bed = get_elf_backend_data (obfd);
@@ -987,7 +986,7 @@ _bfd_elf_convert_gnu_properties (bfd *ibfd, asection *isec,
unsigned int size;
bfd_byte *contents;
unsigned int align_shift;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
elf_property_list *list = elf_properties (ibfd);
bed = get_elf_backend_data (obfd);
diff --git a/bfd/elf-s390-common.c b/bfd/elf-s390-common.c
index b26f049670a..6edf208a7ea 100644
--- a/bfd/elf-s390-common.c
+++ b/bfd/elf-s390-common.c
@@ -118,7 +118,7 @@ s390_elf_create_ifunc_sections (bfd *abfd, struct bfd_link_info *info)
{
flagword flags;
asection *s;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
if (htab->iplt != NULL)
diff --git a/bfd/elf-vxworks.c b/bfd/elf-vxworks.c
index d01237e163c..e77cd9cc305 100644
--- a/bfd/elf-vxworks.c
+++ b/bfd/elf-vxworks.c
@@ -81,7 +81,7 @@ elf_vxworks_create_dynamic_sections (bfd *dynobj, struct bfd_link_info *info,
asection **srelplt2_out)
{
struct elf_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
asection *s;
htab = elf_hash_table (info);
@@ -153,7 +153,7 @@ elf_vxworks_emit_relocs (bfd *output_bfd,
Elf_Internal_Rela *internal_relocs,
struct elf_link_hash_entry **rel_hash)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
int j;
bed = get_elf_backend_data (output_bfd);
diff --git a/bfd/elf.c b/bfd/elf.c
index f327653e5f6..d2cf2bb4b9c 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -454,7 +454,7 @@ bfd_elf_get_elf_syms (bfd *ibfd,
Elf_Internal_Sym *alloc_intsym;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
size_t extsym_size;
size_t amt;
file_ptr pos;
@@ -895,7 +895,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
{
asection *newsect;
flagword flags;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int opb = bfd_octets_per_byte (abfd, NULL);
if (hdr->bfd_section != NULL)
@@ -1278,7 +1278,7 @@ copy_special_section_fields (const bfd *ibfd,
Elf_Internal_Shdr *oheader,
const unsigned int secnum)
{
- const struct elf_backend_data *bed = get_elf_backend_data (obfd);
+ elf_backend_data *bed = get_elf_backend_data (obfd);
const Elf_Internal_Shdr **iheaders
= (const Elf_Internal_Shdr **) elf_elfsections (ibfd);
bool changed = false;
@@ -1382,7 +1382,7 @@ _bfd_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
{
const Elf_Internal_Shdr **iheaders;
Elf_Internal_Shdr **oheaders;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int i;
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
@@ -1608,7 +1608,7 @@ _bfd_elf_print_private_bfd_data (bfd *abfd, void *farg)
const char *name = "";
char ab[20];
bool stringp;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
(*swap_dyn_in) (abfd, extdyn, &dyn);
@@ -1896,7 +1896,7 @@ _bfd_elf_get_dynamic_symbols (bfd *abfd, Elf_Internal_Phdr *phdr,
size_t verdef_size = 0;
size_t verneed_size = 0;
size_t extsym_size;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
void *dynbuf_addr = NULL;
void *esymbuf_addr = NULL;
size_t dynbuf_size = 0;
@@ -2422,7 +2422,7 @@ _bfd_elf_print_symbol (bfd *abfd,
{
const char *section_name;
const char *name = NULL;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned char st_other;
bfd_vma val;
const char *version_string;
@@ -2499,7 +2499,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
{
Elf_Internal_Shdr *hdr;
Elf_Internal_Ehdr *ehdr;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
const char *name;
bool ret = true;
@@ -3279,7 +3279,7 @@ _bfd_elf_get_sec_type_attr (bfd *abfd, asection *sec)
{
int i;
const struct bfd_elf_special_section *spec;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
/* See if this is one of the special sections. */
if (sec->name == NULL)
@@ -3315,7 +3315,7 @@ bool
_bfd_elf_new_section_hook (bfd *abfd, asection *sec)
{
struct bfd_elf_section_data *sdata;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
const struct bfd_elf_special_section *ssect;
sdata = (struct bfd_elf_section_data *) sec->used_by_bfd;
@@ -3462,7 +3462,7 @@ _bfd_elf_core_find_build_id (bfd *templ, bfd_vma offset)
bool
bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int hdr_index)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
switch (hdr->p_type)
{
@@ -3566,7 +3566,7 @@ _bfd_elf_init_reloc_shdr (bfd *abfd,
bool delay_sh_name_p)
{
Elf_Internal_Shdr *rel_hdr;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
BFD_ASSERT (reldata->hdr == NULL);
rel_hdr = bfd_zalloc (abfd, sizeof (*rel_hdr));
@@ -3615,7 +3615,7 @@ static void
elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
{
struct fake_section_arg *arg = (struct fake_section_arg *)fsarg;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct bfd_elf_section_data *esd = elf_section_data (asect);
Elf_Internal_Shdr *this_hdr;
unsigned int sh_type;
@@ -4089,7 +4089,7 @@ elf_get_reloc_section (asection *reloc_sec)
const char *name;
unsigned int type;
bfd *abfd;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
type = elf_section_data (reloc_sec)->this_hdr.sh_type;
if (type != SHT_REL && type != SHT_RELA)
@@ -4444,7 +4444,7 @@ static bool
sym_is_global (bfd *abfd, asymbol *sym)
{
/* If the backend has a special mapping, use it. */
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->elf_backend_sym_is_global)
return (*bed->elf_backend_sym_is_global) (abfd, sym);
@@ -4694,7 +4694,7 @@ bool
_bfd_elf_compute_section_file_positions (bfd *abfd,
struct bfd_link_info *link_info)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct fake_section_arg fsargs;
bool failed;
struct elf_strtab_hash *strtab = NULL;
@@ -4816,7 +4816,7 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
{
size_t segs;
asection *s;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
/* Assume we will need exactly two PT_LOAD segments: one for text
and one for data. */
@@ -5034,7 +5034,7 @@ elf_modify_segment_map (bfd *abfd,
bool remove_empty_load)
{
struct elf_segment_map **m;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
/* The placement algorithm assumes that non allocated sections are
not in PT_LOAD segments. We ensure this here by removing such
@@ -5091,7 +5091,7 @@ bfd_elf_map_sections_to_segments (bfd *abfd,
unsigned int count;
struct elf_segment_map *m;
asection **sections = NULL;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bool no_user_phdrs;
no_user_phdrs = elf_seg_map (abfd) == NULL;
@@ -5892,7 +5892,7 @@ static bool
assign_file_positions_for_load_sections (bfd *abfd,
struct bfd_link_info *link_info)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_segment_map *m;
struct elf_segment_map *phdr_load_seg;
Elf_Internal_Phdr *phdrs;
@@ -6599,7 +6599,7 @@ static bool
assign_file_positions_for_non_load_sections (bfd *abfd,
struct bfd_link_info *link_info)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
Elf_Internal_Shdr **i_shdrpp;
Elf_Internal_Shdr **hdrpp, **end_hdrpp;
Elf_Internal_Phdr *phdrs;
@@ -6864,7 +6864,7 @@ assign_file_positions_except_relocs (bfd *abfd,
{
struct elf_obj_tdata *tdata = elf_tdata (abfd);
Elf_Internal_Ehdr *i_ehdrp = elf_elfheader (abfd);
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
unsigned int alloc;
if ((abfd->flags & (EXEC_P | DYNAMIC)) == 0
@@ -7009,7 +7009,7 @@ _bfd_elf_init_file_header (bfd *abfd,
{
Elf_Internal_Ehdr *i_ehdrp; /* Elf file header, internal form. */
struct elf_strtab_hash *shstrtab;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
i_ehdrp = elf_elfheader (abfd);
@@ -7124,7 +7124,7 @@ _bfd_elf_assign_file_positions_for_non_load (bfd *abfd)
Elf_Internal_Shdr **shdrpp, **end_shdrpp;
Elf_Internal_Shdr *shdrp;
Elf_Internal_Ehdr *i_ehdrp;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
/* Skip non-load sections without section header. */
if ((abfd->flags & BFD_NO_SECTION_HEADER) != 0)
@@ -7219,7 +7219,7 @@ _bfd_elf_assign_file_positions_for_non_load (bfd *abfd)
bool
_bfd_elf_write_object_contents (bfd *abfd)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
Elf_Internal_Shdr **i_shdrp;
bool failed;
unsigned int count, num_sec;
@@ -7310,7 +7310,7 @@ _bfd_elf_write_corefile_contents (bfd *abfd)
unsigned int
_bfd_elf_section_from_bfd_section (bfd *abfd, struct bfd_section *asect)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int sec_index;
if (elf_section_data (asect) != NULL
@@ -7474,7 +7474,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd, bfd_vma maxpagesize)
bool p_paddr_valid;
struct elf_segment_map *phdr_adjust_seg = NULL;
unsigned int phdr_adjust_num = 0;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int opb = bfd_octets_per_byte (ibfd, NULL);
bed = get_elf_backend_data (ibfd);
@@ -8101,7 +8101,7 @@ elf_is_p_align_valid (bfd *abfd)
unsigned int i;
Elf_Internal_Phdr *segment;
unsigned int num_segments;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bfd_size_type maxpagesize = bed->maxpagesize;
bfd_size_type p_align = bed->p_align;
@@ -8326,7 +8326,7 @@ copy_private_bfd_data (bfd *ibfd, bfd *obfd)
asection * prev;
unsigned int i, num_segments;
Elf_Internal_Shdr *this_hdr;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bed = get_elf_backend_data (ibfd);
@@ -8724,7 +8724,7 @@ swap_out_syms (bfd *abfd,
int relocatable_p,
struct bfd_link_info *info)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int symcount;
asymbol **syms;
struct elf_strtab_hash *stt;
@@ -9204,7 +9204,7 @@ _bfd_elf_canonicalize_reloc (bfd *abfd,
{
arelent *tblptr;
unsigned int i;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (! bed->s->slurp_reloc_table (abfd, section, symbols, false))
return -1;
@@ -9221,7 +9221,7 @@ _bfd_elf_canonicalize_reloc (bfd *abfd,
long
_bfd_elf_canonicalize_symtab (bfd *abfd, asymbol **allocation)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
long symcount = bed->s->slurp_symbol_table (abfd, allocation, false);
if (symcount >= 0)
@@ -9233,7 +9233,7 @@ long
_bfd_elf_canonicalize_dynamic_symtab (bfd *abfd,
asymbol **allocation)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
long symcount = bed->s->slurp_symbol_table (abfd, allocation, true);
if (symcount >= 0)
@@ -10004,7 +10004,7 @@ _bfd_elf_find_inliner_info (bfd *abfd,
int
_bfd_elf_sizeof_headers (bfd *abfd, struct bfd_link_info *info)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
int ret = bed->s->sizeof_ehdr;
if (!bfd_link_relocatable (info))
@@ -11157,7 +11157,7 @@ elfcore_grok_win32pstatus (bfd *abfd, Elf_Internal_Note *note)
static bool
elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
/* Short cut for LINUX notes. */
if (note->namesz == 6 /* strlen (NOTE_NAME_LINUX) + 1 */
@@ -11484,7 +11484,7 @@ elfcore_grok_freebsd_prstatus (bfd *abfd, Elf_Internal_Note *note)
static bool
elfcore_grok_freebsd_note (bfd *abfd, Elf_Internal_Note *note)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
switch (note->type)
{
@@ -12139,7 +12139,7 @@ elfcore_write_prpsinfo (bfd *abfd,
const char *fname,
const char *psargs)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->elf_backend_write_core_note != NULL)
{
@@ -12248,7 +12248,7 @@ elfcore_write_prstatus (bfd *abfd,
int cursig,
const void *gregs)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->elf_backend_write_core_note != NULL)
{
@@ -12331,7 +12331,7 @@ elfcore_write_pstatus (bfd *abfd,
const void *gregs ATTRIBUTE_UNUSED)
{
#if defined (HAVE_PSTATUS32_T)
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->s->elfclass == ELFCLASS32)
{
@@ -13351,7 +13351,7 @@ _bfd_elf_section_offset (bfd *abfd,
if ((sec->flags & SEC_ELF_REVERSE_COPY) != 0)
{
/* Reverse the offset. */
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bfd_size_type address_size = bed->s->arch_size / 8;
/* address_size and sec->size are in octets. Convert
@@ -13371,7 +13371,7 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd,
asymbol **dynsyms,
asymbol **ret)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
asection *relplt;
asymbol *s;
const char *relplt_name;
@@ -13484,7 +13484,7 @@ bool
_bfd_elf_final_write_processing (bfd *abfd)
{
Elf_Internal_Ehdr *i_ehdrp = elf_elfheader (abfd);
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (i_ehdrp->e_ident[EI_OSABI] == ELFOSABI_NONE)
i_ehdrp->e_ident[EI_OSABI] = bed->elf_osabi;
@@ -13606,7 +13606,7 @@ _bfd_elf_slurp_secondary_reloc_section (bfd * abfd,
asymbol ** symbols,
bool dynamic)
{
- const struct elf_backend_data * const ebd = get_elf_backend_data (abfd);
+ elf_backend_data *ebd = get_elf_backend_data (abfd);
asection * relsec;
bool result = true;
bfd_vma (*r_sym) (bfd_vma);
@@ -13866,7 +13866,7 @@ _bfd_elf_copy_special_section_fields (const bfd *ibfd ATTRIBUTE_UNUSED,
bool
_bfd_elf_write_secondary_reloc_section (bfd *abfd, asection *sec)
{
- const struct elf_backend_data * const ebd = get_elf_backend_data (abfd);
+ elf_backend_data *ebd = get_elf_backend_data (abfd);
bfd_vma addr_offset;
asection * relsec;
bfd_vma (*r_info) (bfd_vma, bfd_vma);
@@ -14078,7 +14078,7 @@ static bool
elf_mmap_section_contents (bfd *abfd, sec_ptr sec, bfd_byte **buf)
{
#ifdef USE_MMAP
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->use_mmap
&& sec->compress_status == COMPRESS_SECTION_NONE
&& (sec->flags & SEC_LINKER_CREATED) == 0)
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index ea599413d22..9465efc5953 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -3787,16 +3787,11 @@ create_got_section (bfd *dynobj, struct bfd_link_info *info)
static bool
create_ifunc_sections (struct bfd_link_info *info)
{
- struct elf32_arm_link_hash_table *htab;
- const struct elf_backend_data *bed;
- bfd *dynobj;
+ struct elf32_arm_link_hash_table *htab = elf32_arm_hash_table (info);
+ bfd *dynobj = htab->root.dynobj;
+ elf_backend_data *bed = get_elf_backend_data (dynobj);
asection *s;
- flagword flags;
-
- htab = elf32_arm_hash_table (info);
- dynobj = htab->root.dynobj;
- bed = get_elf_backend_data (dynobj);
- flags = bed->dynamic_sec_flags;
+ flagword flags = bed->dynamic_sec_flags;
if (htab->root.iplt == NULL)
{
@@ -5915,7 +5910,7 @@ cmse_scan (bfd *input_bfd, struct elf32_arm_link_hash_table *htab,
obj_attribute *out_attr, struct elf_link_hash_entry **sym_hashes,
int *cmse_stub_created)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed = get_elf_backend_data (input_bfd);
Elf_Internal_Shdr *symtab_hdr;
unsigned i, j, sym_count, ext_start;
Elf_Internal_Sym *cmse_sym, *local_syms;
@@ -5927,7 +5922,6 @@ cmse_scan (bfd *input_bfd, struct elf32_arm_link_hash_table *htab,
struct elf32_arm_stub_hash_entry *stub_entry;
bool is_v8m, new_stub, cmse_invalid, ret = true;
- bed = get_elf_backend_data (input_bfd);
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
sym_count = symtab_hdr->sh_size / bed->s->sizeof_sym;
ext_start = symtab_hdr->sh_info;
@@ -15707,7 +15701,7 @@ elf32_arm_update_relocs (asection *o,
{
void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *);
void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *);
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
_arm_elf_section_data *eado;
struct bfd_link_order *p;
bfd_byte *erela_head, *erela;
@@ -15879,7 +15873,7 @@ elf32_arm_gc_mark_extra_sections (struct bfd_link_info *info,
obj_attribute *out_attr;
Elf_Internal_Shdr *symtab_hdr;
unsigned i, sym_count, ext_start;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_link_hash_entry **sym_hashes;
struct elf32_arm_link_hash_entry *cmse_hash;
bool again, is_v8m, first_bfd_browse = true;
@@ -17090,8 +17084,7 @@ elf32_arm_early_size_sections (bfd *output_bfd, struct bfd_link_info *info)
if (tlsbase)
{
struct bfd_link_hash_entry *bh = NULL;
- const struct elf_backend_data *bed
- = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
if (!(_bfd_generic_link_add_one_symbol
(info, output_bfd, "_TLS_MODULE_BASE_", BSF_LOCAL,
@@ -17604,7 +17597,7 @@ elf32_arm_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED,
/* Check relocation against STT_GNU_IFUNC symbol if there are
dynamic symbols. */
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
unsigned long r_symndx = ELF32_R_SYM (rela->r_info);
if (r_symndx != STN_UNDEF)
{
diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c
index e337f1d02d8..2662449c7eb 100644
--- a/bfd/elf32-bfin.c
+++ b/bfd/elf32-bfin.c
@@ -3188,7 +3188,7 @@ _bfin_create_got_section (bfd *abfd, struct bfd_link_info *info)
flagword flags, pltflags;
asection *s;
struct elf_link_hash_entry *h;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
int ptralign;
/* This function may be called more than once. */
@@ -3315,7 +3315,7 @@ elf32_bfinfdpic_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
elflink.c:_bfd_elf_create_dynamic_sections(). */
flagword flags;
asection *s;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
| SEC_LINKER_CREATED);
diff --git a/bfd/elf32-cr16.c b/bfd/elf32-cr16.c
index 046c6dc43a3..dda2e6874f9 100644
--- a/bfd/elf32-cr16.c
+++ b/bfd/elf32-cr16.c
@@ -582,7 +582,7 @@ _bfd_cr16_elf_create_got_section (bfd * abfd, struct bfd_link_info * info)
flagword flags;
asection * s;
struct elf_link_hash_entry * h;
- const struct elf_backend_data * bed = get_elf_backend_data (abfd);
+ elf_backend_data * bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
int ptralign;
@@ -2179,7 +2179,7 @@ _bfd_cr16_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
{
flagword flags;
asection * s;
- const struct elf_backend_data * bed = get_elf_backend_data (abfd);
+ elf_backend_data * bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
int ptralign = 0;
diff --git a/bfd/elf32-frv.c b/bfd/elf32-frv.c
index f0af7e15f49..6a0e2fd844d 100644
--- a/bfd/elf32-frv.c
+++ b/bfd/elf32-frv.c
@@ -4171,7 +4171,7 @@ _frv_create_got_section (bfd *abfd, struct bfd_link_info *info)
asection *s;
struct elf_link_hash_entry *h;
struct bfd_link_hash_entry *bh;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
int ptralign;
int offset;
@@ -4324,7 +4324,7 @@ elf32_frvfdpic_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
elflink.c:_bfd_elf_create_dynamic_sections(). */
flagword flags;
asection *s;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY
| SEC_LINKER_CREATED);
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index d1843f501d5..a367fd9f6f0 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -2091,7 +2091,7 @@ static bfd_vma
elf_i386_tpoff (struct bfd_link_info *info, bfd_vma address)
{
struct elf_link_hash_table *htab = elf_hash_table (info);
- const struct elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
bfd_vma static_tls_size;
/* If tls_sec is NULL, we should have signalled an error already. */
@@ -4095,7 +4095,7 @@ elf_i386_reloc_type_class (const struct bfd_link_info *info,
const Elf_Internal_Rela *rela)
{
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
if (htab->dynsym != NULL
diff --git a/bfd/elf32-lm32.c b/bfd/elf32-lm32.c
index 79f2d30dbd2..adf5a6ff226 100644
--- a/bfd/elf32-lm32.c
+++ b/bfd/elf32-lm32.c
@@ -2201,7 +2201,7 @@ lm32_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
struct elf_lm32_link_hash_table *htab;
flagword flags, pltflags;
asection *s;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
int ptralign = 2; /* 32bit */
htab = lm32_elf_hash_table (info);
diff --git a/bfd/elf32-m32r.c b/bfd/elf32-m32r.c
index 84f64beab5e..af8268b86ba 100644
--- a/bfd/elf32-m32r.c
+++ b/bfd/elf32-m32r.c
@@ -1534,7 +1534,7 @@ m32r_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
struct elf_link_hash_table *htab;
flagword flags, pltflags;
asection *s;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
int ptralign = 2; /* 32bit */
htab = m32r_elf_hash_table (info);
diff --git a/bfd/elf32-m68hc1x.c b/bfd/elf32-m68hc1x.c
index 2b99bbf4ab9..e90b307c8e4 100644
--- a/bfd/elf32-m68hc1x.c
+++ b/bfd/elf32-m68hc1x.c
@@ -935,7 +935,7 @@ elf32_m68hc11_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
Elf_Internal_Rela *rel, *relend;
const char *name = NULL;
struct m68hc11_page_info *pinfo;
- const struct elf_backend_data * const ebd = get_elf_backend_data (input_bfd);
+ elf_backend_data * const ebd = get_elf_backend_data (input_bfd);
struct m68hc11_elf_link_hash_table *htab;
unsigned long e_flags;
diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c
index f71d2ba54a2..d3d9a8e950a 100644
--- a/bfd/elf32-metag.c
+++ b/bfd/elf32-metag.c
@@ -1977,7 +1977,7 @@ elf_metag_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
struct elf_metag_link_hash_table *htab;
struct elf_link_hash_entry *eh;
struct bfd_link_hash_entry *bh;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
/* Don't try to create the .plt and .got twice. */
htab = metag_link_hash_table (info);
diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c
index 97f3fcb760b..f308f2f16e1 100644
--- a/bfd/elf32-nds32.c
+++ b/bfd/elf32-nds32.c
@@ -3794,7 +3794,7 @@ nds32_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
struct elf_nds32_link_hash_table *htab;
flagword flags, pltflags;
register asection *s;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
int ptralign = 2; /* 32-bit */
const char *secname;
char *relname;
diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c
index f1567eb748f..5aadc167709 100644
--- a/bfd/elf32-rx.c
+++ b/bfd/elf32-rx.c
@@ -3693,7 +3693,7 @@ rx_final_link (bfd * abfd, struct bfd_link_info * info)
static bool
elf32_rx_modify_headers (bfd *abfd, struct bfd_link_info *info)
{
- const struct elf_backend_data * bed;
+ elf_backend_data *bed;
struct elf_obj_tdata * tdata;
Elf_Internal_Phdr * phdr;
unsigned int count;
diff --git a/bfd/elf32-s390.c b/bfd/elf32-s390.c
index c879a42cf62..a47eb99b040 100644
--- a/bfd/elf32-s390.c
+++ b/bfd/elf32-s390.c
@@ -3577,7 +3577,7 @@ elf_s390_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED,
const Elf_Internal_Rela *rela)
{
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_s390_link_hash_table *htab = elf_s390_hash_table (info);
unsigned long r_symndx = ELF32_R_SYM (rela->r_info);
Elf_Internal_Sym sym;
diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c
index 1953873339d..49ff8105bfb 100644
--- a/bfd/elf32-score.c
+++ b/bfd/elf32-score.c
@@ -2407,7 +2407,7 @@ s3_bfd_score_elf_relocate_section (bfd *output_bfd,
if (bfd_link_pic (info))
{
asection * p;
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
for (p = output_bfd->sections; p ; p = p->next)
if ((p->flags & SEC_EXCLUDE) == 0
diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c
index 600be88be61..7219b364269 100644
--- a/bfd/elf32-score7.c
+++ b/bfd/elf32-score7.c
@@ -2249,7 +2249,7 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
if (bfd_link_pic (info))
{
asection * p;
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
for (p = output_bfd->sections; p ; p = p->next)
if ((p->flags & SEC_EXCLUDE) == 0
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index 246e725af85..28589600a0e 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -2343,7 +2343,7 @@ sh_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
struct elf_sh_link_hash_table *htab;
flagword flags, pltflags;
asection *s;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
int ptralign = 0;
switch (bed->s->arch_size)
diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c
index 37dc926d0de..421549a7a33 100644
--- a/bfd/elf32-sparc.c
+++ b/bfd/elf32-sparc.c
@@ -175,7 +175,7 @@ elf32_sparc_reloc_type_class (const struct bfd_link_info *info,
const Elf_Internal_Rela *rela)
{
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct _bfd_sparc_elf_link_hash_table *htab
= _bfd_sparc_elf_hash_table (info);
BFD_ASSERT (htab != NULL);
diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c
index ec9ac49f379..4a2af62e082 100644
--- a/bfd/elf32-spu.c
+++ b/bfd/elf32-spu.c
@@ -5353,7 +5353,7 @@ spu_elf_modify_headers (bfd *abfd, struct bfd_link_info *info)
{
if (info != NULL)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_obj_tdata *tdata;
Elf_Internal_Phdr *phdr, *last;
struct spu_link_hash_table *htab;
diff --git a/bfd/elf32-tic6x.c b/bfd/elf32-tic6x.c
index f2acb95ea60..c776f31092e 100644
--- a/bfd/elf32-tic6x.c
+++ b/bfd/elf32-tic6x.c
@@ -1721,7 +1721,7 @@ elf32_tic6x_finish_dynamic_symbol (bfd * output_bfd,
Elf_Internal_Rela rela;
bfd_byte *loc;
asection *plt, *gotplt, *relplt;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bed = get_elf_backend_data (output_bfd);
@@ -2101,7 +2101,7 @@ elf32_tic6x_rel_relocation_p (bfd *abfd, asection *sec,
const Elf_Internal_Rela *rel)
{
Elf_Internal_Shdr *rel_hdr;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
/* To determine which flavor of relocation this is, we depend on the
fact that the INPUT_SECTION's REL_HDR is read before RELA_HDR. */
diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c
index 1b03845684e..3b2e01757d5 100644
--- a/bfd/elf32-tilepro.c
+++ b/bfd/elf32-tilepro.c
@@ -1200,7 +1200,7 @@ tilepro_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
flagword flags;
asection *s, *s_got;
struct elf_link_hash_entry *h;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
/* This function may be called more than once. */
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 4b6b2d1e0f8..1faa884f1d8 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -1794,7 +1794,7 @@ elf_xtensa_early_size_sections (bfd *output_bfd, struct bfd_link_info *info)
{
struct elf_link_hash_entry *tlsbase = &htab->tlsbase->elf;
struct bfd_link_hash_entry *bh = &tlsbase->root;
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
tlsbase->type = STT_TLS;
if (!(_bfd_generic_link_add_one_symbol
diff --git a/bfd/elf64-ia64-vms.c b/bfd/elf64-ia64-vms.c
index 983750595cf..bdd1b5b9753 100644
--- a/bfd/elf64-ia64-vms.c
+++ b/bfd/elf64-ia64-vms.c
@@ -1263,7 +1263,7 @@ elf64_ia64_create_dynamic_sections (bfd *abfd,
struct elf64_ia64_link_hash_table *ia64_info;
asection *s;
flagword flags;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
ia64_info = elf64_ia64_hash_table (info);
if (ia64_info == NULL)
@@ -2772,7 +2772,7 @@ elf64_ia64_late_size_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
asection *dynsec;
asection *dynstrsec;
Elf_Internal_Dyn dyn;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int shl_num = 0;
bfd_vma fixups_off = 0;
bfd_vma strdyn_off;
@@ -4747,7 +4747,7 @@ elf64_vms_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
Elf_Internal_Sym *isymbuf = NULL;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_link_hash_table *htab;
bfd_size_type amt;
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index c20f784d802..2ff38adfd60 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -3808,7 +3808,7 @@ elf_s390_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED,
const Elf_Internal_Rela *rela)
{
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_s390_link_hash_table *htab = elf_s390_hash_table (info);
unsigned long r_symndx = ELF64_R_SYM (rela->r_info);
Elf_Internal_Sym sym;
diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c
index d249cbce6de..06c4e492ff8 100644
--- a/bfd/elf64-sparc.c
+++ b/bfd/elf64-sparc.c
@@ -251,7 +251,7 @@ elf64_sparc_canonicalize_reloc (bfd *abfd, sec_ptr section,
{
arelent *tblptr;
unsigned int i;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (! bed->s->slurp_reloc_table (abfd, section, symbols, false))
return -1;
@@ -803,7 +803,7 @@ elf64_sparc_reloc_type_class (const struct bfd_link_info *info,
const Elf_Internal_Rela *rela)
{
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct _bfd_sparc_elf_link_hash_table *htab
= _bfd_sparc_elf_hash_table (info);
BFD_ASSERT (htab != NULL);
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 4be86c3aa24..72a828a8c13 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -479,7 +479,7 @@ static char *
elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
int note_type, ...)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
va_list ap;
const char *fname, *psargs;
long pid;
@@ -3148,7 +3148,7 @@ static bfd_vma
elf_x86_64_tpoff (struct bfd_link_info *info, bfd_vma address)
{
struct elf_link_hash_table *htab = elf_hash_table (info);
- const struct elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
bfd_vma static_tls_size;
/* If tls_segment is NULL, we should have signalled an error already. */
@@ -5171,7 +5171,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Rela rela;
bfd_byte *loc;
asection *plt, *gotplt, *relplt, *resolved_plt;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_vma plt_got_pcrel_offset;
/* When building a static executable, use .iplt, .igot.plt and
@@ -5607,7 +5607,7 @@ elf_x86_64_reloc_type_class (const struct bfd_link_info *info,
const Elf_Internal_Rela *rela)
{
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_x86_link_hash_table *htab
= elf_x86_hash_table (info, X86_64_ELF_DATA);
@@ -6217,7 +6217,7 @@ static bfd *
elf_x86_64_link_setup_gnu_properties (struct bfd_link_info *info)
{
struct elf_x86_init_table init_table;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_x86_link_hash_table *htab;
if ((int) R_X86_64_standard >= (int) R_X86_64_converted_reloc_bit
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index 18c007ae36a..3fde79c9c53 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -410,11 +410,8 @@ elf_swap_phdr_out (bfd *abfd,
const Elf_Internal_Phdr *src,
Elf_External_Phdr *dst)
{
- const struct elf_backend_data *bed;
- bfd_vma p_paddr;
-
- bed = get_elf_backend_data (abfd);
- p_paddr = bed->want_p_paddr_set_to_zero ? 0 : src->p_paddr;
+ elf_backend_data *bed = get_elf_backend_data (abfd);
+ bfd_vma p_paddr = bed->want_p_paddr_set_to_zero ? 0 : src->p_paddr;
/* note that all elements of dst are *arrays of unsigned char* already... */
H_PUT_32 (abfd, src->p_type, dst->p_type);
@@ -527,7 +524,7 @@ elf_object_p (bfd *abfd)
Elf_Internal_Shdr i_shdr;
Elf_Internal_Shdr *i_shdrp; /* Section header table, internal form */
unsigned int shindex;
- const struct elf_backend_data *ebd;
+ elf_backend_data *ebd;
asection *s;
const bfd_target *target;
@@ -934,7 +931,7 @@ elf_object_p (bfd *abfd)
void
elf_write_relocs (bfd *abfd, asection *sec, void *data)
{
- const struct elf_backend_data * const bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bool *failedp = (bool *) data;
Elf_Internal_Shdr *rela_hdr;
bfd_vma addr_offset;
@@ -1252,7 +1249,7 @@ elf_slurp_symbol_table (bfd *abfd, asymbol **symptrs, bool dynamic)
Elf_Internal_Sym *isymbuf = NULL;
Elf_External_Versym *xver;
Elf_External_Versym *xverbuf = NULL;
- const struct elf_backend_data *ebd;
+ elf_backend_data *ebd;
size_t amt;
/* Read each raw ELF symbol, converting from external ELF form to
@@ -1548,7 +1545,7 @@ elf_slurp_reloc_table_from_section (bfd *abfd,
asymbol **symbols,
bool dynamic)
{
- const struct elf_backend_data * const ebd = get_elf_backend_data (abfd);
+ elf_backend_data *ebd = get_elf_backend_data (abfd);
void *allocated = NULL;
bfd_byte *native_relocs;
arelent *relent;
@@ -1646,7 +1643,7 @@ elf_slurp_reloc_table (bfd *abfd,
asymbol **symbols,
bool dynamic)
{
- const struct elf_backend_data * const bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct bfd_elf_section_data * const d = elf_section_data (asect);
Elf_Internal_Shdr *rel_hdr;
Elf_Internal_Shdr *rel_hdr2;
diff --git a/bfd/elfcore.h b/bfd/elfcore.h
index 5978ba768ba..c570479c2ac 100644
--- a/bfd/elfcore.h
+++ b/bfd/elfcore.h
@@ -90,7 +90,6 @@ elf_core_file_p (bfd *abfd)
Elf_Internal_Ehdr *i_ehdrp; /* Elf file header, internal form. */
Elf_Internal_Phdr *i_phdrp; /* Elf program header, internal form. */
unsigned int phindex;
- const struct elf_backend_data *ebd;
bfd_size_type amt;
ufile_ptr filesize;
@@ -140,7 +139,7 @@ elf_core_file_p (bfd *abfd)
elf_debug_file (i_ehdrp);
#endif
- ebd = get_elf_backend_data (abfd);
+ elf_backend_data *ebd = get_elf_backend_data (abfd);
/* Check that the ELF e_machine field matches what this particular
BFD format expects. */
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 3807da017fa..64c1a57b465 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -59,8 +59,7 @@ _bfd_elf_link_keep_memory (struct bfd_link_info *info)
https://sourceware.org/bugzilla/show_bug.cgi?id=31458
this is opt-in by each backend. */
- const struct elf_backend_data *bed
- = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
if (bed != NULL && bed->use_mmap)
return false;
#endif
@@ -192,7 +191,7 @@ _bfd_elf_define_linkage_sym (bfd *abfd,
{
struct elf_link_hash_entry *h;
struct bfd_link_hash_entry *bh;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
h = elf_link_hash_lookup (elf_hash_table (info), name, false, false, false);
if (h != NULL)
@@ -231,7 +230,7 @@ _bfd_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
flagword flags;
asection *s;
struct elf_link_hash_entry *h;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
/* This function may be called more than once. */
@@ -336,7 +335,7 @@ bfd_elf_link_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
{
flagword flags;
asection *s;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_link_hash_entry *h;
if (! is_elf_hash_table (info->hash))
@@ -469,7 +468,7 @@ _bfd_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
flagword flags, pltflags;
struct elf_link_hash_entry *h;
asection *s;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
/* We need to create .plt, .rel[a].plt, .got, .got.plt, .dynbss, and
@@ -710,7 +709,7 @@ bfd_elf_record_link_assignment (bfd *output_bfd,
{
struct elf_link_hash_entry *h, *hv;
struct elf_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
if (!is_elf_hash_table (info->hash))
return true;
@@ -1046,7 +1045,7 @@ _bfd_elf_link_renumber_dynsyms (bfd *output_bfd,
if (bfd_link_pic (info)
|| elf_hash_table (info)->is_relocatable_executable)
{
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
asection *p;
for (p = output_bfd->sections; p ; p = p->next)
if ((p->flags & SEC_EXCLUDE) == 0
@@ -1098,7 +1097,7 @@ elf_merge_st_other (bfd *abfd, struct elf_link_hash_entry *h,
unsigned int st_other, asection *sec,
bool definition, bool dynamic)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
/* If st_other has a processor-specific meaning, specific
code might be needed here. */
@@ -1160,7 +1159,7 @@ _bfd_elf_merge_symbol (bfd *abfd,
bfd *oldbfd;
bool newdyn, olddyn, olddef, newdef, newdyncommon, olddyncommon;
bool newweak, oldweak, newfunc, oldfunc;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
const char *new_version;
bool default_sym = *matched;
struct elf_link_hash_table *htab;
@@ -1961,7 +1960,7 @@ _bfd_elf_add_default_symbol (bfd *abfd,
char *shortname;
struct elf_link_hash_entry *hi;
struct bfd_link_hash_entry *bh;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bool collect;
bool dynamic;
bfd *override;
@@ -2602,8 +2601,7 @@ _bfd_elf_link_hide_sym_by_version (struct bfd_link_info *info,
{
const char *p;
bool hide = false;
- const struct elf_backend_data *bed
- = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
/* Version script only hides symbols defined in regular objects. */
if (!h->def_regular && !ELF_COMMON_DEF_P (h))
@@ -2655,7 +2653,7 @@ _bfd_elf_link_assign_sym_version (struct elf_link_hash_entry *h, void *data)
{
struct elf_info_failed *sinfo;
struct bfd_link_info *info;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_info_failed eif;
const char *p;
bool hide;
@@ -2799,7 +2797,7 @@ elf_link_read_relocs_from_section (bfd *abfd,
size_t *external_relocs_size,
Elf_Internal_Rela *internal_relocs)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *);
const bfd_byte *erela;
const bfd_byte *erelaend;
@@ -2903,7 +2901,7 @@ _bfd_elf_link_info_read_relocs (bfd *abfd,
void *alloc1 = NULL;
size_t alloc1_size;
Elf_Internal_Rela *alloc2 = NULL;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct bfd_elf_section_data *esdo = elf_section_data (o);
Elf_Internal_Rela *internal_rela_relocs;
@@ -3029,7 +3027,7 @@ _bfd_elf_link_output_relocs (bfd *output_bfd,
bfd_byte *erel;
struct bfd_elf_section_reloc_data *output_reldata;
asection *output_section;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *);
struct bfd_elf_section_data *esdo;
@@ -3105,7 +3103,7 @@ static bool
_bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *h,
struct elf_info_failed *eif)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
/* If this symbol was mentioned in a non-ELF file, try to set
DEF_REGULAR and REF_REGULAR correctly. This is the only way to
@@ -3271,7 +3269,7 @@ _bfd_elf_adjust_dynamic_symbol (struct elf_link_hash_entry *h, void *data)
{
struct elf_info_failed *eif = (struct elf_info_failed *) data;
struct elf_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
if (! is_elf_hash_table (eif->info->hash))
return false;
@@ -3485,7 +3483,7 @@ _bfd_elf_dynamic_symbol_p (struct elf_link_hash_entry *h,
bool not_local_protected)
{
bool binding_stays_local_p;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_link_hash_table *hash_table;
if (h == NULL)
@@ -3557,7 +3555,7 @@ _bfd_elf_symbol_refs_local_p (struct elf_link_hash_entry *h,
struct bfd_link_info *info,
bool local_protected)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_link_hash_table *hash_table;
/* If it's a local sym, of course we resolve locally. */
@@ -3656,7 +3654,7 @@ static bool
is_global_data_symbol_definition (bfd *abfd ATTRIBUTE_UNUSED,
Elf_Internal_Sym *sym)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
/* Local symbols do not count, but target specific ones might. */
if (ELF_ST_BIND (sym->st_info) != STB_GLOBAL
@@ -3796,7 +3794,7 @@ _bfd_elf_add_dynamic_entry (struct bfd_link_info *info,
bfd_vma val)
{
struct elf_link_hash_table *hash_table;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
asection *s;
bfd_size_type newsize;
bfd_byte *newcontents;
@@ -3834,7 +3832,7 @@ bool
_bfd_elf_strip_zero_sized_dynamic_sections (struct bfd_link_info *info)
{
struct elf_link_hash_table *hash_table;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
asection *s, *sdynamic, **pp;
asection *rela_dyn, *rel_dyn;
Elf_Internal_Dyn dyn;
@@ -3948,7 +3946,7 @@ bfd_elf_add_dt_needed_tag (bfd *abfd, struct bfd_link_info *info)
if (_bfd_elf_strtab_refcount (hash_table->dynstr, strindex) != 1)
{
asection *sdyn;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *extdyn;
bed = get_elf_backend_data (hash_table->dynobj);
@@ -4085,7 +4083,7 @@ elf_finalize_dynstr (bfd *output_bfd, struct bfd_link_info *info)
bfd *dynobj = hash_table->dynobj;
asection *sdyn;
bfd_size_type size;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *extdyn;
_bfd_elf_strtab_finalize (dynstr);
@@ -4225,7 +4223,7 @@ bool
_bfd_elf_relocs_compatible (const bfd_target *input,
const bfd_target *output)
{
- const struct elf_backend_data *obed, *ibed;
+ elf_backend_data *obed, *ibed;
if (input == output)
return true;
@@ -4260,7 +4258,7 @@ _bfd_elf_link_iterate_on_relocs
bool (*action) (bfd *, struct bfd_link_info *, asection *,
const Elf_Internal_Rela *))
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
/* If this object is the same format as the output object, and it is
@@ -4334,7 +4332,7 @@ _bfd_elf_link_iterate_on_relocs
bool
_bfd_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->check_relocs != NULL)
return _bfd_elf_link_iterate_on_relocs (abfd, info,
bed->check_relocs);
@@ -4424,7 +4422,7 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
Elf_Internal_Sym *isymbuf = NULL;
Elf_Internal_Sym *isym;
Elf_Internal_Sym *isymend;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bool add_needed;
struct elf_link_hash_table *htab;
void *alloc_mark = NULL;
@@ -6255,7 +6253,7 @@ elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
carsym *symdefs;
bool loop;
size_t amt;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct bfd_link_hash_entry * (*archive_symbol_lookup)
(bfd *, struct bfd_link_info *, const char *);
@@ -6516,7 +6514,7 @@ elf_collect_hash_codes (struct elf_link_hash_entry *h, void *data)
struct collect_gnu_hash_codes
{
bfd *output_bfd;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned long int nsyms;
unsigned long int maskbits;
unsigned long int *hashcodes;
@@ -6697,7 +6695,7 @@ compute_bucket_count (struct bfd_link_info *info ATTRIBUTE_UNUSED,
uint64_t best_chlen = ~((uint64_t) 0);
bfd *dynobj = elf_hash_table (info)->dynobj;
size_t dynsymcount = elf_hash_table (info)->dynsymcount;
- const struct elf_backend_data *bed = get_elf_backend_data (dynobj);
+ elf_backend_data *bed = get_elf_backend_data (dynobj);
unsigned long int *counts;
bfd_size_type amt;
unsigned int no_improvement_count = 0;
@@ -6937,7 +6935,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
asection **sinterpptr)
{
bfd *dynobj;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
*sinterpptr = NULL;
@@ -7879,7 +7877,7 @@ _bfd_elf_init_2_index_sections (bfd *output_bfd, struct bfd_link_info *info)
bool
bfd_elf_size_dynsym_hash_dynstr (bfd *output_bfd, struct bfd_link_info *info)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned long section_sym_count;
bfd_size_type dynsymcount = 0;
@@ -8368,7 +8366,7 @@ _bfd_elf_link_hide_symbol (bfd *output_bfd,
{
if (is_elf_hash_table (info->hash))
{
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
struct elf_link_hash_entry *eh = (struct elf_link_hash_entry *) h;
eh->def_dynamic = 0;
eh->ref_dynamic = 0;
@@ -8390,7 +8388,7 @@ _bfd_elf_link_hash_table_init
unsigned int entsize)
{
bool ret;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
int can_refcount = bed->can_refcount;
table->init_got_refcount.refcount = can_refcount - 1;
@@ -8733,7 +8731,7 @@ bfd_elf_match_symbols_in_sections (asection *sec1, asection *sec2,
struct bfd_link_info *info)
{
bfd *bfd1, *bfd2;
- const struct elf_backend_data *bed1, *bed2;
+ elf_backend_data *bed1, *bed2;
Elf_Internal_Shdr *hdr1, *hdr2;
size_t symcount1, symcount2;
Elf_Internal_Sym *isymbuf1, *isymbuf2;
@@ -9767,7 +9765,7 @@ elf_link_adjust_relocs (bfd *abfd,
struct bfd_link_info *info)
{
unsigned int i;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bfd_byte *erela;
void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *);
void (*swap_out) (bfd *, const Elf_Internal_Rela *, bfd_byte *);
@@ -10032,7 +10030,7 @@ elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec)
size_t i, ret, sort_elt, ext_size;
bfd_byte *sort, *s_non_relative, *p;
struct elf_link_sort_rela *sq;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
int i2e = bed->s->int_rels_per_ext_rel;
unsigned int opb = bfd_octets_per_byte (abfd, NULL);
void (*swap_in) (bfd *, const bfd_byte *, Elf_Internal_Rela *);
@@ -10341,7 +10339,7 @@ elf_link_output_symstrtab (void *finf,
(struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *,
struct elf_link_hash_entry *);
struct elf_link_hash_table *hash_table;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_size_type strtabsize;
BFD_ASSERT (elf_onesymtab (flinfo->output_bfd));
@@ -10465,7 +10463,7 @@ elf_link_swap_symbols_out (struct elf_final_link_info *flinfo)
struct elf_link_hash_table *hash_table = elf_hash_table (flinfo->info);
size_t amt;
size_t i;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *symbuf;
Elf_Internal_Shdr *hdr;
file_ptr pos;
@@ -10564,7 +10562,7 @@ check_dynsym (bfd *abfd, Elf_Internal_Sym *sym)
static bool
elf_link_check_versioned_symbol (struct bfd_link_info *info,
- const struct elf_backend_data *bed,
+ elf_backend_data *bed,
struct elf_link_hash_entry *h)
{
bfd *abfd;
@@ -10745,7 +10743,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data)
bool strip;
Elf_Internal_Sym sym;
asection *input_sec;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
long indx;
int ret;
unsigned int type;
@@ -11272,7 +11270,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data)
static bool
elf_section_ignore_discarded_relocs (asection *sec)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
switch (sec->sec_info_type)
{
@@ -11399,7 +11397,7 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
long *pindex;
asection **ppsection;
asection *o;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_link_hash_entry **sym_hashes;
bfd_size_type address_size;
bfd_vma r_type_mask;
@@ -12339,7 +12337,7 @@ elf_reloc_link_order (bfd *output_bfd,
struct bfd_elf_section_reloc_data *reldata;
struct elf_link_hash_entry **rel_hash_ptr;
Elf_Internal_Shdr *rel_hdr;
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
Elf_Internal_Rela irel[MAX_INT_RELS_PER_EXT_REL];
bfd_byte *erel;
unsigned int i;
@@ -12502,7 +12500,7 @@ elf_output_implib (bfd *abfd, struct bfd_link_info *info)
{
bool ret = false;
bfd *implib_bfd;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
flagword flags;
enum bfd_architecture arch;
unsigned int mach;
@@ -12650,7 +12648,7 @@ _bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
unsigned int i;
Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Shdr *symtab_shndx_hdr;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_outext_info eoinfo;
bool merged;
size_t relativecount;
@@ -13892,7 +13890,7 @@ static bool
init_reloc_cookie (struct elf_reloc_cookie *cookie, bfd *abfd)
{
Elf_Internal_Shdr *symtab_hdr;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bed = get_elf_backend_data (abfd);
symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
@@ -14402,7 +14400,7 @@ static bool
elf_gc_sweep (bfd *abfd, struct bfd_link_info *info)
{
bfd *sub;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
{
@@ -14491,7 +14489,7 @@ elf_gc_propagate_vtable_entries_used (struct elf_link_hash_entry *h, void *okp)
pu = h->u2.vtable->parent->u2.vtable->used;
if (pu != NULL)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int log_file_align;
bed = get_elf_backend_data (h->root.u.def.section->owner);
@@ -14523,7 +14521,7 @@ elf_gc_smash_unused_vtentry_relocs (struct elf_link_hash_entry *h,
asection *sec;
bfd_vma hstart, hend;
Elf_Internal_Rela *relstart, *relend, *rel;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int log_file_align;
struct link_info_ok *info = (struct link_info_ok *) ptr;
@@ -14666,7 +14664,7 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
bool ok = true;
bfd *sub;
elf_gc_mark_hook_fn gc_mark_hook;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab;
struct link_info_ok info_ok;
@@ -14782,7 +14780,7 @@ bfd_elf_gc_record_vtinherit (bfd *abfd,
struct elf_link_hash_entry **sym_hashes, **sym_hashes_end;
struct elf_link_hash_entry **search, *child;
size_t extsymcount;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
/* The sh_info field of the symtab header tells us where the
external symbols start. We don't care about the local symbols at
@@ -14842,7 +14840,7 @@ bfd_elf_gc_record_vtentry (bfd *abfd, asection *sec,
struct elf_link_hash_entry *h,
bfd_vma addend)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
unsigned int log_file_align = bed->s->log_file_align;
if (!h || addend > 1u << 28)
@@ -14951,7 +14949,7 @@ bfd_elf_lookup_section_flags (struct bfd_link_info *info,
if (!flaginfo->flags_initialized)
{
bfd *obfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (obfd);
+ elf_backend_data *bed = get_elf_backend_data (obfd);
struct flag_info_list *tf = flaginfo->flag_list;
int with_hex = 0;
int without_hex = 0;
@@ -15022,7 +15020,7 @@ elf_gc_allocate_got_offsets (struct elf_link_hash_entry *h, void *arg)
{
struct alloc_got_off_arg *gofarg = (struct alloc_got_off_arg *) arg;
bfd *obfd = gofarg->info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (obfd);
+ elf_backend_data *bed = get_elf_backend_data (obfd);
if (h->got.refcount > 0)
{
@@ -15043,7 +15041,7 @@ bfd_elf_gc_common_finalize_got_offsets (bfd *abfd,
struct bfd_link_info *info)
{
bfd *i;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bfd_vma gotoff;
struct alloc_got_off_arg gofarg;
@@ -15324,7 +15322,7 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
asection *s;
if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
@@ -15530,7 +15528,7 @@ _bfd_elf_default_got_elt_size (bfd *abfd,
bfd *ibfd ATTRIBUTE_UNUSED,
unsigned long symndx ATTRIBUTE_UNUSED)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
return bed->s->arch_size / 8;
}
@@ -15663,7 +15661,7 @@ _bfd_elf_copy_link_hash_symbol_type (bfd *abfd,
void
_bfd_elf_append_rela (bfd *abfd, asection *s, Elf_Internal_Rela *rel)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bfd_byte *loc = s->contents + (s->reloc_count++ * bed->s->sizeof_rela);
BFD_ASSERT (loc + bed->s->sizeof_rela <= s->contents + s->size);
bed->s->swap_reloca_out (abfd, rel, loc);
@@ -15674,7 +15672,7 @@ _bfd_elf_append_rela (bfd *abfd, asection *s, Elf_Internal_Rela *rel)
void
_bfd_elf_append_rel (bfd *abfd, asection *s, Elf_Internal_Rela *rel)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bfd_byte *loc = s->contents + (s->reloc_count++ * bed->s->sizeof_rel);
BFD_ASSERT (loc + bed->s->sizeof_rel <= s->contents + s->size);
bed->s->swap_reloc_out (abfd, rel, loc);
@@ -15711,8 +15709,7 @@ bfd_elf_define_start_stop (struct bfd_link_info *info,
if (symbol[0] == '.')
{
/* .startof. and .sizeof. symbols are local. */
- const struct elf_backend_data *bed;
- bed = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
(*bed->elf_backend_hide_symbol) (info, h, true);
}
else
@@ -15797,8 +15794,7 @@ _bfd_elf_add_dynamic_tags (bfd *output_bfd, struct bfd_link_info *info,
#define add_dynamic_entry(TAG, VAL) \
_bfd_elf_add_dynamic_entry (info, TAG, VAL)
- const struct elf_backend_data *bed
- = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
if (bfd_link_executable (info))
{
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index cf023360525..0e0200a47db 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -7766,7 +7766,7 @@ elfNN_aarch64_allocate_local_symbols (bfd *abfd, unsigned number)
static bool
aarch64_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
flagword flags;
asection *s;
struct elf_link_hash_entry *h;
@@ -8348,7 +8348,7 @@ elfNN_aarch64_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSE
/* Check relocation against STT_GNU_IFUNC symbol if there are
dynamic symbols. */
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
unsigned long r_symndx = ELFNN_R_SYM (rela->r_info);
if (r_symndx != STN_UNDEF)
{
@@ -9950,8 +9950,7 @@ elfNN_aarch64_early_size_sections (bfd *output_bfd,
if (tlsbase)
{
struct bfd_link_hash_entry *h = NULL;
- const struct elf_backend_data *bed =
- get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
if (!(_bfd_generic_link_add_one_symbol
(info, output_bfd, "_TLS_MODULE_BASE_", BSF_LOCAL,
diff --git a/bfd/elfnn-kvx.c b/bfd/elfnn-kvx.c
index bf41737f10b..e091c8c3a65 100644
--- a/bfd/elfnn-kvx.c
+++ b/bfd/elfnn-kvx.c
@@ -3141,7 +3141,7 @@ elfNN_kvx_allocate_local_symbols (bfd *abfd, unsigned number)
static bool
kvx_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
flagword flags;
asection *s;
struct elf_link_hash_entry *h;
@@ -4375,8 +4375,7 @@ elfNN_kvx_early_size_sections (bfd *output_bfd, struct bfd_link_info *info)
if (tlsbase)
{
struct bfd_link_hash_entry *h = NULL;
- const struct elf_backend_data *bed =
- get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
if (!(_bfd_generic_link_add_one_symbol
(info, output_bfd, "_TLS_MODULE_BASE_", BSF_LOCAL,
diff --git a/bfd/elfnn-loongarch.c b/bfd/elfnn-loongarch.c
index 539084fdfd6..1644416a2ef 100644
--- a/bfd/elfnn-loongarch.c
+++ b/bfd/elfnn-loongarch.c
@@ -614,7 +614,7 @@ loongarch_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
char *name;
asection *s, *s_got;
struct elf_link_hash_entry *h;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
/* This function may be called more than once. */
@@ -1866,7 +1866,7 @@ local_allocate_ifunc_dyn_relocs (struct bfd_link_info *info,
asection *plt, *gotplt, *relplt;
struct elf_dyn_relocs *p;
unsigned int sizeof_reloc;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_link_hash_table *htab;
/* If AVOID_PLT is TRUE, don't use PLT if possible. */
bool use_plt = !avoid_plt || h->plt.refcount > 0;
@@ -2896,7 +2896,7 @@ static void
loongarch_elf_append_rela (bfd *abfd, asection *s, Elf_Internal_Rela *rel)
{
BFD_ASSERT (s && s->contents);
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *loc;
bed = get_elf_backend_data (abfd);
@@ -6462,7 +6462,7 @@ loongarch_elf_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym)
{
struct loongarch_elf_link_hash_table *htab = loongarch_elf_hash_table (info);
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
if (h->plt.offset != MINUS_ONE)
{
@@ -6658,7 +6658,7 @@ loongarch_finish_dyn (bfd *output_bfd, struct bfd_link_info *info, bfd *dynobj,
asection *sdyn)
{
struct loongarch_elf_link_hash_table *htab = loongarch_elf_hash_table (info);
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
size_t dynsize = bed->s->sizeof_dyn, skipped_size = 0;
bfd_byte *dyncon, *dynconend;
@@ -6848,7 +6848,7 @@ loongarch_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED,
/* Check relocation against STT_GNU_IFUNC symbol if there are
dynamic symbols. */
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
unsigned long r_symndx = ELFNN_R_SYM (rela->r_info);
if (r_symndx != STN_UNDEF)
{
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index ddb300e2765..4447eea0682 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -291,7 +291,7 @@ riscv_info_to_howto_rela (bfd *abfd,
static void
riscv_elf_append_rela (bfd *abfd, asection *s, Elf_Internal_Rela *rel)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *loc;
bed = get_elf_backend_data (abfd);
@@ -728,7 +728,7 @@ riscv_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
flagword flags;
asection *s, *s_got;
struct elf_link_hash_entry *h;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
/* This function may be called more than once. */
@@ -2635,8 +2635,8 @@ riscv_elf_relocate_section (bfd *output_bfd,
relocs into .rela.iplt, since it may cause the
overwrite problems. This is same as what we did
in the riscv_elf_finish_dynamic_symbol. */
- const struct elf_backend_data *bed =
- get_elf_backend_data (output_bfd);
+ elf_backend_data *bed
+ = get_elf_backend_data (output_bfd);
bfd_vma iplt_idx = htab->last_iplt_index--;
bfd_byte *loc = htab->elf.irelplt->contents
+ iplt_idx * sizeof (ElfNN_External_Rela);
@@ -3448,7 +3448,7 @@ riscv_elf_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym)
{
struct riscv_elf_link_hash_table *htab = riscv_elf_hash_table (info);
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
if (h->plt.offset != (bfd_vma) -1)
{
@@ -3723,7 +3723,7 @@ riscv_finish_dyn (bfd *output_bfd, struct bfd_link_info *info,
bfd *dynobj, asection *sdyn)
{
struct riscv_elf_link_hash_table *htab = riscv_elf_hash_table (info);
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
size_t dynsize = bed->s->sizeof_dyn;
bfd_byte *dyncon, *dynconend;
@@ -3878,7 +3878,7 @@ riscv_reloc_type_class (const struct bfd_link_info *info,
/* Check relocation against STT_GNU_IFUNC symbol if there are
dynamic symbols. */
bfd *abfd = info->output_bfd;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
unsigned long r_symndx = ELFNN_R_SYM (rela->r_info);
if (r_symndx != STN_UNDEF)
{
diff --git a/bfd/elfxx-aarch64.c b/bfd/elfxx-aarch64.c
index 55415d3f594..a4846659fe9 100644
--- a/bfd/elfxx-aarch64.c
+++ b/bfd/elfxx-aarch64.c
@@ -705,9 +705,9 @@ typedef struct
} bfd_search_result_t;
static inline bool
-bfd_is_non_dynamic_elf_object (bfd *abfd, const struct elf_backend_data *out_be)
+bfd_is_non_dynamic_elf_object (bfd *abfd, elf_backend_data *out_be)
{
- const struct elf_backend_data *in_be = get_elf_backend_data (abfd);
+ elf_backend_data *in_be = get_elf_backend_data (abfd);
return bfd_get_flavour (abfd) == bfd_target_elf_flavour
&& bfd_count_sections (abfd) != 0
@@ -722,7 +722,7 @@ bfd_is_non_dynamic_elf_object (bfd *abfd, const struct elf_backend_data *out_be)
static bfd_search_result_t
bfd_linear_search_one_with_gnu_property (struct bfd_link_info *info)
{
- const struct elf_backend_data *be = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *be = get_elf_backend_data (info->output_bfd);
bfd_search_result_t res = {
.pbfd = NULL,
@@ -853,7 +853,7 @@ _bfd_aarch64_elf_check_gnu_properties_linked_dynamic_objects (
struct bfd_link_info * info,
const uint32_t outprop)
{
- const struct elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
const int elf_machine_code = bed->elf_machine_code;
const unsigned int elfclass = bed->s->elfclass;
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 84ba94c1cda..34f58c311c1 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -1743,7 +1743,7 @@ section_allows_mips16_refs_p (asection *section)
function, or 0 if we can't decide which function that is. */
static unsigned long
-mips16_stub_symndx (const struct elf_backend_data *bed,
+mips16_stub_symndx (elf_backend_data *bed,
asection *sec ATTRIBUTE_UNUSED,
const Elf_Internal_Rela *relocs,
const Elf_Internal_Rela *relend)
@@ -3979,9 +3979,8 @@ count_section_dynsyms (bfd *output_bfd, struct bfd_link_info *info)
if (bfd_link_pic (info))
{
asection *p;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
- bed = get_elf_backend_data (output_bfd);
for (p = output_bfd->sections; p ; p = p->next)
if ((p->flags & SEC_EXCLUDE) == 0
&& (p->flags & SEC_ALLOC) != 0
@@ -8263,7 +8262,7 @@ mips_elf_rel_relocation_p (bfd *abfd, asection *sec,
const Elf_Internal_Rela *rel)
{
Elf_Internal_Shdr *rel_hdr;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
/* To determine which flavor of relocation this is, we depend on the
fact that the INPUT_SECTION's REL_HDR is read before RELA_HDR. */
@@ -8501,7 +8500,7 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
asection *sreloc;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct mips_elf_link_hash_table *htab;
bfd_byte *contents;
bfd_vma addend;
@@ -10469,7 +10468,7 @@ mips_reloc_against_discarded_section (bfd *output_bfd,
reloc_howto_type *howto,
bfd_byte *contents)
{
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
int count = bed->s->int_rels_per_ext_rel;
unsigned int r_type;
int i;
@@ -14862,7 +14861,7 @@ _bfd_mips_elf_final_link (bfd *abfd, struct bfd_link_info *info)
Elf32_RegInfo reginfo;
struct ecoff_debug_info debug;
struct mips_htab_traverse_info hti;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
const struct ecoff_debug_swap *swap = bed->elf_backend_ecoff_debug_swap;
HDRR *symhdr = &debug.symbolic_header;
void *mdebug_handle = NULL;
@@ -16601,7 +16600,7 @@ _bfd_mips_elf_get_synthetic_symtab (bfd *abfd,
static const char mipssuffix[] = "@plt";
bool (*slurp_relocs) (bfd *, asection *, asymbol **, bool);
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bool micromips_p = MICROMIPS_P (abfd);
Elf_Internal_Shdr *hdr;
bfd_byte *plt_data;
diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c
index 1e3ecf87da1..d55dd04996f 100644
--- a/bfd/elfxx-sparc.c
+++ b/bfd/elfxx-sparc.c
@@ -750,7 +750,7 @@ sparc_put_word_64 (bfd *abfd, bfd_vma val, void *ptr)
static void
sparc_elf_append_rela (bfd *abfd, asection *s, Elf_Internal_Rela *rel)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *loc;
bed = get_elf_backend_data (abfd);
@@ -1242,7 +1242,7 @@ _bfd_sparc_elf_create_dynamic_sections (bfd *dynobj,
static bool
create_ifunc_sections (bfd *abfd, struct bfd_link_info *info)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
flagword flags, pltflags;
asection *s;
@@ -2711,7 +2711,7 @@ static bfd_vma
tpoff (struct bfd_link_info *info, bfd_vma address)
{
struct elf_link_hash_table *htab = elf_hash_table (info);
- const struct elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
bfd_vma static_tls_size;
/* If tls_sec is NULL, we should have signalled an error already. */
@@ -4223,7 +4223,7 @@ _bfd_sparc_elf_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Sym *sym)
{
struct _bfd_sparc_elf_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct _bfd_sparc_elf_link_hash_entry *eh;
bool resolved_to_zero;
@@ -4484,7 +4484,7 @@ sparc_finish_dyn (bfd *output_bfd, struct bfd_link_info *info,
asection *splt ATTRIBUTE_UNUSED)
{
struct _bfd_sparc_elf_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *dyncon, *dynconend;
size_t dynsize;
int stt_regidx = -1;
diff --git a/bfd/elfxx-tilegx.c b/bfd/elfxx-tilegx.c
index 9fcfc086322..fff2ef8ae44 100644
--- a/bfd/elfxx-tilegx.c
+++ b/bfd/elfxx-tilegx.c
@@ -1065,7 +1065,7 @@ static const tilegx_create_func reloc_to_create_func[] =
static void
tilegx_elf_append_rela (bfd *abfd, asection *s, Elf_Internal_Rela *rel)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *loc;
bed = get_elf_backend_data (abfd);
@@ -1413,7 +1413,7 @@ tilegx_elf_create_got_section (bfd *abfd, struct bfd_link_info *info)
flagword flags;
asection *s, *s_got;
struct elf_link_hash_entry *h;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_link_hash_table *htab = elf_hash_table (info);
/* This function may be called more than once. */
@@ -3786,7 +3786,7 @@ tilegx_elf_finish_dynamic_symbol (bfd *output_bfd,
Elf_Internal_Rela rela;
bfd_byte *loc;
bfd_vma r_offset;
- const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
int rela_index;
@@ -3918,7 +3918,7 @@ tilegx_finish_dyn (bfd *output_bfd, struct bfd_link_info *info,
asection *splt ATTRIBUTE_UNUSED)
{
struct tilegx_elf_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_byte *dyncon, *dynconend;
size_t dynsize;
diff --git a/bfd/elfxx-x86.c b/bfd/elfxx-x86.c
index df72acf08bf..36ba7919f47 100644
--- a/bfd/elfxx-x86.c
+++ b/bfd/elfxx-x86.c
@@ -53,7 +53,7 @@ _bfd_x86_elf_set_tls_module_base (struct bfd_link_info *info)
{
struct elf_x86_link_hash_table *htab;
struct bfd_link_hash_entry *base;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
if (!bfd_link_executable (info))
return;
@@ -95,7 +95,7 @@ elf_x86_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
struct elf_dyn_relocs *p;
unsigned int plt_entry_size;
bool resolved_to_zero;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
if (h->root.type == bfd_link_hash_indirect)
return true;
@@ -730,7 +730,7 @@ _bfd_x86_elf_link_hash_table_create (bfd *abfd)
return NULL;
}
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
if (bed->target_id == X86_64_ELF_DATA)
{
ret->is_reloc_section = elf_x86_64_is_reloc_section;
@@ -872,7 +872,7 @@ _bfd_x86_elf_link_check_relocs (bfd *abfd, struct bfd_link_info *info)
{
/* Check for __tls_get_addr reference. */
struct elf_x86_link_hash_table *htab;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
htab = elf_x86_hash_table (info, bed->target_id);
if (htab)
{
@@ -939,7 +939,7 @@ _bfd_x86_elf_check_relocs (bfd *abfd,
const Elf_Internal_Rela *rel;
const Elf_Internal_Rela *rel_end;
asection *sreloc;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bool is_x86_64;
if (bfd_link_relocatable (info))
@@ -1081,7 +1081,7 @@ _bfd_x86_elf_link_relax_section (bfd *abfd ATTRIBUTE_UNUSED,
Elf_Internal_Rela *irel, *irelend;
Elf_Internal_Sym *isymbuf = NULL;
struct elf_link_hash_entry **sym_hashes;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_x86_link_hash_table *htab;
bfd_vma *local_got_offsets;
bool is_x86_64;
@@ -1834,7 +1834,7 @@ _bfd_x86_elf_create_sframe_plt (bfd *output_bfd,
unsigned int plt_sec_type)
{
struct elf_x86_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int plt0_entry_size;
unsigned char func_info;
@@ -1982,7 +1982,7 @@ _bfd_x86_elf_write_sframe_plt (bfd *output_bfd,
unsigned int plt_sec_type)
{
struct elf_x86_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
sframe_encoder_ctx *ectx;
size_t sec_size;
asection *sec;
@@ -2033,7 +2033,7 @@ _bfd_elf_x86_size_relative_relocs (struct bfd_link_info *info,
bool *need_layout)
{
struct elf_x86_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bool is_x86_64;
bfd_size_type i, count, unaligned_count;
asection *sec, *srel;
@@ -2135,7 +2135,7 @@ bool
_bfd_elf_x86_finish_relative_relocs (struct bfd_link_info *info)
{
struct elf_x86_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
Elf_Internal_Rela outrel;
bool is_x86_64;
bfd_size_type count;
@@ -2202,7 +2202,7 @@ _bfd_elf_x86_valid_reloc_p (asection *input_section,
if (bfd_link_pic (info)
&& (h == NULL || SYMBOL_REFERENCES_LOCAL (info, h)))
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int r_type;
Elf_Internal_Rela irel;
@@ -2288,8 +2288,7 @@ _bfd_x86_elf_late_size_sections (bfd *output_bfd,
asection *s;
bool relocs;
bfd *ibfd;
- const struct elf_backend_data *bed
- = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
htab = elf_x86_hash_table (info, bed->target_id);
if (htab == NULL)
@@ -2770,7 +2769,7 @@ _bfd_x86_elf_finish_dynamic_sections (bfd *output_bfd,
bfd_byte *buf)
{
struct elf_x86_link_hash_table *htab;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd *dynobj;
asection *sdyn;
bfd_byte *dyncon, *dynconend;
@@ -3107,8 +3106,7 @@ _bfd_x86_elf_early_size_sections (bfd *output_bfd,
{
struct elf_x86_link_hash_table *htab;
struct bfd_link_hash_entry *bh = NULL;
- const struct elf_backend_data *bed
- = get_elf_backend_data (output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (output_bfd);
htab = elf_x86_hash_table (info, bed->target_id);
if (htab == NULL)
@@ -3306,7 +3304,7 @@ _bfd_x86_elf_link_report_tls_transition_error
enum elf_x86_tls_error_type tls_error)
{
const char *name;
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_x86_link_hash_table *htab
= elf_x86_hash_table (info, bed->target_id);
@@ -3427,8 +3425,7 @@ _bfd_x86_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
asection *s, *srel;
struct elf_x86_link_hash_entry *eh;
struct elf_dyn_relocs *p;
- const struct elf_backend_data *bed
- = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
eh = (struct elf_x86_link_hash_entry *) h;
@@ -3793,7 +3790,7 @@ _bfd_x86_elf_get_synthetic_symtab (bfd *abfd,
long dynrelcount;
arelent **dynrelbuf, *p;
char *names;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_vma (*get_plt_got_vma) (struct elf_x86_plt *, bfd_vma, bfd_vma,
bfd_vma);
bool (*valid_plt_reloc_p) (unsigned int);
@@ -4040,7 +4037,7 @@ _bfd_x86_elf_merge_gnu_properties (struct bfd_link_info *info,
{
unsigned int number, features;
bool updated = false;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
struct elf_x86_link_hash_table *htab;
unsigned int pr_type = aprop != NULL ? aprop->pr_type : bprop->pr_type;
@@ -4278,7 +4275,7 @@ _bfd_x86_elf_link_setup_gnu_properties
bfd *pbfd;
bfd *ebfd = NULL;
elf_property *prop;
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
unsigned int class_align = ABI_64_P (info->output_bfd) ? 3 : 2;
unsigned int got_align;
@@ -4986,8 +4983,7 @@ void
bfd_elf_linker_x86_set_options (struct bfd_link_info *info,
struct elf_linker_x86_params *params)
{
- const struct elf_backend_data *bed
- = get_elf_backend_data (info->output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (info->output_bfd);
struct elf_x86_link_hash_table *htab
= elf_x86_hash_table (info, bed->target_id);
if (htab != NULL)
diff --git a/binutils/addr2line.c b/binutils/addr2line.c
index 4842277df82..141a7099de4 100644
--- a/binutils/addr2line.c
+++ b/binutils/addr2line.c
@@ -314,7 +314,7 @@ translate_addresses (bfd *abfd, asection *section)
pc = bfd_scan_vma (adr, NULL, 16);
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
bfd_vma sign = (bfd_vma) 1 << (bed->s->arch_size - 1);
pc &= (sign << 1) - 1;
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 040b34ccae4..ebd2a85c0f6 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -2816,7 +2816,7 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch)
&& bfd_get_flavour (ibfd) != bfd_target_elf_flavour
&& bfd_get_flavour (obfd) == bfd_target_elf_flavour)
{
- const struct elf_backend_data *bed = get_elf_backend_data (obfd);
+ elf_backend_data *bed = get_elf_backend_data (obfd);
iarch = bed->arch;
imach = 0;
}
diff --git a/binutils/objdump.c b/binutils/objdump.c
index 6564603c376..1fb944909a0 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -3746,7 +3746,7 @@ disassemble_bytes (struct disassemble_info *inf,
static void
disassemble_section (bfd *abfd, asection *section, void *inf)
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed;
bfd_vma sign_adjust = 0;
struct disassemble_info *pinfo = (struct disassemble_info *) inf;
struct objdump_disasm_info *paux;
@@ -5689,7 +5689,7 @@ might_need_separate_debug_info (bool is_mainfile)
static void
dump_bfd (bfd *abfd, bool is_mainfile)
{
- const struct elf_backend_data * bed;
+ elf_backend_data *bed;
if (bfd_big_endian (abfd))
byte_get = byte_get_big_endian;
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 689d5cee45e..579c1df2dc3 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -582,7 +582,6 @@ change_section (const char *name,
asection *old_sec;
segT sec;
flagword flags;
- const struct elf_backend_data *bed;
const struct bfd_elf_special_section *ssect;
if (match_p == NULL)
@@ -628,7 +627,7 @@ change_section (const char *name,
group_section_insert (match_p, sec, &group_idx);
}
- bed = get_elf_backend_data (stdoutput);
+ elf_backend_data *bed = get_elf_backend_data (stdoutput);
ssect = (*bed->get_sec_type_attr) (stdoutput, sec);
if (ssect != NULL)
@@ -1274,7 +1273,7 @@ obj_elf_section (int push)
return;
}
- const struct elf_backend_data *bed = get_elf_backend_data (stdoutput);
+ elf_backend_data *bed = get_elf_backend_data (stdoutput);
bool maybe_gnu = (bed->elf_osabi == ELFOSABI_NONE
|| bed->elf_osabi == ELFOSABI_GNU
|| bed->elf_osabi == ELFOSABI_FREEBSD);
@@ -2342,9 +2341,7 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED)
|| strcmp (type_name, "10") == 0
|| strcmp (type_name, "STT_GNU_IFUNC") == 0)
{
- const struct elf_backend_data *bed;
-
- bed = get_elf_backend_data (stdoutput);
+ elf_backend_data *bed = get_elf_backend_data (stdoutput);
if (bed->elf_osabi != ELFOSABI_NONE
&& bed->elf_osabi != ELFOSABI_GNU
&& bed->elf_osabi != ELFOSABI_FREEBSD)
@@ -2359,9 +2356,7 @@ obj_elf_type (int ignore ATTRIBUTE_UNUSED)
}
else if (strcmp (type_name, "gnu_unique_object") == 0)
{
- const struct elf_backend_data *bed;
-
- bed = get_elf_backend_data (stdoutput);
+ elf_backend_data *bed = get_elf_backend_data (stdoutput);
if (bed->elf_osabi != ELFOSABI_NONE
&& bed->elf_osabi != ELFOSABI_GNU)
as_bad (_("symbol type \"%s\" is supported only by GNU targets"),
diff --git a/ld/emultempl/vms.em b/ld/emultempl/vms.em
index 46fe618b505..5b1a54b699d 100644
--- a/ld/emultempl/vms.em
+++ b/ld/emultempl/vms.em
@@ -188,15 +188,12 @@ fragment <<EOF
static void
gld${EMULATION_NAME}_before_allocation (void)
{
- const struct elf_backend_data *bed;
-
if (!is_elf_hash_table (link_info.hash))
return;
- bed = get_elf_backend_data (link_info.output_bfd);
-
/* The backend must work out the sizes of all the other dynamic
sections. */
+ elf_backend_data *bed = get_elf_backend_data (link_info.output_bfd);
if (bed->elf_backend_late_size_sections
&& !bed->elf_backend_late_size_sections (link_info.output_bfd,
&link_info))
diff --git a/ld/ldelf.c b/ld/ldelf.c
index 25e9d68ae62..a67f540b2df 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
@@ -1388,9 +1388,7 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd,
}
if (elfbfd)
{
- const struct elf_backend_data *bed;
-
- bed = get_elf_backend_data (elfbfd);
+ elf_backend_data *bed = get_elf_backend_data (elfbfd);
s = bfd_make_section_with_flags (elfbfd, ".eh_frame_hdr",
bed->dynamic_sec_flags
| SEC_READONLY);
@@ -1436,7 +1434,7 @@ id_note_section_size (bfd *abfd ATTRIBUTE_UNUSED)
static bool
write_build_id (bfd *abfd)
{
- const struct elf_backend_data *bed = get_elf_backend_data (abfd);
+ elf_backend_data *bed = get_elf_backend_data (abfd);
struct elf_obj_tdata *t = elf_tdata (abfd);
const char *style;
asection *asec;
diff --git a/ld/ldelfgen.c b/ld/ldelfgen.c
index 69b02062ef6..022b9d0160f 100644
--- a/ld/ldelfgen.c
+++ b/ld/ldelfgen.c
@@ -333,8 +333,7 @@ ldelf_map_segments (bool need_layout)
{
/* If we don't have user supplied phdrs, strip zero-sized dynamic
sections and regenerate program headers. */
- const struct elf_backend_data *bed
- = get_elf_backend_data (link_info.output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (link_info.output_bfd);
if (bed->elf_backend_strip_zero_sized_dynamic_sections
&& !bed->elf_backend_strip_zero_sized_dynamic_sections (&link_info))
fatal (_("%P: failed to strip zero-sized dynamic sections\n"));
diff --git a/ld/ldlang.c b/ld/ldlang.c
index d126ef22755..76a6c621dcb 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -7175,11 +7175,10 @@ undef_start_stop (struct bfd_link_hash_entry *h)
h->u.undef.abfd = NULL;
if (is_elf_hash_table (link_info.hash))
{
- const struct elf_backend_data *bed;
+ elf_backend_data *bed = get_elf_backend_data (link_info.output_bfd);
struct elf_link_hash_entry *eh = (struct elf_link_hash_entry *) h;
unsigned int was_forced = eh->forced_local;
- bed = get_elf_backend_data (link_info.output_bfd);
(*bed->elf_backend_hide_symbol) (&link_info, eh, true);
if (!eh->ref_regular_nonweak)
h->type = bfd_link_hash_undefweak;
@@ -7284,8 +7283,7 @@ lang_symbol_tweaks (void)
|| h->root.type == bfd_link_hash_undefweak
|| h->root.type == bfd_link_hash_common))
{
- const struct elf_backend_data *bed;
- bed = get_elf_backend_data (link_info.output_bfd);
+ elf_backend_data *bed = get_elf_backend_data (link_info.output_bfd);
(*bed->elf_backend_hide_symbol) (&link_info, h, true);
if (ELF_ST_VISIBILITY (h->other) != STV_INTERNAL)
h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_HIDDEN;
--
Alan Modra
More information about the Binutils
mailing list