mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 04:29:49 +00:00
Make bfd.link_next field a union
This field of struct bfd is currently only used to chain together linker input files. This patch prepares to use the field to stash the linker hash table, which is always created on the linker output file. bfd/ * bfd.c (struct bfd): Replace link_next with a union. * aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c, * ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c, * elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c, * elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c, * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c, * elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c, * elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c, * sunos.c, * vms-alpha.c, * xcofflink.c: Update for above. * bfd-in2.h: Regenerate. include/ * bfdlink.h: Update for bfd.link_next change. ld/ * emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em, * emultempl/m68kcoff.em, * emultempl/m68kelf.em, * emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em, * ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change.
This commit is contained in:
parent
07cccc39f3
commit
c72f2fb2bb
@ -1,3 +1,21 @@
|
||||
2014-06-13 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* bfd.c (struct bfd): Replace link_next with a union.
|
||||
* aoutx.h, * bfd.c, * coff-ppc.c, * coff-rs6000.c, * cofflink.c,
|
||||
* ecoff.c, * elf-m10300.c, * elf32-arm.c, * elf32-avr.c,
|
||||
* elf32-hppa.c, * elf32-i386.c, * elf32-lm32.c, * elf32-m32c.c,
|
||||
* elf32-m32r.c, * elf32-m68hc1x.c, * elf32-metag.c,
|
||||
* elf32-microblaze.c, * elf32-nds32.c, * elf32-nios2.c,
|
||||
* elf32-or1k.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
|
||||
* elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-spu.c,
|
||||
* elf32-tic6x.c, * elf32-tilepro.c, * elf32-xstormy16.c,
|
||||
* elf32-xtensa.c, * elf64-alpha.c, * elf64-hppa.c, * elf64-ia64-vms.c,
|
||||
* elf64-mmix.c, * elf64-ppc.c, * elf64-s390.c, * elf64-x86-64.c,
|
||||
* elflink.c, * elfnn-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
|
||||
* elfxx-tilegx.c, * linker.c, * pdp11.c, * peXXigen.c, * simple.c,
|
||||
* sunos.c, * vms-alpha.c, * xcofflink.c: Update for above.
|
||||
* bfd-in2.h: Regenerate.
|
||||
|
||||
2014-06-11 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* linker.c (unwrap_hash_lookup): Add missing parens.
|
||||
|
@ -5309,7 +5309,7 @@ aout_link_input_bfd (struct aout_final_link_info *flaginfo, bfd *input_bfd)
|
||||
|
||||
/* Do the final link step. This is called on the output BFD. The
|
||||
INFO structure should point to a list of BFDs linked through the
|
||||
link_next field which can be used to find each BFD which takes part
|
||||
link.next field which can be used to find each BFD which takes part
|
||||
in the output. Also, each section in ABFD should point to a list
|
||||
of bfd_link_order structures which list all the input sections for
|
||||
the output section. */
|
||||
@ -5356,7 +5356,7 @@ NAME (aout, final_link) (bfd *abfd,
|
||||
max_contents_size = 0;
|
||||
max_relocs_size = 0;
|
||||
max_sym_count = 0;
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
bfd_size_type sz;
|
||||
|
||||
@ -5495,7 +5495,7 @@ NAME (aout, final_link) (bfd *abfd,
|
||||
|
||||
We use the output_has_begun field of the input BFDs to see
|
||||
whether we have already handled it. */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
sub->output_has_begun = FALSE;
|
||||
|
||||
/* Mark all sections which are to be included in the link. This
|
||||
|
@ -6394,8 +6394,12 @@ struct bfd
|
||||
struct bfd *nested_archives; /* List of nested archive in a flattened
|
||||
thin archive. */
|
||||
|
||||
/* A chain of BFD structures involved in a link. */
|
||||
struct bfd *link_next;
|
||||
union {
|
||||
/* For input BFDs, a chain of BFDs involved in a link. */
|
||||
struct bfd *next;
|
||||
/* For output BFD, the linker hash table. */
|
||||
struct bfd_link_hash_table *hash;
|
||||
} link;
|
||||
|
||||
/* A field used by _bfd_generic_link_add_archive_symbols. This will
|
||||
be used only for archive elements. */
|
||||
|
@ -219,8 +219,12 @@ CODE_FRAGMENT
|
||||
. struct bfd *nested_archives; {* List of nested archive in a flattened
|
||||
. thin archive. *}
|
||||
.
|
||||
. {* A chain of BFD structures involved in a link. *}
|
||||
. struct bfd *link_next;
|
||||
. union {
|
||||
. {* For input BFDs, a chain of BFDs involved in a link. *}
|
||||
. struct bfd *next;
|
||||
. {* For output BFD, the linker hash table. *}
|
||||
. struct bfd_link_hash_table *hash;
|
||||
. } link;
|
||||
.
|
||||
. {* A field used by _bfd_generic_link_add_archive_symbols. This will
|
||||
. be used only for archive elements. *}
|
||||
|
@ -2149,7 +2149,7 @@ ppc_bfd_coff_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
the opportunity to clear the output_has_begun fields of all the
|
||||
input BFD's. */
|
||||
max_sym_count = 0;
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
bfd_size_type sz;
|
||||
|
||||
|
@ -2608,7 +2608,7 @@ _bfd_xcoff_sizeof_headers (bfd *abfd,
|
||||
return -1;
|
||||
|
||||
/* Sum. */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
for (s = sub->sections; s != NULL; s = s->next)
|
||||
{
|
||||
struct nbr_reloc_lineno *e = &n_rl[s->output_section->index];
|
||||
|
@ -860,7 +860,7 @@ _bfd_coff_final_link (bfd *abfd,
|
||||
the opportunity to clear the output_has_begun fields of all the
|
||||
input BFD's. */
|
||||
max_sym_count = 0;
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
size_t sz;
|
||||
|
||||
@ -945,7 +945,7 @@ _bfd_coff_final_link (bfd *abfd,
|
||||
if (flaginfo.info->strip != strip_all && flaginfo.info->discard != discard_all)
|
||||
{
|
||||
/* Add local symbols from foreign inputs. */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
|
@ -4447,7 +4447,7 @@ _bfd_ecoff_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
/* Accumulate the debugging symbols from each input BFD. */
|
||||
for (input_bfd = info->input_bfds;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
bfd_boolean ret;
|
||||
|
||||
|
@ -2679,7 +2679,7 @@ mn10300_elf_relax_section (bfd *abfd,
|
||||
/* Iterate over all the input bfds. */
|
||||
for (input_bfd = link_info->input_bfds;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
/* We're going to need all the symbols for each bfd. */
|
||||
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
|
||||
@ -3022,7 +3022,7 @@ mn10300_elf_relax_section (bfd *abfd,
|
||||
a "call" instruction. */
|
||||
for (input_bfd = link_info->input_bfds;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
/* We're going to need all the local symbols for each bfd. */
|
||||
symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
|
||||
|
@ -4436,7 +4436,7 @@ elf32_arm_setup_section_lists (bfd *output_bfd,
|
||||
/* Count the number of input BFDs and find the top input section id. */
|
||||
for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
bfd_count += 1;
|
||||
for (section = input_bfd->sections;
|
||||
@ -5045,7 +5045,7 @@ elf32_arm_size_stubs (bfd *output_bfd,
|
||||
num_a8_fixes = 0;
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
asection *section;
|
||||
@ -10911,7 +10911,7 @@ elf32_arm_fix_exidx_coverage (asection **text_section_order,
|
||||
|
||||
/* Walk over all EXIDX sections, and create backlinks from the corrsponding
|
||||
text sections. */
|
||||
for (inp = info->input_bfds; inp != NULL; inp = inp->link_next)
|
||||
for (inp = info->input_bfds; inp != NULL; inp = inp->link.next)
|
||||
{
|
||||
asection *sec;
|
||||
|
||||
@ -12991,7 +12991,7 @@ elf32_arm_gc_mark_extra_sections (struct bfd_link_info *info,
|
||||
while (again)
|
||||
{
|
||||
again = FALSE;
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *o;
|
||||
|
||||
@ -13729,7 +13729,7 @@ elf32_arm_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
@ -13906,7 +13906,7 @@ elf32_arm_size_dynamic_sections (bfd * output_bfd ATTRIBUTE_UNUSED,
|
||||
elf_link_hash_traverse (& htab->root, allocate_dynrelocs_for_symbol, info);
|
||||
|
||||
/* Here we rummage through the found bfds to collect glue information. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
if (! is_arm_elf (ibfd))
|
||||
continue;
|
||||
@ -15072,7 +15072,7 @@ elf32_arm_output_arch_local_syms (bfd *output_bfd,
|
||||
mapping symbols. */
|
||||
for (input_bfd = info->input_bfds;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
if ((input_bfd->flags & (BFD_LINKER_CREATED | HAS_SYMS)) == HAS_SYMS)
|
||||
for (osi.sec = input_bfd->sections;
|
||||
@ -15230,7 +15230,7 @@ elf32_arm_output_arch_local_syms (bfd *output_bfd,
|
||||
elf_link_hash_traverse (&htab->root, elf32_arm_output_plt_map, &osi);
|
||||
for (input_bfd = info->input_bfds;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
struct arm_local_iplt_info **local_iplt;
|
||||
unsigned int i, num_syms;
|
||||
|
@ -2822,7 +2822,7 @@ elf32_avr_setup_section_lists (bfd *output_bfd,
|
||||
/* Count the number of input BFDs and find the top input section id. */
|
||||
for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
bfd_count += 1;
|
||||
for (section = input_bfd->sections;
|
||||
@ -2896,7 +2896,7 @@ get_local_syms (bfd *input_bfd, struct bfd_link_info *info)
|
||||
export stubs. */
|
||||
for (bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
|
||||
@ -2973,7 +2973,7 @@ elf32_avr_size_stubs (bfd *output_bfd,
|
||||
bfd_hash_traverse (&htab->bstab, avr_mark_stub_not_to_be_necessary, htab);
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
asection *section;
|
||||
|
@ -2228,7 +2228,7 @@ elf32_hppa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got and .plt offsets for local syms, and space for local
|
||||
dynamic relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
@ -2503,7 +2503,7 @@ elf32_hppa_setup_section_lists (bfd *output_bfd, struct bfd_link_info *info)
|
||||
/* Count the number of input BFDs and find the top input section id. */
|
||||
for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
bfd_count += 1;
|
||||
for (section = input_bfd->sections;
|
||||
@ -2694,7 +2694,7 @@ get_local_syms (bfd *output_bfd, bfd *input_bfd, struct bfd_link_info *info)
|
||||
export stubs. */
|
||||
for (bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
|
||||
@ -2868,7 +2868,7 @@ elf32_hppa_size_stubs
|
||||
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
asection *section;
|
||||
|
@ -2686,7 +2686,7 @@ elf_i386_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -2146,7 +2146,7 @@ lm32_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
@ -2324,7 +2324,7 @@ lm32_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
int r32_count = 0;
|
||||
int rgot_count = 0;
|
||||
/* Look for deleted sections. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
for (s = ibfd->sections; s != NULL; s = s->next)
|
||||
{
|
||||
|
@ -1110,7 +1110,7 @@ m32c_elf_relax_plt_section (asection *splt,
|
||||
|
||||
/* Likewise for local symbols, though that's somewhat less convenient
|
||||
as we have to walk the list of input bfds and swap in symbol data. */
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
@ -1184,7 +1184,7 @@ m32c_elf_relax_plt_section (asection *splt,
|
||||
elf_link_hash_traverse (elf_hash_table (info),
|
||||
m32c_relax_plt_realloc, &entry);
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
|
||||
unsigned int nlocals = elf_tdata (ibfd)->symtab_hdr.sh_info;
|
||||
|
@ -2177,7 +2177,7 @@ m32r_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -254,7 +254,7 @@ elf32_m68hc11_setup_section_lists (bfd *output_bfd, struct bfd_link_info *info)
|
||||
text_section = 0;
|
||||
for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
bfd_count += 1;
|
||||
for (section = input_bfd->sections;
|
||||
@ -342,7 +342,7 @@ elf32_m68hc11_size_stubs (bfd *output_bfd, bfd *stub_bfd,
|
||||
/* Count the number of input BFDs and find the top input section id. */
|
||||
for (input_bfd = info->input_bfds, bfd_count = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
bfd_count += 1;
|
||||
|
||||
/* We want to read in symbol extension records only once. To do this
|
||||
@ -356,7 +356,7 @@ elf32_m68hc11_size_stubs (bfd *output_bfd, bfd *stub_bfd,
|
||||
/* Walk over all the input BFDs, swapping in local symbols. */
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
|
||||
@ -386,7 +386,7 @@ elf32_m68hc11_size_stubs (bfd *output_bfd, bfd *stub_bfd,
|
||||
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
struct elf_link_hash_entry ** sym_hashes;
|
||||
|
@ -2847,7 +2847,7 @@ elf_metag_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
@ -3725,7 +3725,7 @@ elf_metag_setup_section_lists (bfd *output_bfd, struct bfd_link_info *info)
|
||||
/* Count the number of input BFDs and find the top input section id. */
|
||||
for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
bfd_count += 1;
|
||||
for (section = input_bfd->sections;
|
||||
@ -3907,7 +3907,7 @@ get_local_syms (bfd *output_bfd ATTRIBUTE_UNUSED, bfd *input_bfd,
|
||||
/* Walk over all the input BFDs, swapping in local symbols. */
|
||||
for (bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
|
||||
@ -4004,7 +4004,7 @@ elf_metag_size_stubs(bfd *output_bfd, bfd *stub_bfd,
|
||||
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
asection *section;
|
||||
|
@ -2973,7 +2973,7 @@ microblaze_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -3599,7 +3599,7 @@ nds32_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
@ -12677,7 +12677,7 @@ nds32_elf_ex9_build_itable (struct bfd_link_info *link_info)
|
||||
bfd_byte *contents = NULL;
|
||||
|
||||
for (it_abfd = link_info->input_bfds; it_abfd != NULL;
|
||||
it_abfd = it_abfd->link_next)
|
||||
it_abfd = it_abfd->link.next)
|
||||
{
|
||||
/* Find the section .ex9.itable, and put all entries into it. */
|
||||
table_sec = bfd_get_section_by_name (it_abfd, ".ex9.itable");
|
||||
@ -13613,7 +13613,7 @@ nds32_elf_ex9_reloc_jmp (struct bfd_link_info *link_info)
|
||||
if (update_ex9_table == 0)
|
||||
{
|
||||
for (it_abfd = link_info->input_bfds; it_abfd != NULL;
|
||||
it_abfd = it_abfd->link_next)
|
||||
it_abfd = it_abfd->link.next)
|
||||
{
|
||||
table_sec = bfd_get_section_by_name (it_abfd, ".ex9.itable");
|
||||
if (table_sec != NULL)
|
||||
@ -14174,7 +14174,7 @@ nds32_elf_ex9_itb_base (struct bfd_link_info *link_info)
|
||||
target_optimize = table->target_optimize;
|
||||
|
||||
for (abfd = link_info->input_bfds; abfd != NULL;
|
||||
abfd = abfd->link_next)
|
||||
abfd = abfd->link.next)
|
||||
{
|
||||
sec = bfd_get_section_by_name (abfd, ".ex9.itable");
|
||||
if (sec != NULL)
|
||||
|
@ -1383,7 +1383,7 @@ nios2_elf32_setup_section_lists (bfd *output_bfd, struct bfd_link_info *info)
|
||||
/* Count the number of input BFDs and find the top input section id. */
|
||||
for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
bfd_count += 1;
|
||||
for (section = input_bfd->sections;
|
||||
@ -1718,7 +1718,7 @@ get_local_syms (bfd *output_bfd ATTRIBUTE_UNUSED, bfd *input_bfd,
|
||||
/* Walk over all the input BFDs, swapping in local symbols. */
|
||||
for (bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
|
||||
@ -1783,7 +1783,7 @@ nios2_elf32_size_stubs (bfd *output_bfd, bfd *stub_bfd,
|
||||
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
asection *section;
|
||||
@ -4891,7 +4891,7 @@ nios2_elf32_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -2464,7 +2464,7 @@ or1k_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -2629,7 +2629,7 @@ ppc_elf_begin_write_processing (bfd *abfd, struct bfd_link_info *link_info)
|
||||
apuinfo_list_init ();
|
||||
|
||||
/* Read in the input sections contents. */
|
||||
for (ibfd = link_info->input_bfds; ibfd; ibfd = ibfd->link_next)
|
||||
for (ibfd = link_info->input_bfds; ibfd; ibfd = ibfd->link.next)
|
||||
{
|
||||
unsigned long datum;
|
||||
|
||||
@ -4828,7 +4828,7 @@ ppc_elf_select_plt_layout (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
--secure-plt and we never see REL16 relocs. */
|
||||
if (plt_type == PLT_UNSET)
|
||||
plt_type = PLT_OLD;
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
|
||||
if (is_ppc_elf (ibfd))
|
||||
{
|
||||
if (ppc_elf_tdata (ibfd)->has_rel16)
|
||||
@ -5197,7 +5197,7 @@ ppc_elf_tls_optimize (bfd *obfd ATTRIBUTE_UNUSED,
|
||||
notify relocate_section that optimization can be done, and
|
||||
adjust got and plt refcounts. */
|
||||
for (pass = 0; pass < 2; ++pass)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
Elf_Internal_Sym *locsyms = NULL;
|
||||
Elf_Internal_Shdr *symtab_hdr = &elf_symtab_hdr (ibfd);
|
||||
@ -6130,7 +6130,7 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -1370,7 +1370,7 @@ rl78_elf_relax_plt_section (bfd *dynobj,
|
||||
|
||||
/* Likewise for local symbols, though that's somewhat less convenient
|
||||
as we have to walk the list of input bfds and swap in symbol data. */
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
@ -1444,7 +1444,7 @@ rl78_elf_relax_plt_section (bfd *dynobj,
|
||||
elf_link_hash_traverse (elf_hash_table (info),
|
||||
rl78_relax_plt_realloc, &entry);
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
|
||||
unsigned int nlocals = elf_tdata (ibfd)->symtab_hdr.sh_info;
|
||||
|
@ -2045,7 +2045,7 @@ elf_s390_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
@ -3903,7 +3903,7 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
|
||||
->this_hdr.sh_entsize = 4;
|
||||
}
|
||||
/* Finish dynamic symbol for local IFUNC symbols. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
struct plt_entry *local_plt;
|
||||
Elf_Internal_Sym *isym;
|
||||
|
@ -3199,7 +3199,7 @@ s3_bfd_score_elf_always_size_sections (bfd *output_bfd,
|
||||
|
||||
/* Calculate the total loadable size of the output. That will give us the
|
||||
maximum number of GOT_PAGE entries required. */
|
||||
for (sub = info->input_bfds; sub; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub; sub = sub->link.next)
|
||||
{
|
||||
asection *subsection;
|
||||
|
||||
|
@ -3006,7 +3006,7 @@ s7_bfd_score_elf_always_size_sections (bfd *output_bfd,
|
||||
|
||||
/* Calculate the total loadable size of the output. That will give us the
|
||||
maximum number of GOT_PAGE entries required. */
|
||||
for (sub = info->input_bfds; sub; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub; sub = sub->link.next)
|
||||
{
|
||||
asection *subsection;
|
||||
|
||||
|
@ -3341,7 +3341,7 @@ sh_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -555,7 +555,7 @@ spu_elf_create_sections (struct bfd_link_info *info)
|
||||
struct spu_link_hash_table *htab = spu_hash_table (info);
|
||||
bfd *ibfd;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
if (bfd_get_section_by_name (ibfd, SPU_PTNOTE_SPUNAME) != NULL)
|
||||
break;
|
||||
|
||||
@ -1520,7 +1520,7 @@ process_stubs (struct bfd_link_info *info, bfd_boolean build)
|
||||
struct spu_link_hash_table *htab = spu_hash_table (info);
|
||||
bfd *ibfd;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
extern const bfd_target spu_elf32_vec;
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
@ -2936,7 +2936,7 @@ discover_functions (struct bfd_link_info *info)
|
||||
bfd_boolean gaps = FALSE;
|
||||
|
||||
bfd_idx = 0;
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
bfd_idx++;
|
||||
|
||||
psym_arr = bfd_zmalloc (bfd_idx * sizeof (*psym_arr));
|
||||
@ -2948,7 +2948,7 @@ discover_functions (struct bfd_link_info *info)
|
||||
|
||||
for (ibfd = info->input_bfds, bfd_idx = 0;
|
||||
ibfd != NULL;
|
||||
ibfd = ibfd->link_next, bfd_idx++)
|
||||
ibfd = ibfd->link.next, bfd_idx++)
|
||||
{
|
||||
extern const bfd_target spu_elf32_vec;
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
@ -3056,7 +3056,7 @@ discover_functions (struct bfd_link_info *info)
|
||||
relocations. */
|
||||
for (ibfd = info->input_bfds, bfd_idx = 0;
|
||||
ibfd != NULL;
|
||||
ibfd = ibfd->link_next, bfd_idx++)
|
||||
ibfd = ibfd->link.next, bfd_idx++)
|
||||
{
|
||||
asection *sec;
|
||||
|
||||
@ -3070,7 +3070,7 @@ discover_functions (struct bfd_link_info *info)
|
||||
|
||||
for (ibfd = info->input_bfds, bfd_idx = 0;
|
||||
ibfd != NULL;
|
||||
ibfd = ibfd->link_next, bfd_idx++)
|
||||
ibfd = ibfd->link.next, bfd_idx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
asection *sec;
|
||||
@ -3109,7 +3109,7 @@ discover_functions (struct bfd_link_info *info)
|
||||
}
|
||||
}
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
extern const bfd_target spu_elf32_vec;
|
||||
asection *sec;
|
||||
@ -3152,7 +3152,7 @@ discover_functions (struct bfd_link_info *info)
|
||||
|
||||
for (ibfd = info->input_bfds, bfd_idx = 0;
|
||||
ibfd != NULL;
|
||||
ibfd = ibfd->link_next, bfd_idx++)
|
||||
ibfd = ibfd->link.next, bfd_idx++)
|
||||
{
|
||||
if (psym_arr[bfd_idx] == NULL)
|
||||
continue;
|
||||
@ -3181,7 +3181,7 @@ for_each_node (bfd_boolean (*doit) (struct function_info *,
|
||||
{
|
||||
bfd *ibfd;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
extern const bfd_target spu_elf32_vec;
|
||||
asection *sec;
|
||||
@ -3330,7 +3330,7 @@ build_call_tree (struct bfd_link_info *info)
|
||||
bfd *ibfd;
|
||||
unsigned int depth;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
extern const bfd_target spu_elf32_vec;
|
||||
asection *sec;
|
||||
@ -3707,7 +3707,7 @@ auto_ovl_lib_functions (struct bfd_link_info *info, unsigned int lib_size)
|
||||
|
||||
memset (&dummy_caller, 0, sizeof (dummy_caller));
|
||||
lib_count = 0;
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
extern const bfd_target spu_elf32_vec;
|
||||
asection *sec;
|
||||
@ -4252,7 +4252,7 @@ spu_elf_auto_overlay (struct bfd_link_info *info)
|
||||
goto err_exit;
|
||||
|
||||
bfd_count = 0;
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
++bfd_count;
|
||||
bfd_arr = bfd_malloc (bfd_count * sizeof (*bfd_arr));
|
||||
if (bfd_arr == NULL)
|
||||
@ -4262,7 +4262,7 @@ spu_elf_auto_overlay (struct bfd_link_info *info)
|
||||
count = 0;
|
||||
bfd_count = 0;
|
||||
total_overlay_size = 0;
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
extern const bfd_target spu_elf32_vec;
|
||||
asection *sec;
|
||||
@ -5395,7 +5395,7 @@ spu_elf_size_sections (bfd * output_bfd, struct bfd_link_info *info)
|
||||
bfd *ibfd;
|
||||
size_t size;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
asection *isec;
|
||||
|
||||
|
@ -1919,7 +1919,7 @@ elf32_tic6x_gc_mark_extra_sections (struct bfd_link_info *info,
|
||||
while (again)
|
||||
{
|
||||
again = FALSE;
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *o;
|
||||
|
||||
@ -3309,7 +3309,7 @@ elf32_tic6x_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
@ -4051,7 +4051,7 @@ elf32_tic6x_fix_exidx_coverage (asection **text_section_order,
|
||||
|
||||
/* Walk over all EXIDX sections, and create backlinks from the corrsponding
|
||||
text sections. */
|
||||
for (inp = info->input_bfds; inp != NULL; inp = inp->link_next)
|
||||
for (inp = info->input_bfds; inp != NULL; inp = inp->link.next)
|
||||
{
|
||||
asection *sec;
|
||||
|
||||
|
@ -2472,7 +2472,7 @@ tilepro_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -610,7 +610,7 @@ xstormy16_elf_relax_section (bfd *dynobj,
|
||||
|
||||
/* Likewise for local symbols, though that's somewhat less convenient
|
||||
as we have to walk the list of input bfds and swap in symbol data. */
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
@ -684,7 +684,7 @@ xstormy16_elf_relax_section (bfd *dynobj,
|
||||
elf_link_hash_traverse (elf_hash_table (info),
|
||||
xstormy16_relax_plt_realloc, &entry);
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd);
|
||||
unsigned int nlocals = elf_tdata (ibfd)->symtab_hdr.sh_info;
|
||||
|
@ -1561,7 +1561,7 @@ elf_xtensa_allocate_local_got_size (struct bfd_link_info *info)
|
||||
if (htab == NULL)
|
||||
return;
|
||||
|
||||
for (i = info->input_bfds; i; i = i->link_next)
|
||||
for (i = info->input_bfds; i; i = i->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got_refcounts;
|
||||
bfd_size_type j, cnt;
|
||||
@ -1700,7 +1700,7 @@ elf_xtensa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
literal tables. */
|
||||
sgotloc = htab->sgotloc;
|
||||
sgotloc->size = spltlittbl->size;
|
||||
for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
if (abfd->flags & DYNAMIC)
|
||||
continue;
|
||||
@ -6746,14 +6746,14 @@ analyze_relocations (struct bfd_link_info *link_info)
|
||||
bfd_boolean is_relaxable = FALSE;
|
||||
|
||||
/* Initialize the per-section relaxation info. */
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
for (sec = abfd->sections; sec != NULL; sec = sec->next)
|
||||
{
|
||||
init_xtensa_relax_info (sec);
|
||||
}
|
||||
|
||||
/* Mark relaxable sections (and count relocations against each one). */
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
for (sec = abfd->sections; sec != NULL; sec = sec->next)
|
||||
{
|
||||
if (!find_relaxable_sections (abfd, sec, link_info, &is_relaxable))
|
||||
@ -6765,7 +6765,7 @@ analyze_relocations (struct bfd_link_info *link_info)
|
||||
return TRUE;
|
||||
|
||||
/* Allocate space for source_relocs. */
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
for (sec = abfd->sections; sec != NULL; sec = sec->next)
|
||||
{
|
||||
xtensa_relax_info *relax_info;
|
||||
@ -6782,7 +6782,7 @@ analyze_relocations (struct bfd_link_info *link_info)
|
||||
}
|
||||
|
||||
/* Collect info on relocations against each relaxable section. */
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
for (sec = abfd->sections; sec != NULL; sec = sec->next)
|
||||
{
|
||||
if (!collect_source_relocs (abfd, sec, link_info))
|
||||
@ -6790,7 +6790,7 @@ analyze_relocations (struct bfd_link_info *link_info)
|
||||
}
|
||||
|
||||
/* Compute the text actions. */
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info->input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
for (sec = abfd->sections; sec != NULL; sec = sec->next)
|
||||
{
|
||||
if (!compute_text_actions (abfd, sec, link_info))
|
||||
|
@ -2481,7 +2481,7 @@ elf64_alpha_size_got_sections (struct bfd_link_info *info,
|
||||
consisting of all of the input files. */
|
||||
if (got_list == NULL)
|
||||
{
|
||||
for (i = info->input_bfds; i ; i = i->link_next)
|
||||
for (i = info->input_bfds; i ; i = i->link.next)
|
||||
{
|
||||
bfd *this_got;
|
||||
|
||||
|
@ -1580,7 +1580,7 @@ elf64_hppa_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
|
||||
|
||||
/* Set up DLT, PLT and OPD offsets for local syms, and space for local
|
||||
dynamic relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_dlt;
|
||||
bfd_signed_vma *end_local_dlt;
|
||||
|
@ -2818,7 +2818,7 @@ elf64_ia64_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
return FALSE;
|
||||
|
||||
/* Add entries for shared libraries. */
|
||||
for (abfd = info->input_bfds; abfd; abfd = abfd->link_next)
|
||||
for (abfd = info->input_bfds; abfd; abfd = abfd->link.next)
|
||||
{
|
||||
char *soname;
|
||||
size_t soname_len;
|
||||
|
@ -2322,7 +2322,7 @@ _bfd_mmix_before_linker_allocation (bfd *abfd ATTRIBUTE_UNUSED,
|
||||
bfd *ibfd;
|
||||
|
||||
/* Set the initial size of sections. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
bfd_map_over_sections (ibfd, mmix_set_relaxable_size, info);
|
||||
|
||||
/* The bpo_greg_owner bfd is supposed to have been set by
|
||||
|
@ -7558,7 +7558,7 @@ ppc64_elf_edit_opd (struct bfd_link_info *info)
|
||||
if (htab == NULL)
|
||||
return FALSE;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
asection *sec;
|
||||
Elf_Internal_Rela *relstart, *rel, *relend;
|
||||
@ -8105,7 +8105,7 @@ ppc64_elf_tls_optimize (struct bfd_link_info *info)
|
||||
and plt refcounts. */
|
||||
toc_ref = NULL;
|
||||
for (pass = 0; pass < 2; ++pass)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
Elf_Internal_Sym *locsyms = NULL;
|
||||
asection *toc = bfd_get_section_by_name (ibfd, ".toc");
|
||||
@ -8602,7 +8602,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
|
||||
|
||||
htab->do_toc_opt = 1;
|
||||
toc_inf.global_toc_syms = TRUE;
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
asection *toc, *sec;
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
@ -9662,7 +9662,7 @@ ppc64_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
struct got_entry **lgot_ents;
|
||||
struct got_entry **end_lgot_ents;
|
||||
@ -9784,7 +9784,7 @@ ppc64_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
elf_link_hash_traverse (&htab->elf, size_global_entry_stubs, info);
|
||||
|
||||
first_tlsld = NULL;
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
struct got_entry *ent;
|
||||
|
||||
@ -9892,7 +9892,7 @@ ppc64_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
if (!is_ppc64_elf (ibfd))
|
||||
continue;
|
||||
@ -11071,7 +11071,7 @@ ppc64_elf_setup_section_lists (struct bfd_link_info *info)
|
||||
/* Find the top input section id. */
|
||||
for (input_bfd = info->input_bfds, top_id = 3;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
{
|
||||
for (section = input_bfd->sections;
|
||||
section != NULL;
|
||||
@ -11252,7 +11252,7 @@ ppc64_elf_layout_multitoc (struct bfd_link_info *info)
|
||||
elf_link_hash_traverse (&htab->elf, merge_global_got, info);
|
||||
|
||||
/* And tlsld_got. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
struct got_entry *ent, *ent2;
|
||||
|
||||
@ -11263,7 +11263,7 @@ ppc64_elf_layout_multitoc (struct bfd_link_info *info)
|
||||
if (!ent->is_indirect
|
||||
&& ent->got.offset != (bfd_vma) -1)
|
||||
{
|
||||
for (ibfd2 = ibfd->link_next; ibfd2 != NULL; ibfd2 = ibfd2->link_next)
|
||||
for (ibfd2 = ibfd->link.next; ibfd2 != NULL; ibfd2 = ibfd2->link.next)
|
||||
{
|
||||
if (!is_ppc64_elf (ibfd2))
|
||||
continue;
|
||||
@ -11285,7 +11285,7 @@ ppc64_elf_layout_multitoc (struct bfd_link_info *info)
|
||||
htab->elf.irelplt->size -= htab->got_reli_size;
|
||||
htab->got_reli_size = 0;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
asection *got, *relgot;
|
||||
|
||||
@ -11305,7 +11305,7 @@ ppc64_elf_layout_multitoc (struct bfd_link_info *info)
|
||||
|
||||
/* Now reallocate the got, local syms first. We don't need to
|
||||
allocate section contents again since we never increase size. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
struct got_entry **lgot_ents;
|
||||
struct got_entry **end_lgot_ents;
|
||||
@ -11362,7 +11362,7 @@ ppc64_elf_layout_multitoc (struct bfd_link_info *info)
|
||||
|
||||
elf_link_hash_traverse (&htab->elf, reallocate_got, info);
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
struct got_entry *ent;
|
||||
|
||||
@ -11386,7 +11386,7 @@ ppc64_elf_layout_multitoc (struct bfd_link_info *info)
|
||||
|
||||
done_something = htab->elf.irelplt->rawsize != htab->elf.irelplt->size;
|
||||
if (!done_something)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
asection *got;
|
||||
|
||||
@ -11953,7 +11953,7 @@ ppc64_elf_size_stubs (struct bfd_link_info *info)
|
||||
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
asection *section;
|
||||
@ -15064,7 +15064,7 @@ ppc64_elf_finish_dynamic_sections (bfd *output_bfd,
|
||||
/* We need to handle writing out multiple GOT sections ourselves,
|
||||
since we didn't add them to DYNOBJ. We know dynobj is the first
|
||||
bfd. */
|
||||
while ((dynobj = dynobj->link_next) != NULL)
|
||||
while ((dynobj = dynobj->link.next) != NULL)
|
||||
{
|
||||
asection *s;
|
||||
|
||||
|
@ -1995,7 +1995,7 @@ elf_s390_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
@ -3717,7 +3717,7 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
|
||||
}
|
||||
|
||||
/* Finish dynamic symbol for local IFUNC symbols. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
struct plt_entry *local_plt;
|
||||
Elf_Internal_Sym *isym;
|
||||
|
@ -2935,7 +2935,7 @@ elf_x86_64_size_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -5488,7 +5488,7 @@ _bfd_elf_size_group_sections (struct bfd_link_info *info)
|
||||
{
|
||||
bfd *ibfd;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
if (bfd_get_flavour (ibfd) == bfd_target_elf_flavour
|
||||
&& !_bfd_elf_fixup_group_sections (ibfd, bfd_abs_section_ptr))
|
||||
return FALSE;
|
||||
@ -5615,7 +5615,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
for (inputobj = info->input_bfds;
|
||||
inputobj;
|
||||
inputobj = inputobj->link_next)
|
||||
inputobj = inputobj->link.next)
|
||||
{
|
||||
asection *s;
|
||||
|
||||
@ -5881,7 +5881,7 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
asection *o;
|
||||
|
||||
for (sub = info->input_bfds; sub != NULL;
|
||||
sub = sub->link_next)
|
||||
sub = sub->link.next)
|
||||
if (bfd_get_flavour (sub) == bfd_target_elf_flavour)
|
||||
for (o = sub->sections; o != NULL; o = o->next)
|
||||
if (elf_section_data (o)->this_hdr.sh_type
|
||||
@ -6711,7 +6711,7 @@ _bfd_elf_merge_sections (bfd *abfd, struct bfd_link_info *info)
|
||||
if (!is_elf_hash_table (info->hash))
|
||||
return FALSE;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
if ((ibfd->flags & DYNAMIC) == 0)
|
||||
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
|
||||
if ((sec->flags & SEC_MERGE) != 0
|
||||
@ -10929,7 +10929,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
we could write the relocs out and then read them again; I don't
|
||||
know how bad the memory loss will be. */
|
||||
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
sub->output_has_begun = FALSE;
|
||||
for (o = abfd->sections; o != NULL; o = o->next)
|
||||
{
|
||||
@ -10991,7 +10991,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
/* Free symbol buffer if needed. */
|
||||
if (!info->reduce_memory_overheads)
|
||||
{
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
if (bfd_get_flavour (sub) == bfd_target_elf_flavour
|
||||
&& elf_tdata (sub)->symbuf)
|
||||
{
|
||||
@ -11677,7 +11677,7 @@ _bfd_elf_gc_mark_hook (asection *sec,
|
||||
{
|
||||
bfd *i;
|
||||
|
||||
for (i = info->input_bfds; i; i = i->link_next)
|
||||
for (i = info->input_bfds; i; i = i->link.next)
|
||||
{
|
||||
sec = bfd_get_section_by_name (i, sec_name);
|
||||
if (sec)
|
||||
@ -11826,7 +11826,7 @@ _bfd_elf_gc_mark_extra_sections (struct bfd_link_info *info,
|
||||
{
|
||||
bfd *ibfd;
|
||||
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
asection *isec;
|
||||
bfd_boolean some_kept;
|
||||
@ -11954,7 +11954,7 @@ elf_gc_sweep (bfd *abfd, struct bfd_link_info *info)
|
||||
unsigned long section_sym_count;
|
||||
struct elf_gc_sweep_symbol_info sweep_info;
|
||||
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *o;
|
||||
|
||||
@ -12207,7 +12207,7 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
|
||||
/* Try to parse each bfd's .eh_frame section. Point elf_eh_frame_section
|
||||
at the .eh_frame section if we can mark the FDEs individually. */
|
||||
_bfd_elf_begin_eh_frame_parsing (info);
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *sec;
|
||||
struct elf_reloc_cookie cookie;
|
||||
@ -12247,7 +12247,7 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
|
||||
|
||||
/* Grovel through relocs to find out who stays ... */
|
||||
gc_mark_hook = bed->gc_mark_hook;
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *o;
|
||||
|
||||
@ -12556,7 +12556,7 @@ bfd_elf_gc_common_finalize_got_offsets (bfd *abfd,
|
||||
gotoff = bed->got_header_size;
|
||||
|
||||
/* Do the local .got entries first. */
|
||||
for (i = info->input_bfds; i; i = i->link_next)
|
||||
for (i = info->input_bfds; i; i = i->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_size_type j, locsymcount;
|
||||
@ -12688,7 +12688,7 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
|
||||
return FALSE;
|
||||
|
||||
_bfd_elf_begin_eh_frame_parsing (info);
|
||||
for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
if (bfd_get_flavour (abfd) != bfd_target_elf_flavour)
|
||||
continue;
|
||||
|
@ -2487,7 +2487,7 @@ elfNN_aarch64_setup_section_lists (bfd *output_bfd,
|
||||
|
||||
/* Count the number of input BFDs and find the top input section id. */
|
||||
for (input_bfd = info->input_bfds, bfd_count = 0, top_id = 0;
|
||||
input_bfd != NULL; input_bfd = input_bfd->link_next)
|
||||
input_bfd != NULL; input_bfd = input_bfd->link.next)
|
||||
{
|
||||
bfd_count += 1;
|
||||
for (section = input_bfd->sections;
|
||||
@ -2691,7 +2691,7 @@ elfNN_aarch64_size_stubs (bfd *output_bfd,
|
||||
asection *stub_sec;
|
||||
|
||||
for (input_bfd = info->input_bfds, bfd_indx = 0;
|
||||
input_bfd != NULL; input_bfd = input_bfd->link_next, bfd_indx++)
|
||||
input_bfd != NULL; input_bfd = input_bfd->link.next, bfd_indx++)
|
||||
{
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
asection *section;
|
||||
@ -6289,7 +6289,7 @@ elfNN_aarch64_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
struct elf_aarch64_local_symbol *locals = NULL;
|
||||
Elf_Internal_Shdr *symtab_hdr;
|
||||
|
@ -4737,7 +4737,7 @@ mips_elf_multi_got (bfd *abfd, struct bfd_link_info *info,
|
||||
/* Try to merge the GOTs of input bfds together, as long as they
|
||||
don't seem to exceed the maximum GOT size, choosing one of them
|
||||
to be the primary GOT. */
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
|
||||
{
|
||||
gg = mips_elf_bfd_got (ibfd, FALSE);
|
||||
if (gg && !mips_elf_merge_got (ibfd, gg, &got_per_bfd_arg))
|
||||
@ -9092,7 +9092,7 @@ mips_elf_lay_out_got (bfd *output_bfd, struct bfd_link_info *info)
|
||||
/* Calculate the total loadable size of the output. That
|
||||
will give us the maximum number of GOT_PAGE entries
|
||||
required. */
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
|
||||
{
|
||||
asection *subsection;
|
||||
|
||||
@ -9141,7 +9141,7 @@ mips_elf_lay_out_got (bfd *output_bfd, struct bfd_link_info *info)
|
||||
{
|
||||
/* Record that all bfds use G. This also has the effect of freeing
|
||||
the per-bfd GOTs, which we no longer need. */
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
|
||||
if (mips_elf_bfd_got (ibfd, FALSE))
|
||||
mips_elf_replace_bfd_got (ibfd, g);
|
||||
mips_elf_replace_bfd_got (output_bfd, g);
|
||||
|
@ -2567,7 +2567,7 @@ _bfd_sparc_elf_size_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -2733,7 +2733,7 @@ tilegx_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Set up .got offsets for local syms, and space for local dynamic
|
||||
relocs. */
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
{
|
||||
bfd_signed_vma *local_got;
|
||||
bfd_signed_vma *end_local_got;
|
||||
|
@ -313,7 +313,7 @@ SUBSUBSECTION
|
||||
|
||||
The <<input_bfds>> field of the <<bfd_link_info>> structure
|
||||
will point to a list of all the input files included in the
|
||||
link. These files are linked through the <<link_next>> field
|
||||
link. These files are linked through the <<link.next>> field
|
||||
of the <<bfd>> structure.
|
||||
|
||||
Each section in the output file will have a list of
|
||||
@ -2046,7 +2046,7 @@ _bfd_generic_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
p->u.indirect.section->linker_mark = TRUE;
|
||||
|
||||
/* Build the output symbol table. */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
if (! _bfd_generic_link_output_symbols (abfd, sub, info, &outsymalloc))
|
||||
return FALSE;
|
||||
|
||||
|
@ -3638,7 +3638,7 @@ aout_link_input_bfd (struct aout_final_link_info *flaginfo, bfd *input_bfd)
|
||||
|
||||
/* Do the final link step. This is called on the output BFD. The
|
||||
INFO structure should point to a list of BFDs linked through the
|
||||
link_next field which can be used to find each BFD which takes part
|
||||
link.next field which can be used to find each BFD which takes part
|
||||
in the output. Also, each section in ABFD should point to a list
|
||||
of bfd_link_order structures which list all the input sections for
|
||||
the output section. */
|
||||
@ -3685,7 +3685,7 @@ NAME (aout, final_link) (bfd *abfd,
|
||||
max_contents_size = 0;
|
||||
max_relocs_size = 0;
|
||||
max_sym_count = 0;
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
size_t sz;
|
||||
|
||||
@ -3823,7 +3823,7 @@ NAME (aout, final_link) (bfd *abfd,
|
||||
|
||||
We use the output_has_begun field of the input BFDs to see
|
||||
whether we have already handled it. */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
sub->output_has_begun = FALSE;
|
||||
|
||||
/* Mark all sections which are to be included in the link. This
|
||||
|
@ -3941,7 +3941,7 @@ rsrc_process_section (bfd * abfd,
|
||||
|
||||
for (input = pfinfo->info->input_bfds;
|
||||
input != NULL;
|
||||
input = input->link_next)
|
||||
input = input->link.next)
|
||||
{
|
||||
asection * rsrc_sec = bfd_get_section_by_name (input, ".rsrc");
|
||||
|
||||
|
@ -207,7 +207,7 @@ bfd_simple_get_relocated_section_contents (bfd *abfd,
|
||||
memset (&link_info, 0, sizeof (link_info));
|
||||
link_info.output_bfd = abfd;
|
||||
link_info.input_bfds = abfd;
|
||||
link_info.input_bfds_tail = &abfd->link_next;
|
||||
link_info.input_bfds_tail = &abfd->link.next;
|
||||
|
||||
link_info.hash = _bfd_generic_link_hash_table_create (abfd);
|
||||
link_info.callbacks = &callbacks;
|
||||
|
@ -1891,7 +1891,7 @@ bfd_sunos_size_dynamic_sections (bfd *output_bfd,
|
||||
to determine the number of dynamic relocs we need, and, more
|
||||
importantly, there is no other way to know which symbols should
|
||||
get an entry in the procedure linkage table. */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
if ((sub->flags & DYNAMIC) == 0
|
||||
&& sub->xvec == output_bfd->xvec)
|
||||
|
@ -8652,7 +8652,7 @@ alpha_vms_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
{
|
||||
bfd *startbfd = NULL;
|
||||
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
/* Consider only VMS object files. */
|
||||
if (sub->xvec != abfd->xvec)
|
||||
@ -8756,7 +8756,7 @@ alpha_vms_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
dmt = NULL;
|
||||
|
||||
/* Read all sections from the inputs. */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
if (sub->flags & DYNAMIC)
|
||||
{
|
||||
@ -8807,7 +8807,7 @@ alpha_vms_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
unsigned int off = 0;
|
||||
|
||||
/* For each object file (ie for each module). */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *sub_dst;
|
||||
struct vms_dmt_header *dmth = NULL;
|
||||
|
@ -2985,7 +2985,7 @@ xcoff_sweep (struct bfd_link_info *info)
|
||||
{
|
||||
bfd *sub;
|
||||
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *o;
|
||||
|
||||
@ -3710,7 +3710,7 @@ bfd_xcoff_size_dynamic_sections (bfd *output_bfd,
|
||||
|
||||
/* We still need to call xcoff_mark, in order to set ldrel_count
|
||||
correctly. */
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *o;
|
||||
|
||||
@ -3804,7 +3804,7 @@ bfd_xcoff_size_dynamic_sections (bfd *output_bfd,
|
||||
and figure out the contents of the .debug section. */
|
||||
debug_strtab = xcoff_hash_table (info)->debug_strtab;
|
||||
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
asection *subdeb;
|
||||
bfd_size_type symcount;
|
||||
@ -3973,7 +3973,7 @@ bfd_xcoff_link_generate_rtinit (bfd *abfd,
|
||||
bim->size = 0;
|
||||
bim->buffer = 0;
|
||||
|
||||
abfd->link_next = 0;
|
||||
abfd->link.next = 0;
|
||||
abfd->format = bfd_object;
|
||||
abfd->iostream = (void *) bim;
|
||||
abfd->flags = BFD_IN_MEMORY;
|
||||
@ -5041,7 +5041,7 @@ xcoff_find_tc0 (bfd *output_bfd, struct xcoff_final_link_info *flinfo)
|
||||
section_index = -1;
|
||||
for (input_bfd = flinfo->info->input_bfds;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
for (sec = input_bfd->sections; sec != NULL; sec = sec->next)
|
||||
if ((sec->flags & SEC_MARK) != 0 && xcoff_toc_section_p (sec))
|
||||
{
|
||||
@ -5073,7 +5073,7 @@ xcoff_find_tc0 (bfd *output_bfd, struct xcoff_final_link_info *flinfo)
|
||||
best_address = toc_end;
|
||||
for (input_bfd = flinfo->info->input_bfds;
|
||||
input_bfd != NULL;
|
||||
input_bfd = input_bfd->link_next)
|
||||
input_bfd = input_bfd->link.next)
|
||||
for (sec = input_bfd->sections; sec != NULL; sec = sec->next)
|
||||
if ((sec->flags & SEC_MARK) != 0 && xcoff_toc_section_p (sec))
|
||||
{
|
||||
@ -6103,7 +6103,7 @@ _bfd_xcoff_bfd_final_link (bfd *abfd, struct bfd_link_info *info)
|
||||
input BFD's. We want at least 6 symbols, since that is the
|
||||
number which xcoff_write_global_symbol may need. */
|
||||
max_sym_count = 6;
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
|
||||
for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
|
||||
{
|
||||
bfd_size_type sz;
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
2014-06-13 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* bfdlink.h: Update for bfd.link_next change.
|
||||
|
||||
2014-06-10 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR ld/16910
|
||||
|
@ -469,7 +469,7 @@ struct bfd_link_info
|
||||
bfd *output_bfd;
|
||||
|
||||
/* The list of input BFD's involved in the link. These are chained
|
||||
together via the link_next field. */
|
||||
together via the link.next field. */
|
||||
bfd *input_bfds;
|
||||
bfd **input_bfds_tail;
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
2014-06-13 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* emultempl/cr16elf.em, * emultempl/elf32.em, * emultempl/genelf.em,
|
||||
* emultempl/m68kcoff.em, * emultempl/m68kelf.em,
|
||||
* emultempl/nds32elf.em, * emultempl/pe.em, * emultempl/pep.em,
|
||||
* ldlang.c, * ldmain.c, * pe-dll.c: Update for bfd.link_next change.
|
||||
|
||||
2014-06-13 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* Makefile.am (ALL_EMULATION_SOURCES): Add enios2elf.c, enios2linux.c.
|
||||
|
@ -47,7 +47,7 @@ cr16_elf_after_open (void)
|
||||
input file with a nonzero .data section. The BFD backend will fill in
|
||||
these sections with magic numbers which can be used to relocate the
|
||||
data section at run time. */
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
asection *datasec;
|
||||
|
||||
@ -139,7 +139,7 @@ cr16elf_before_allocation (void)
|
||||
|
||||
/* If we are generating embedded relocs, call a special BFD backend
|
||||
routine to do the work. */
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
asection *datasec, *relsec;
|
||||
char *errmsg;
|
||||
|
@ -1014,7 +1014,7 @@ gld${EMULATION_NAME}_after_open (void)
|
||||
|
||||
/* Find an ELF input. */
|
||||
for (abfd = link_info.input_bfds;
|
||||
abfd != (bfd *) NULL; abfd = abfd->link_next)
|
||||
abfd != (bfd *) NULL; abfd = abfd->link.next)
|
||||
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||
break;
|
||||
|
||||
@ -1051,7 +1051,7 @@ gld${EMULATION_NAME}_after_open (void)
|
||||
bfd_boolean warn_eh_frame = FALSE;
|
||||
asection *s;
|
||||
|
||||
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
|
||||
{
|
||||
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||
elfbfd = abfd;
|
||||
@ -1459,7 +1459,7 @@ gld${EMULATION_NAME}_before_allocation (void)
|
||||
if (rpath == NULL)
|
||||
rpath = (const char *) getenv ("LD_RUN_PATH");
|
||||
|
||||
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
|
||||
if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
|
||||
{
|
||||
const char *audit_libs = elf_dt_audit (abfd);
|
||||
|
@ -38,7 +38,7 @@ gld${EMULATION_NAME}_after_open (void)
|
||||
after_open_default ();
|
||||
|
||||
if (link_info.relocatable)
|
||||
for (ibfd = link_info.input_bfds; ibfd != NULL; ibfd = ibfd->link_next)
|
||||
for (ibfd = link_info.input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
|
||||
if ((syms = bfd_get_outsymbols (ibfd)) != NULL
|
||||
&& bfd_get_flavour (ibfd) == bfd_target_elf_flavour)
|
||||
for (sec = ibfd->sections; sec != NULL; sec = sec->next)
|
||||
|
@ -67,7 +67,7 @@ gld${EMULATION_NAME}_after_open (void)
|
||||
|| link_info.relocatable)
|
||||
return;
|
||||
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
asection *datasec;
|
||||
|
||||
@ -133,7 +133,7 @@ gld${EMULATION_NAME}_after_allocation (void)
|
||||
|| link_info.relocatable)
|
||||
return;
|
||||
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
asection *datasec, *relsec;
|
||||
char *errmsg;
|
||||
|
@ -75,7 +75,7 @@ m68k_elf_after_open (void)
|
||||
input file with a nonzero .data section. The BFD backend will fill in
|
||||
these sections with magic numbers which can be used to relocate the
|
||||
data section at run time. */
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
asection *datasec;
|
||||
|
||||
@ -153,7 +153,7 @@ m68k_elf_after_allocation (void)
|
||||
|
||||
/* If we are generating embedded relocs, call a special BFD backend
|
||||
routine to do the work. */
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
asection *datasec, *relsec;
|
||||
char *errmsg;
|
||||
|
@ -105,7 +105,7 @@ nds32_elf_after_open (void)
|
||||
|
||||
/* For now, make sure all object files are of the same architecture.
|
||||
We may try to merge object files with different architecture together. */
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
if (arch_ver == (unsigned int)-1 && E_N1_ARCH != (elf_elfheader (abfd)->e_flags & EF_NDS_ARCH))
|
||||
arch_ver = elf_elfheader (abfd)->e_flags & EF_NDS_ARCH ;
|
||||
@ -125,7 +125,7 @@ nds32_elf_after_open (void)
|
||||
}
|
||||
|
||||
/* Append .ex9.itable section in the last input object file. */
|
||||
if (!link_info.relocatable && abfd->link_next == NULL)
|
||||
if (!link_info.relocatable && abfd->link.next == NULL)
|
||||
{
|
||||
asection *itable;
|
||||
struct bfd_link_hash_entry *h;
|
||||
@ -165,7 +165,7 @@ nds32_elf_after_open (void)
|
||||
if (elf_hash_table (&link_info)->dynamic_sections_created
|
||||
|| link_info.shared || link_info.pie)
|
||||
{
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link_next)
|
||||
for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
|
||||
{
|
||||
if (!(elf_elfheader (abfd)->e_flags & E_NDS32_HAS_PIC))
|
||||
{
|
||||
|
@ -1433,7 +1433,7 @@ gld_${EMULATION_NAME}_after_open (void)
|
||||
printf ("-%s\n", sym->root.string);
|
||||
bfd_hash_traverse (&link_info.hash->table, pr_sym, NULL);
|
||||
|
||||
for (a = link_info.input_bfds; a; a = a->link_next)
|
||||
for (a = link_info.input_bfds; a; a = a->link.next)
|
||||
printf ("*%s\n",a->filename);
|
||||
}
|
||||
#endif
|
||||
@ -1444,7 +1444,7 @@ gld_${EMULATION_NAME}_after_open (void)
|
||||
|
||||
/* Find a COFF input. */
|
||||
for (abfd = link_info.input_bfds;
|
||||
abfd != (bfd *) NULL; abfd = abfd->link_next)
|
||||
abfd != (bfd *) NULL; abfd = abfd->link.next)
|
||||
if (bfd_get_flavour (abfd) == bfd_target_coff_flavour)
|
||||
break;
|
||||
|
||||
|
@ -1391,7 +1391,7 @@ gld_${EMULATION_NAME}_after_open (void)
|
||||
printf ("-%s\n", sym->root.string);
|
||||
bfd_hash_traverse (&link_info.hash->table, pr_sym, NULL);
|
||||
|
||||
for (a = link_info.input_bfds; a; a = a->link_next)
|
||||
for (a = link_info.input_bfds; a; a = a->link.next)
|
||||
printf ("*%s\n",a->filename);
|
||||
}
|
||||
#endif
|
||||
@ -1402,7 +1402,7 @@ gld_${EMULATION_NAME}_after_open (void)
|
||||
|
||||
/* Find a COFF input. */
|
||||
for (abfd = link_info.input_bfds;
|
||||
abfd != (bfd *) NULL; abfd = abfd->link_next)
|
||||
abfd != (bfd *) NULL; abfd = abfd->link.next)
|
||||
if (bfd_get_flavour (abfd) == bfd_target_coff_flavour)
|
||||
break;
|
||||
|
||||
|
@ -6228,11 +6228,11 @@ ldlang_add_file (lang_input_statement_type *entry)
|
||||
|
||||
/* The BFD linker needs to have a list of all input BFDs involved in
|
||||
a link. */
|
||||
ASSERT (entry->the_bfd->link_next == NULL);
|
||||
ASSERT (entry->the_bfd->link.next == NULL);
|
||||
ASSERT (entry->the_bfd != link_info.output_bfd);
|
||||
|
||||
*link_info.input_bfds_tail = entry->the_bfd;
|
||||
link_info.input_bfds_tail = &entry->the_bfd->link_next;
|
||||
link_info.input_bfds_tail = &entry->the_bfd->link.next;
|
||||
entry->the_bfd->usrdata = entry;
|
||||
bfd_set_gp_size (entry->the_bfd, g_switch_value);
|
||||
|
||||
|
@ -1213,7 +1213,7 @@ warning_callback (struct bfd_link_info *info ATTRIBUTE_UNUSED,
|
||||
{
|
||||
bfd *b;
|
||||
/* Search all input files for a reference to SYMBOL. */
|
||||
for (b = info->input_bfds; b; b = b->link_next)
|
||||
for (b = info->input_bfds; b; b = b->link.next)
|
||||
if (b != abfd && symbol_warning (warning, symbol, b))
|
||||
return TRUE;
|
||||
einfo ("%B: %s%s\n", abfd, _("warning: "), warning);
|
||||
|
12
ld/pe-dll.c
12
ld/pe-dll.c
@ -654,7 +654,7 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *
|
||||
|
||||
/* First, run around to all the objects looking for the .drectve
|
||||
sections, and push those into the def file too. */
|
||||
for (b = info->input_bfds; b; b = b->link_next)
|
||||
for (b = info->input_bfds; b; b = b->link.next)
|
||||
{
|
||||
s = bfd_get_section_by_name (b, ".drectve");
|
||||
if (s)
|
||||
@ -700,7 +700,7 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *
|
||||
if ((pe_dll_export_everything || pe_def_file->num_exports == 0)
|
||||
&& !pe_dll_exclude_all_symbols)
|
||||
{
|
||||
for (b = info->input_bfds; b; b = b->link_next)
|
||||
for (b = info->input_bfds; b; b = b->link.next)
|
||||
{
|
||||
asymbol **symbols;
|
||||
int nsyms;
|
||||
@ -1267,7 +1267,7 @@ pe_walk_relocs_of_symbol (struct bfd_link_info *info,
|
||||
bfd *b;
|
||||
asection *s;
|
||||
|
||||
for (b = info->input_bfds; b; b = b->link_next)
|
||||
for (b = info->input_bfds; b; b = b->link.next)
|
||||
{
|
||||
asymbol **symbols;
|
||||
|
||||
@ -1330,7 +1330,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
|
||||
struct bfd_section *s;
|
||||
|
||||
total_relocs = 0;
|
||||
for (b = info->input_bfds; b; b = b->link_next)
|
||||
for (b = info->input_bfds; b; b = b->link.next)
|
||||
for (s = b->sections; s; s = s->next)
|
||||
total_relocs += s->reloc_count;
|
||||
|
||||
@ -1338,7 +1338,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
|
||||
|
||||
total_relocs = 0;
|
||||
bi = 0;
|
||||
for (bi = 0, b = info->input_bfds; b; bi++, b = b->link_next)
|
||||
for (bi = 0, b = info->input_bfds; b; bi++, b = b->link.next)
|
||||
{
|
||||
arelent **relocs;
|
||||
int relsize, nrelocs;
|
||||
@ -2726,7 +2726,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_
|
||||
ar_head = make_head (outarch);
|
||||
|
||||
/* Iterate the input BFDs, looking for exclude-modules-for-implib. */
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link_next)
|
||||
for (ibfd = info->input_bfds; ibfd; ibfd = ibfd->link.next)
|
||||
{
|
||||
/* Iterate the exclude list. */
|
||||
struct exclude_list_struct *ex;
|
||||
|
Loading…
Reference in New Issue
Block a user