Home | History | Annotate | Download | only in bfd

Lines Matching defs:output_bfd

534   bfd *output_bfd;
2011 if (!PIC_OBJECT_P (hti->output_bfd))
2415 asection *input_section, bfd *output_bfd,
2433 if (output_bfd != NULL)
2446 bfd *output_bfd, char **error_message)
2453 input_section, output_bfd,
2457 input_section, output_bfd, error_message);
2467 bfd *output_bfd, char **error_message)
2505 hi->input_section, output_bfd,
2515 input_section, output_bfd,
2526 asection *input_section, bfd *output_bfd,
2533 relocatable = (output_bfd != NULL);
3303 mips_elf_output_dynamic_relocation (bfd *output_bfd,
3314 rel[0].r_info = ELF_R_INFO (output_bfd, indx, r_type);
3317 if (ABI_64_P (output_bfd))
3319 (*get_elf_backend_data (output_bfd)->s->swap_reloc_out)
3320 (output_bfd, &rel[0],
3326 (output_bfd, &rel[0],
3477 * MIPS_ELF_GOT_SIZE (info->output_bfd)));
3651 mips_elf_got_offset_from_index (struct bfd_link_info *info, bfd *output_bfd,
3662 gp = _bfd_get_gp_value (output_bfd)
3663 + mips_elf_adjust_gp (output_bfd, htab->got_info, input_bfd);
3789 /* Return the number of dynamic section symbols required by OUTPUT_BFD.
3795 count_section_dynsyms (bfd *output_bfd, struct bfd_link_info *info)
3805 bed = get_elf_backend_data (output_bfd);
3806 for (p = output_bfd->sections; p ; p = p->next)
3809 && !(*bed->elf_backend_omit_section_dynsym) (output_bfd, info, p))
4222 entry = bfd_zalloc (arg->info->output_bfd, sizeof (*entry));
4242 range = bfd_zalloc (arg->info->output_bfd, sizeof (*range));
6364 mips_elf_create_dynamic_relocation (bfd *output_bfd,
6382 r_type = ELF_R_TYPE (output_bfd, rel->r_info);
6387 BFD_ASSERT (sreloc->reloc_count * MIPS_ELF_REL_SIZE (output_bfd)
6391 _bfd_elf_section_offset (output_bfd, info, input_section, rel[0].r_offset);
6392 if (ABI_64_P (output_bfd))
6395 _bfd_elf_section_offset (output_bfd, info, input_section, rel[1].r_offset);
6397 _bfd_elf_section_offset (output_bfd, info, input_section, rel[2].r_offset);
6419 if (SGI_COMPAT (output_bfd))
6464 if (!SGI_COMPAT (output_bfd))
6482 outrel[0].r_info = ELF_R_INFO (output_bfd, (unsigned long) indx,
6497 outrel[1].r_info = ELF_R_INFO (output_bfd, 0,
6498 ABI_64_P (output_bfd)
6501 outrel[2].r_info = ELF_R_INFO (output_bfd, 0, R_MIPS_NONE);
6515 if (ABI_64_P (output_bfd))
6517 (*get_elf_backend_data (output_bfd)->s->swap_reloc_out)
6518 (output_bfd, &outrel[0],
6527 (output_bfd, &outrel[0],
6533 (output_bfd, &outrel[0],
6545 if (IRIX_COMPAT (output_bfd) == ict_irix5)
6568 bfd_elf32_swap_crinfo_out (output_bfd, &cptrel,
7541 && info->output_bfd->xvec == abfd->xvec
9062 bfd_boolean micromips_p = MICROMIPS_P (info->output_bfd);
9063 bfd_boolean newabi_p = NEWABI_P (info->output_bfd);
9268 _bfd_mips_elf_always_size_sections (bfd *output_bfd,
9279 sect = bfd_get_section_by_name (output_bfd, ".reginfo");
9281 bfd_set_section_size (output_bfd, sect, sizeof (Elf32_External_RegInfo));
9284 sect = bfd_get_section_by_name (output_bfd, ".MIPS.abiflags");
9286 bfd_set_section_size (output_bfd, sect, sizeof (Elf_External_ABIFlags_v0));
9289 hti.output_bfd = output_bfd;
9302 mips_elf_lay_out_got (bfd *output_bfd, struct bfd_link_info *info)
9376 s->size += g->local_gotno * MIPS_ELF_GOT_SIZE (output_bfd);
9377 s->size += g->global_gotno * MIPS_ELF_GOT_SIZE (output_bfd);
9378 s->size += g->tls_gotno * MIPS_ELF_GOT_SIZE (output_bfd);
9385 if (!mips_elf_multi_got (output_bfd, info, s, page_gotno))
9395 mips_elf_replace_bfd_got (output_bfd, g);
9401 tga.value = MIPS_ELF_GOT_SIZE (output_bfd);
9423 mips_elf_estimate_stub_size (bfd *output_bfd, struct bfd_link_info *info)
9443 + count_section_dynsyms (output_bfd, info));
9450 if (!MICROMIPS_P (output_bfd))
9476 bfd *output_bfd;
9479 output_bfd = hti->output_bfd;
9485 bfd_boolean micromips_p = MICROMIPS_P (output_bfd);
9512 bfd *output_bfd = info->output_bfd;
9513 bfd_boolean micromips_p = MICROMIPS_P (output_bfd);
9529 hti.output_bfd = output_bfd;
9559 bfd_boolean micromips_p = MICROMIPS_P (info->output_bfd);
9605 _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
9626 = strlen (ELF_DYNAMIC_INTERPRETER (output_bfd)) + 1;
9628 = (bfd_byte *) ELF_DYNAMIC_INTERPRETER (output_bfd);
9645 bfd_boolean micromips_p = (MICROMIPS_P (output_bfd)
9660 else if (ABI_64_P (output_bfd))
9662 else if (ABI_N32_P (output_bfd))
9700 mips_elf_estimate_stub_size (output_bfd, info);
9702 if (!mips_elf_lay_out_got (output_bfd, info))
9735 outname = bfd_get_section_name (output_bfd,
9737 target = bfd_get_section_by_name (output_bfd, outname + 4);
9764 s->size += MIPS_ELF_RLD_MAP_SIZE (output_bfd);
9766 else if (SGI_COMPAT (output_bfd)
9774 if (! LOAD_INTERLOCKS_P (output_bfd)
9828 && !SGI_COMPAT (output_bfd)
9832 if (reltext && (SGI_COMPAT (output_bfd) || htab->is_vxworks))
9908 (output_bfd, MIPS_ELF_OPTIONS_SECTION_NAME (dynobj)))
9927 && !elf_vxworks_add_dynamic_entries (output_bfd, info))
9935 /* REL is a relocation in INPUT_BFD that is being copied to OUTPUT_BFD.
9941 mips_elf_adjust_addend (bfd *output_bfd, struct bfd_link_info *info,
9951 r_type = ELF_R_TYPE (output_bfd, rel->r_info);
9957 rel->r_addend -= _bfd_get_gp_value (output_bfd);
9960 r_symndx = ELF_R_SYM (output_bfd, rel->r_info);
9967 _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
9993 mips_reloc_against_discarded_section (bfd *output_bfd,
10002 const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
10009 r_type = ELF_R_TYPE (output_bfd, (*rel)[i].r_info);
10028 _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
10040 bed = get_elf_backend_data (output_bfd);
10051 unsigned int r_type = ELF_R_TYPE (output_bfd, rel->r_info);
10092 mips_reloc_against_discarded_section (output_bfd, info, input_bfd,
10151 mips_elf_adjust_addend (output_bfd, info, input_bfd,
10157 if (r_type == R_MIPS_64 && ! NEWABI_P (output_bfd)
10178 if (r_type == R_MIPS_64 && ! NEWABI_P (output_bfd))
10240 switch (mips_elf_calculate_relocation (output_bfd, input_bfd,
10326 if (r_type == R_MIPS_64 && ! NEWABI_P (output_bfd))
10432 bfd_put_micromips_32 (hti->output_bfd,
10435 bfd_put_micromips_32 (hti->output_bfd,
10441 bfd_put_32 (hti->output_bfd, LA25_LUI (target_high), loc);
10442 bfd_put_32 (hti->output_bfd, LA25_ADDIU (target_low), loc + 4);
10451 bfd_put_micromips_32 (hti->output_bfd,
10453 bfd_put_micromips_32 (hti->output_bfd,
10455 bfd_put_micromips_32 (hti->output_bfd,
10457 bfd_put_32 (hti->output_bfd, 0, loc + 12);
10461 bfd_put_32 (hti->output_bfd, LA25_LUI (target_high), loc);
10462 bfd_put_32 (hti->output_bfd, LA25_J (target), loc + 4);
10463 bfd_put_32 (hti->output_bfd, LA25_ADDIU (target_low), loc + 8);
10464 bfd_put_32 (hti->output_bfd, 0, loc + 12);
10524 _bfd_mips_elf_finish_dynamic_symbol (bfd *output_bfd,
10578 if (ABI_64_P (output_bfd))
10579 bfd_put_64 (output_bfd, header_address, loc);
10581 bfd_put_32 (output_bfd, header_address, loc);
10598 load = MIPS_ELF_LOAD_WORD (output_bfd);
10602 if (MIPSR6_P (output_bfd)
10605 else if (MIPSR6_P (output_bfd
10609 bfd_put_32 (output_bfd, plt_entry[0] | got_address_high, loc);
10610 bfd_put_32 (output_bfd, plt_entry[1] | got_address_low | load,
10613 if (! LOAD_INTERLOCKS_P (output_bfd) || MIPSR6_P (output_bfd))
10615 bfd_put_32 (output_bfd, plt_entry[2] | got_address_low, loc + 8);
10616 bfd_put_32 (output_bfd, plt_entry[3], loc + 12);
10620 bfd_put_32 (output_bfd, plt_entry[3], loc + 8);
10621 bfd_put_32 (output_bfd, plt_entry[2] | got_address_low,
10640 if (!MICROMIPS_P (output_bfd))
10644 bfd_put_16 (output_bfd, plt_entry[0], loc);
10645 bfd_put_16 (output_bfd, plt_entry[1], loc + 2);
10646 bfd_put_16 (output_bfd, plt_entry[2], loc + 4);
10647 bfd_put_16 (output_bfd, plt_entry[3], loc + 6);
10648 bfd_put_16 (output_bfd, plt_entry[4], loc + 8);
10649 bfd_put_16 (output_bfd, plt_entry[5], loc + 10);
10650 bfd_put_32 (output_bfd, got_address, loc + 12);
10656 bfd_put_16 (output_bfd, plt_entry[0], loc);
10657 bfd_put_16 (output_bfd, got_address_high, loc + 2);
10658 bfd_put_16 (output_bfd, plt_entry[2], loc + 4);
10659 bfd_put_16 (output_bfd, got_address_low, loc + 6);
10660 bfd_put_16 (output_bfd, plt_entry[4], loc + 8);
10661 bfd_put_16 (output_bfd, plt_entry[5], loc + 10);
10662 bfd_put_16 (output_bfd, plt_entry[6], loc + 12);
10663 bfd_put_16 (output_bfd, got_address_low, loc + 14);
10683 output_bfd,
10690 bfd_put_16 (output_bfd,
10692 bfd_put_16 (output_bfd, (gotpc_offset >> 2) & 0xffff, loc + 2);
10693 bfd_put_16 (output_bfd, plt_entry[2], loc + 4);
10694 bfd_put_16 (output_bfd, plt_entry[3], loc + 6);
10695 bfd_put_16 (output_bfd, plt_entry[4], loc + 8);
10696 bfd_put_16 (output_bfd, plt_entry[5], loc + 10);
10701 mips_elf_output_dynamic_relocation (output_bfd, htab->srelplt,
10722 bfd_boolean micromips_p = MICROMIPS_P (output_bfd);
10752 bfd_put_micromips_32 (output_bfd, STUB_LW_MICROMIPS (output_bfd),
10757 bfd_put_micromips_32 (output_bfd,
10758 STUB_MOVE32_MICROMIPS (output_bfd),
10764 bfd_put_16 (output_bfd, STUB_MOVE_MICROMIPS, stub + idx);
10771 bfd_put_micromips_32 (output_bfd,
10778 bfd_put_micromips_32 (output_bfd, STUB_JALR32_MICROMIPS,
10784 bfd_put_16 (output_bfd, STUB_JALR_MICROMIPS, stub + idx);
10791 bfd_put_micromips_32 (output_bfd,
10795 bfd_put_micromips_32 (output_bfd,
10799 bfd_put_micromips_32 (output_bfd,
10800 STUB_LI16S_MICROMIPS (output_bfd,
10807 bfd_put_32 (output_bfd, STUB_LW (output_bfd), stub + idx);
10809 bfd_put_32 (output_bfd, STUB_MOVE (output_bfd), stub + idx);
10813 bfd_put_32 (output_bfd, STUB_LUI ((h->dynindx >> 16) & 0x7fff),
10817 bfd_put_32 (output_bfd, STUB_JALR, stub + idx);
10823 bfd_put_32 (output_bfd, STUB_ORI (h->dynindx & 0xffff),
10826 bfd_put_32 (output_bfd, STUB_LI16U (h->dynindx & 0xffff),
10829 bfd_put_32 (output_bfd, STUB_LI16S (output_bfd, h->dynindx),
10878 offset = mips_elf_primary_global_got_index (output_bfd, info, h);
10879 MIPS_ELF_PUT_WORD (output_bfd, value, sgot->contents + offset);
10890 e.abfd = output_bfd;
10917 if (ABI_64_P (output_bfd))
10918 rel[0].r_info = ELF_R_INFO (output_bfd, 0, R_MIPS_64);
10920 rel[0].r_info = ELF_R_INFO (output_bfd, 0, R_MIPS_32);
10925 (output_bfd, info, rel,
10931 MIPS_ELF_PUT_WORD (output_bfd, entry, sgot->contents + offset);
10948 else if (strcmp (name, "_gp_disp") == 0 && ! NEWABI_P (output_bfd))
10952 sym->st_value = elf_gp (output_bfd);
10954 else if (SGI_COMPAT (output_bfd))
10993 mips_elf_output_dynamic_relocation (output_bfd, s, s->reloc_count++,
10998 if (IRIX_COMPAT (output_bfd) == ict_irix6)
10999 mips_elf_irix6_finish_dynamic_symbol (output_bfd, name, sym);
11020 _bfd_mips_vxworks_finish_dynamic_symbol (bfd *output_bfd,
11061 + gotplt_index * MIPS_ELF_GOT_SIZE (output_bfd));
11072 bfd_put_32 (output_bfd, plt_address,
11074 + gotplt_index * MIPS_ELF_GOT_SIZE (output_bfd)));
11082 bfd_put_32 (output_bfd, plt_entry[0] | branch_offset, loc);
11083 bfd_put_32 (output_bfd, plt_entry[1] | gotplt_index, loc + 4);
11093 bfd_put_32 (output_bfd, plt_entry[0] | branch_offset, loc);
11094 bfd_put_32 (output_bfd, plt_entry[1] | gotplt_index, loc + 4);
11095 bfd_put_32 (output_bfd, plt_entry[2] | got_address_high, loc + 8);
11096 bfd_put_32 (output_bfd, plt_entry[3] | got_address_low, loc + 12);
11097 bfd_put_32 (output_bfd, plt_entry[4], loc + 16);
11098 bfd_put_32 (output_bfd, plt_entry[5], loc + 20);
11099 bfd_put_32 (output_bfd, plt_entry[6], loc + 24);
11100 bfd_put_32 (output_bfd, plt_entry[7], loc + 28);
11109 bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
11116 bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
11122 bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
11131 bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
11152 offset = mips_elf_primary_global_got_index (output_bfd, info, h);
11153 MIPS_ELF_PUT_WORD (output_bfd, sym->st_value, sgot->contents + offset);
11178 bfd_elf32_swap_reloca_out (output_bfd, &rel,
11195 mips_finish_exec_plt (bfd *output_bfd, struct bfd_link_info *info)
11205 if (ABI_64_P (output_bfd))
11207 else if (ABI_N32_P (output_bfd))
11246 output_bfd,
11253 bfd_put_16 (output_bfd,
11255 bfd_put_16 (output_bfd, (gotpc_offset >> 2) & 0xffff, loc + 2);
11257 bfd_put_16 (output_bfd, plt_entry[i], loc + (i * 2));
11263 bfd_put_16 (output_bfd, plt_entry[0], loc);
11264 bfd_put_16 (output_bfd, gotplt_value_high, loc + 2);
11265 bfd_put_16 (output_bfd, plt_entry[2], loc + 4);
11266 bfd_put_16 (output_bfd, gotplt_value_low, loc + 6);
11267 bfd_put_16 (output_bfd, plt_entry[4], loc + 8);
11268 bfd_put_16 (output_bfd, gotplt_value_low, loc + 10);
11270 bfd_put_16 (output_bfd, plt_entry[i], loc + (i * 2));
11274 bfd_put_32 (output_bfd, plt_entry[0] | gotplt_value_high, loc);
11275 bfd_put_32 (output_bfd, plt_entry[1] | gotplt_value_low, loc + 4);
11276 bfd_put_32 (output_bfd, plt_entry[2] | gotplt_value_low, loc + 8);
11277 bfd_put_32 (output_bfd, plt_entry[3], loc + 12);
11278 bfd_put_32 (output_bfd, plt_entry[4], loc + 16);
11279 bfd_put_32 (output_bfd, plt_entry[5], loc + 20);
11280 bfd_put_32 (output_bfd, plt_entry[6], loc + 24);
11281 bfd_put_32 (output_bfd, plt_entry[7], loc + 28);
11291 mips_vxworks_finish_exec_plt (bfd *output_bfd, struct bfd_link_info *info)
11317 bfd_put_32 (output_bfd, plt_entry[0] | got_value_high, loc);
11318 bfd_put_32 (output_bfd, plt_entry[1] | got_value_low, loc + 4);
11319 bfd_put_32 (output_bfd, plt_entry[2], loc + 8);
11320 bfd_put_32 (output_bfd, plt_entry[3], loc + 12);
11321 bfd_put_32 (output_bfd, plt_entry[4], loc + 16);
11322 bfd_put_32 (output_bfd, plt_entry[5], loc + 20);
11329 bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
11336 bfd_elf32_swap_reloca_out (output_bfd, &rela, loc);
11346 bfd_elf32_swap_reloca_in (output_bfd, loc, &rel);
11348 bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
11351 bfd_elf32_swap_reloca_in (output_bfd, loc, &rel);
11353 bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
11356 bfd_elf32_swap_reloca_in (output_bfd, loc, &rel);
11358 bfd_elf32_swap_reloca_out (output_bfd, &rel, loc);
11366 mips_vxworks_finish_shared_plt (bfd *output_bfd, struct bfd_link_info *info)
11376 bfd_put_32 (output_bfd, mips_vxworks_shared_plt0_entry[i],
11383 _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd,
11410 g = mips_elf_bfd_got (output_bfd, FALSE);
11483 s = output_bfd->sections;
11496 dyn.d_un.d_val = bfd_count_sections (output_bfd) + 1;
11511 elemsize = MIPS_ELF_SYM_SIZE (output_bfd);
11512 s = bfd_get_section_by_name (output_bfd, name);
11568 (output_bfd, MIPS_ELF_OPTIONS_SECTION_NAME (output_bfd)));
11620 && elf_vxworks_finish_dynamic_entry (output_bfd, &dyn))
11651 MIPS_ELF_PUT_WORD (output_bfd,
11654 MIPS_ELF_PUT_WORD (output_bfd, 0,
11655 sgot->contents + MIPS_ELF_GOT_SIZE (output_bfd));
11656 MIPS_ELF_PUT_WORD (output_bfd, 0,
11658 + 2 * MIPS_ELF_GOT_SIZE (output_bfd));
11665 MIPS_ELF_PUT_WORD (output_bfd, (bfd_vma) 0, sgot->contents);
11666 MIPS_ELF_PUT_WORD (output_bfd, MIPS_ELF_GNU_GOT1_MASK (output_bfd),
11667 sgot->contents + MIPS_ELF_GOT_SIZE (output_bfd));
11671 = MIPS_ELF_GOT_SIZE (output_bfd);
11681 rel[0].r_info = ELF_R_INFO (output_bfd, 0, R_MIPS_REL32);
11688 MIPS_ELF_PUT_WORD (output_bfd, 0, sgot->contents
11689 + got_index++ * MIPS_ELF_GOT_SIZE (output_bfd));
11690 MIPS_ELF_PUT_WORD (output_bfd, MIPS_ELF_GNU_GOT1_MASK (output_bfd),
11692 + got_index++ * MIPS_ELF_GOT_SIZE (output_bfd));
11704 = got_index * MIPS_ELF_GOT_SIZE (output_bfd);
11706 (output_bfd, info, rel, NULL,
11748 * (ABI_64_P (output_bfd)
11772 if (SGI_COMPAT (output_bfd))
11785 bfd_elf32_swap_compact_rel_out (output_bfd, &cpt,
11810 && s->size > (bfd_vma)2 * MIPS_ELF_REL_SIZE (output_bfd))
11812 reldyn_sorting_bfd = output_bfd;
11814 if (ABI_64_P (output_bfd))
11831 mips_vxworks_finish_shared_plt (output_bfd, info);
11833 mips_vxworks_finish_exec_plt (output_bfd, info);
11838 if (!mips_finish_exec_plt (output_bfd, info))
12637 _bfd_mips_elf_write_section (bfd *output_bfd,
12662 bfd_set_section_contents (output_bfd, sec->output_section, contents,
14194 hti.output_bfd = abfd;