Home | History | Annotate | Download | only in bfd

Lines Matching defs:bed

66   const struct elf_backend_data *bed;
91 bed = get_elf_backend_data (abfd);
92 (*bed->elf_backend_hide_symbol) (info, h, TRUE);
102 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
110 flags = bed->dynamic_sec_flags;
113 (bed->rela_plts_and_copies_p
115 (bed->dynamic_sec_flags
118 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
124 || !bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
128 if (bed->want_got_plt)
133 bed->s->log_file_align))
139 s->size += bed->got_header_size;
141 if (bed->want_got_sym)
189 const struct elf_backend_data *bed;
202 bed = get_elf_backend_data (abfd);
204 flags = bed->dynamic_sec_flags;
221 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
233 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
239 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
249 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
268 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
270 elf_section_data (s)->this_hdr.sh_entsize = bed->s->sizeof_hash_entry;
278 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
283 if (bed->s->arch_size == 64)
292 if (bed->elf_backend_create_dynamic_sections == NULL
293 || ! (*bed->elf_backend_create_dynamic_sections) (abfd, info))
309 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
314 flags = bed->dynamic_sec_flags;
317 if (bed->plt_not_loaded)
324 if (bed->plt_readonly)
329 || ! bfd_set_section_alignment (abfd, s, bed->plt_alignment))
335 if (bed->want_plt_sym)
345 (bed->rela_plts_and_copies_p
349 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
356 if (bed->want_dynbss)
383 (bed->rela_plts_and_copies_p
387 || ! bfd_set_section_alignment (abfd, s, bed->s->log_file_align))
508 const struct elf_backend_data *bed;
540 bed = get_elf_backend_data (output_bfd);
550 (*bed->elf_backend_copy_indirect_symbol) (info, h, hv);
579 bed = get_elf_backend_data (output_bfd);
582 (*bed->elf_backend_hide_symbol) (info, h, TRUE);
816 const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
821 && !(*bed->elf_backend_omit_section_dynsym) (output_bfd, info, p))
860 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
864 if (bed->elf_backend_merge_symbol_attribute)
865 (*bed->elf_backend_merge_symbol_attribute) (h, isym, definition,
917 const struct elf_backend_data *bed;
934 bed = get_elf_backend_data (abfd);
983 if (!(*bed->relocs_compatible) (abfd->xvec, info->output_bfd->xvec))
1065 && bed->is_function_type (ELF_ST_TYPE (sym->st_info)));
1068 && bed->is_function_type (h->type));
1183 (*bed->elf_backend_copy_indirect_symbol) (info, hi, h);
1190 (*bed->elf_backend_hide_symbol) (info, h, TRUE);
1230 (*bed->elf_backend_hide_symbol) (info, h, TRUE);
1328 if (bed->merge_symbol != NULL)
1330 if (!bed->merge_symbol (h, sym, psec, newdef, olddef, oldbfd, oldsec))
1409 *psec = sec = bed->common_section (oldsec);
1434 (*bed->elf_backend_hide_symbol) (info, h, TRUE);
1546 (*bed->elf_backend_copy_indirect_symbol) (info, flip, h);
1579 const struct elf_backend_data *bed;
1595 bed = get_elf_backend_data (abfd);
1596 collect = bed->collect;
1686 (*bed->elf_backend_copy_indirect_symbol) (info, ht, hi);
1762 (*bed->elf_backend_copy_indirect_symbol) (info, h, hi);
1912 const struct elf_backend_data *bed;
1935 bed = get_elf_backend_data (info->output_bfd);
1997 (*bed->elf_backend_hide_symbol) (info, h, TRUE);
2070 (*bed->elf_backend_hide_symbol) (info, h, TRUE);
2093 const struct elf_backend_data *bed;
2112 bed = get_elf_backend_data (abfd);
2115 if (shdr->sh_entsize == bed->s->sizeof_rel)
2116 swap_in = bed->s->swap_reloc_in;
2117 else if (shdr->sh_entsize == bed->s->sizeof_rela)
2118 swap_in = bed->s->swap_reloca_in;
2134 if (bed->s->arch_size == 64)
2159 irela += bed->s->int_rels_per_ext_rel;
2185 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
2200 size *= bed->s->int_rels_per_ext_rel * sizeof (Elf_Internal_Rela);
2234 * bed->s->int_rels_per_ext_rel);
2320 const struct elf_backend_data *bed;
2326 bed = get_elf_backend_data (output_bfd);
2331 swap_out = bed->s->swap_reloc_out;
2337 swap_out = bed->s->swap_reloca_out;
2352 * bed->s->int_rels_per_ext_rel);
2356 irela += bed->s->int_rels_per_ext_rel;
2392 const struct elf_backend_data *bed;
2453 bed = get_elf_backend_data (elf_hash_table (eif->info)->dynobj);
2454 if (bed->elf_backend_fixup_symbol
2455 && !(*bed->elf_backend_fixup_symbol) (eif->info, h))
2487 (*bed->elf_backend_hide_symbol) (eif->info, h, force_local);
2494 (*bed->elf_backend_hide_symbol) (eif->info, h, TRUE);
2518 (*bed->elf_backend_copy_indirect_symbol) (eif->info, weakdef, h);
2534 const struct elf_backend_data *bed;
2629 bed = get_elf_backend_data (dynobj);
2631 if (! (*bed
2721 const struct elf_backend_data *bed;
2752 bed = get_elf_backend_data (hash_table->dynobj);
2757 if (!not_local_protected || !bed->is_function_type (h->type))
2792 const struct elf_backend_data *bed;
2836 bed = get_elf_backend_data (hash_table->dynobj);
2839 if (!bed->is_function_type (h->type))
2883 const struct elf_backend_data *bed;
2890 bed = get_elf_backend_data (abfd);
2892 if (bed->is_function_type (ELF_ST_TYPE (sym->st_info)))
2901 if (bed->common_definition (sym))
3003 const struct elf_backend_data *bed;
3013 bed = get_elf_backend_data (hash_table->dynobj);
3017 newsize = s->size + bed->s->sizeof_dyn;
3024 bed->s->swap_dyn_out (hash_table->dynobj, &dyn, newcontents + s->size);
3056 const struct elf_backend_data *bed;
3059 bed = get_elf_backend_data (hash_table->dynobj);
3064 extdyn += bed->s->sizeof_dyn)
3068 bed->s->swap_dyn_in (hash_table->dynobj, extdyn, &dyn);
3152 const struct elf_backend_data *bed;
3158 bed = get_elf_backend_data (dynobj);
3165 extdyn += bed->s->sizeof_dyn)
3169 bed->s->swap_dyn_in (dynobj, extdyn, &dyn);
3188 bed->s->swap_dyn_out (dynobj, &dyn, extdyn);
3335 const struct elf_backend_data *bed;
3354 bed = get_elf_backend_data (abfd);
3379 && bed->elf_machine_code != ehdr->e_machine
3380 && ((bed->elf_machine_alt1 != 0
3381 && ehdr->e_machine == bed->elf_machine_alt1)
3382 || (bed->elf_machine_alt2 != 0
3383 && ehdr->e_machine == bed->elf_machine_alt2)))
3386 ehdr->e_machine, abfd, bed->elf_machine_code);
3439 FALSE, bed->collect, NULL)))
3524 extdyn += bed->s->sizeof_dyn)
3528 bed->s->swap_dyn_in (abfd, extdyn, &dyn);
3682 symcount = hdr->sh_size / bed->s->sizeof_sym;
3777 if (!(*bed->notice_as_needed) (abfd, info, notice_as_needed))
3840 common = bed->common_definition (isym);
3933 else if (bed->elf_add_symbol_hook)
3935 if (! (*bed->elf_add_symbol_hook) (abfd, info, isym, &name, &flags,
3966 type_change_ok = bed->type_change_ok;
3999 || bed->is_function_type (ELF_ST_TYPE (isym->st_info)))))
4119 (info, abfd, name, flags, sec, value, NULL, FALSE, bed->collect,
4138 && !bed->is_function_type (ELF_ST_TYPE (isym->st_info))
4417 (*bed->elf_backend_hide_symbol) (info, h, TRUE);
4545 if (!(*bed->notice_as_needed) (abfd, info, notice_not_needed))
4558 if (!(*bed->notice_as_needed) (abfd, info, notice_needed))
4596 (*bed->elf_backend_hide_symbol) (info, hi, TRUE);
4599 (*bed->elf_backend_copy_indirect_symbol) (info, h, hi);
4652 && !bed->is_function_type (h->type))
4768 if (bed->check_directives
4769 && !(*bed->check_directives) (abfd, info))
4791 && bed->check_relocs != NULL
4793 && (*bed->relocs_compatible) (abfd->xvec, info->output_bfd->xvec))
4814 ok = (*bed->check_relocs) (abfd, info, o, internal_relocs);
4959 const struct elf_backend_data *bed;
4985 bed = get_elf_backend_data (abfd);
4986 archive_symbol_lookup = bed->elf_backend_archive_symbol_lookup;
5177 const struct elf_backend_data *bed;
5212 if (! (*s->bed->elf_hash_symbol) (h))
5262 if (! (*s->bed->elf_hash_symbol) (h))
5339 const struct elf_backend_data *bed = get_elf_backend_data (dynobj);
5397 max = (2 + dynsymcount) * bed->s->sizeof_hash_entry;
5407 fact = i / (BFD_TARGET_PAGESIZE / bed->s->sizeof_hash_entry) + 1;
5418 fact = i / (BFD_TARGET_PAGESIZE / bed->s->sizeof_hash_entry) + 1;
5547 const struct elf_backend_data *bed;
5557 bed = get_elf_backend_data (output_bfd);
5572 if (bed->elf_backend_always_size_sections
5573 && ! (*bed->elf_backend_always_size_sections) (output_bfd, info))
5604 else if (bed->default_execstack)
5909 bed->s->sizeof_sym))
5917 && bed->elf_backend_size_dynamic_sections != NULL
5918 && ! (*bed->elf_backend_size_dynamic_sections) (output_bfd, info))
6363 const struct elf_backend_data *bed;
6368 bed = get_elf_backend_data (output_bfd);
6369 (*bed->elf_backend_init_index_section) (output_bfd, info);
6412 s->size = dynsymcount * bed->s->sizeof_sym;
6423 memset (s->contents, 0, section_sym_count * bed->s->sizeof_sym);
6502 cinfo.bed = bed;
6530 s->size = 5 * 4 + bed->s->arch_size / 8;
6544 bfd_put (bed->s->arch_size, output_bfd, 0, contents + 16);
6547 contents + 16 + bed->s->arch_size / 8);
6564 if (bed->s->arch_size == 64)
6640 bfd_put (bed->s->arch_size, output_bfd, cinfo.bitmask[i],
6642 contents += bed->s->arch_size / 8;
7980 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
7989 if (reldata->hdr->sh_entsize == bed->s->sizeof_rel)
7991 swap_in = bed->s->swap_reloc_in;
7992 swap_out = bed->s->swap_reloc_out;
7994 else if (reldata->hdr->sh_entsize == bed->s->sizeof_rela)
7996 swap_in = bed->s->swap_reloca_in;
7997 swap_out = bed->s->swap_reloca_out;
8002 if (bed->s->int_rels_per_ext_rel > MAX_INT_RELS_PER_EXT_REL)
8005 if (bed->s->arch_size == 32)
8028 for (j = 0; j < bed->s->int_rels_per_ext_rel; j++)
8102 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
8103 int i2e = bed->s->int_rels_per_ext_rel;
8129 if ((o->size % bed->s->sizeof_rela) == 0)
8131 if ((o->size % bed->s->sizeof_rel) == 0)
8152 else if ((o->size % bed->s->sizeof_rel) == 0)
8183 if ((o->size % bed->s->sizeof_rela) == 0)
8185 if ((o->size % bed->s->sizeof_rel) == 0)
8206 else if ((o->size % bed->s->sizeof_rel) == 0)
8246 ext_size = bed->s->sizeof_rela;
8247 swap_in = bed->s->swap_reloca_in;
8248 swap_out = bed->s->swap_reloca_out;
8253 ext_size = bed->s->sizeof_rel;
8254 swap_in = bed->s->swap_reloc_in;
8255 swap_out = bed->s->swap_reloc_out;
8281 if (bed->s->arch_size == 32)
8310 s->type = (*bed->elf_backend_reloc_type_class) (info, o, s->rela);
8367 const struct elf_backend_data *bed)
8377 amt = flinfo->symbuf_count * bed->s->sizeof_sym;
8403 const struct elf_backend_data *bed;
8405 bed = get_elf_backend_data (flinfo->output_bfd);
8406 output_symbol_hook = bed->elf_backend_link_output_symbol_hook;
8428 if (! elf_link_flush_output_syms (flinfo, bed))
8432 dest = flinfo->symbuf + flinfo->symbuf_count * bed->s->sizeof_sym;
8452 bed->s->swap_symbol_out (flinfo->output_bfd, elfsym, dest, destshndx);
8486 const struct elf_backend_data *bed,
8550 symcount = hdr->sh_size / bed->s->sizeof_sym;
8650 const struct elf_backend_data *bed;
8694 bed = get_elf_backend_data (flinfo->output_bfd);
8707 if (bed->elf_backend_ignore_undef_symbol)
8708 ignore_undef = bed->elf_backend_ignore_undef_symbol (h);
8714 && !elf_link_check_versioned_symbol (flinfo->info, bed, h)
8740 && !elf_link_check_versioned_symbol (flinfo->info, bed, h))
8906 sym.st_shndx = bed->common_section_index (input_sec);
8936 if (! ((*bed->elf_backend_finish_dynamic_symbol)
9027 esym = flinfo->dynsym_sec->contents + h->dynindx * bed->s->sizeof_sym;
9033 bed->s->swap_symbol_out (flinfo->output_bfd, &sym, esym, 0);
9115 const struct elf_backend_data *bed;
9126 bed = get_elf_backend_data (sec->owner);
9127 if (bed->elf_backend_ignore_discarded_relocs != NULL
9128 && (*bed->elf_backend_ignore_discarded_relocs) (sec))
9224 const struct elf_backend_data *bed;
9232 bed = get_elf_backend_data (output_bfd);
9233 relocate_section = bed->elf_backend_relocate_section;
9244 locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym;
9423 if (bed->s->arch_size == 32)
9530 if (bed->caches_rawsize
9585 action_discarded = (*bed->action_discarded) (o);
9594 relend = rel + o->reloc_count * bed->s->int_rels_per_ext_rel;
9762 irelaend = irela + o->reloc_count * bed->s->int_rels_per_ext_rel;
9769 * bed->s->int_rels_per_ext_rel);
9781 if (next_erel == bed->s->int_rels_per_ext_rel)
9791 rela_normal = bed->rela_normal;
9977 if (!bed->elf_backend_emit_relocs (output_bfd, o,
9983 * bed->s->int_rels_per_ext_rel);
9990 if (!bed->elf_backend_emit_relocs (output_bfd, o,
10000 if (bed->elf_backend_write_section
10001 && (*bed->elf_backend_write_section) (output_bfd, flinfo->info, o,
10084 const struct elf_backend_data *bed = get_elf_backend_data (output_bfd);
10211 for (i = 0; i < bed->s->int_rels_per_ext_rel; i++)
10217 if (bed->s->arch_size == 32)
10226 erel += reldata->count * bed->s->sizeof_rel;
10227 (*bed->s->swap_reloc_out) (output_bfd, irel, erel);
10232 erel += reldata->count * bed->s->sizeof_rela;
10233 (*bed->s->swap_reloca_out) (output_bfd, irel, erel);
10262 const struct elf_backend_data *bed
10264 if (bed->link_order_error_handler)
10265 bed->link_order_error_handler
10307 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
10324 && elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass
10450 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
10587 else if (bed->elf_backend_count_relocs)
10588 reloc_count = (*bed->elf_backend_count_relocs) (info, sec);
10604 / bed->s->sizeof_sym);
10715 symtab_hdr->sh_entsize = bed->s->sizeof_sym;
10719 symtab_hdr->sh_addralign = (bfd_vma) 1 << bed->s->log_file_align;
10735 amt *= bed->s->sizeof_sym;
10812 amt = max_internal_reloc_count * bed->s->int_rels_per_ext_rel;
10821 amt = max_sym_count * bed->s->sizeof_sym;
10874 if (bed->static_tls_alignment == 1)
10916 && elf_elfheader (sub)->e_ident[EI_CLASS] == bed->s->elfclass)
10939 != bed->s->elfclass))
10943 if (bed->s->elfclass == ELFCLASS64)
11004 if (bed->elf_backend_output_arch_local_syms)
11010 if (! ((*bed->elf_backend_output_arch_local_syms)
11057 dest = dynsym + dynindx * bed->s->sizeof_sym;
11060 bed->s->swap_symbol_out (abfd, &sym, dest, 0);
11095 dest = dynsym + e->dynindx * bed->s->sizeof_sym;
11096 bed->s->swap_symbol_out (abfd, &sym, dest, 0);
11114 if (bed->elf_backend_output_arch_syms)
11120 if (! ((*bed->elf_backend_output_arch_syms)
11126 if (! elf_link_flush_output_syms (&flinfo, bed))
11206 for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn)
11212 bed->s->swap_dyn_in (dynobj, dyncon, &dyn);
11219 if (relativecount > 0 && dyncon + bed->s->sizeof_dyn < dynconend)
11364 bed->s->swap_dyn_out (dynobj, &dyn, dyncon);
11371 if (! (*bed->elf_backend_finish_dynamic_sections) (abfd, info))
11383 for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn)
11387 bed->s->swap_dyn_in (dynobj, dyncon, &dyn);
11488 const struct elf_backend_data *bed;
11490 bed = get_elf_backend_data (abfd);
11498 cookie->locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym;
11507 if (bed->s->arch_size == 32)
11550 const struct elf_backend_data *bed;
11559 bed = get_elf_backend_data (abfd);
11567 + sec->reloc_count * bed->s->int_rels_per_ext_rel);
11929 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
11930 gc_sweep_hook_fn gc_sweep_hook = bed->gc_sweep_hook;
12000 sweep_info.hide_symbol = bed->elf_backend_hide_symbol;
12047 const struct elf_backend_data *bed;
12050 bed = get_elf_backend_data (h->root.u.def.section->owner);
12051 log_file_align = bed->s->log_file_align;
12072 const struct elf_backend_data *bed;
12090 bed = get_elf_backend_data (sec->owner);
12091 log_file_align = bed->s->log_file_align;
12093 relend = relstart + sec->reloc_count * bed->s->int_rels_per_ext_rel;
12173 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
12176 if (!bed->can_gc_sections
12183 bed->gc_keep (info);
12217 elf_link_hash_traverse (htab, bed->gc_mark_dynamic_ref, info);
12220 gc_mark_hook = bed->gc_mark_hook;
12244 bed->gc_mark_extra_sections (info, gc_mark_hook);
12262 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
12267 extsymcount = elf_tdata (abfd)->symtab_hdr.sh_size / bed->s->sizeof_sym;
12322 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
12323 unsigned int log_file_align = bed->s->log_file_align;
12422 const struct elf_backend_data *bed = get_elf_backend_data (obfd);
12432 lookup = bed->elf_backend_lookup_section_flags_hook;
12493 const struct elf_backend_data *bed = get_elf_backend_data (obfd);
12498 gofarg->gotoff += bed->got_elt_size (obfd, gofarg->info, h, NULL, 0);
12514 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
12525 if (bed->want_got_plt)
12528 gotoff = bed->got_header_size;
12546 locsymcount = symtab_hdr->sh_size / bed->s->sizeof_sym;
12555 gotoff += bed->got_elt_size (abfd, info, NULL, i, j);
12721 const struct elf_backend_data *bed;
12726 bed = get_elf_backend_data (abfd);
12728 if (bed->elf_backend_discard_info != NULL)
12733 if ((*bed->elf_backend_discard_info) (abfd, &cookie, info))
12921 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
12922 return bed->s->arch_size / 8;
13054 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
13055 bfd_byte *loc = s->contents + (s->reloc_count++ * bed->s->sizeof_rela);
13056 BFD_ASSERT (loc + bed->s->sizeof_rela <= s->contents + s->size);
13057 bed->s->swap_reloca_out (abfd, rel, loc);
13065 const struct elf_backend_data *bed = get_elf_backend_data (abfd);
13066 bfd_byte *loc = s->contents + (s->reloc_count++ * bed->s->sizeof_rel);
13067 BFD_ASSERT (loc + bed->s->sizeof_rel <= s->contents + s->size);
13068 bed->s->swap_reloc_out (abfd, rel, loc);