#include "bfd.h"#include "sysdep.h"#include "bfdlink.h"#include "libbfd.h"#include "elf-bfd.h"#include "elf/ppc.h"#include "elf32-ppc.h"#include "elf32-target.h"

Go to the source code of this file.
| #define add_dynamic_entry | ( | TAG, | |||
| VAL | ) | _bfd_elf_add_dynamic_entry (info, TAG, VAL) |
| #define APUINFO_LABEL "APUinfo" |
Definition at line 5964 of file elf32-ppc.c.
Referenced by ppc_elf_begin_write_processing(), and ppc_elf_final_write_processing().
| #define APUINFO_SECTION_NAME ".PPC.EMB.apuinfo" |
Definition at line 5963 of file elf32-ppc.c.
Referenced by ppc_elf_begin_write_processing(), ppc_elf_final_write_processing(), and ppc_elf_write_section().
Definition at line 1605 of file elf32-ppc.c.
Referenced by _bfd_elf_make_section_from_shdr(), adjust_field_tree_exp(), alpha_expand_block_move(), alpha_init_builtins(), alpha_lookup_xfloating_lib_func(), altivec_expand_builtin(), altivec_expand_dst_builtin(), altivec_init_builtins(), argument_info_ptr(), argument_name_ptr(), arm_expand_builtin(), arm_init_iwmmxt_builtins(), arm_override_options(), bfd_arm_get_mach_from_notes(), bfd_elf32_bfd_reloc_type_lookup(), bfd_hash_set_default_size(), bfin_expand_builtin(), choose_abi_by_name(), choose_arch_by_name(), choose_arch_by_number(), const_hash_rtx(), cplus_demangle_opname(), cplus_mangle_opname(), create_file(), cse_cc_succs(), cxx_init(), cxx_keyword_p(), cxx_keyword_subst(), darwin_file_start(), decl_attributes(), decode_f_option(), decode_reg_name(), decode_W_option(), default_get_pch_validity(), default_pch_valid_p(), demangle_expression(), demangle_function_name(), df_hard_reg_init(), display_help(), display_target_options(), do_option_spec(), dump_edge_info(), dumpem(), dumpgen(), exp_print_token(), expand_builtin_setjmp_receiver(), expand_nl_goto_receiver(), ffebad_init_0(), ffebld_init_0(), ffebld_op_string(), ffecom_build_f2c_string_(), ffecom_debug_kludge_(), ffecom_f2c_set_lio_code_(), ffecom_init_0(), ffecom_init_decl_processing(), ffeimplic_none(), ffeinfo_basictype_string(), ffeinfo_init_0(), ffeinfo_kind_message(), ffeinfo_kind_string(), ffeinfo_kindtype_string(), ffeinfo_where_string(), ffeintrin_fulfill_generic(), ffeintrin_init_0(), ffeintrin_is_intrinsic(), ffelex_cfelex_(), ffelex_hash_kludge(), ffelex_type_string_(), ffestc_R904(), ffestc_R907(), ffesymbol_attrs_string(), ffesymbol_init_0(), ffesymbol_state_string(), ffetarget_print_binary(), ffetarget_print_hex(), ffetarget_print_octal(), ffetarget_real1(), ffetarget_real2(), ffetype_lookup_kind(), ffetype_lookup_star(), ffetype_set_kind(), ffetype_set_star(), find_free_reg(), fr30_print_operand(), frv_expand_builtin(), frv_insn_unit(), frv_override_options(), frv_registers_conflict_p_1(), frv_registers_update_1(), frv_reorder_packet(), gen_insn(), global_alloc(), gs_decode_reg_name(), handle_structs_in_regs(), ia64_handle_option(), ia64_hpux_add_pragma_builtin(), ia64_override_options(), init_attributes(), init_emit_once(), init_iconv_desc(), init_optabs(), init_ra(), init_reswords(), init_spec(), ix86_expand_builtin(), ix86_init_mmx_sse_builtins(), java_decode_option(), layout_mcore_frame(), life_analysis(), lookup_spec_function(), main(), make_length_attrs(), mcore_output_inline_const_forced(), mips_expand_builtin(), mips_init_builtins(), mips_mach_extends_p(), mmix_output_condition(), openrisc_reloc_type_lookup(), order_regs_for_local_alloc(), output_block_move(), output_objc_section_asm_op(), output_options(), output_predicate_decls(), override_options(), parse_options_and_default_flags(), physmem_available(), physmem_total(), post_address(), ppc_elf_relax_section(), print_mips_disassembler_options(), print_operand(), print_reg(), print_switch_values(), print_symbol(), process_command(), remove_last_token(), rs6000_common_init_builtins(), rs6000_expand_builtin(), rs6000_file_start(), rs6000_override_options(), s390_handle_arch_option(), segv_handler(), set_sizetype(), set_spec(), set_target_switch(), sh_coff_reloc_type_lookup(), sh_elf_get_flags_from_mach(), sh_media_init_builtins(), sh_pch_valid_p(), signed_type(), sparc_add_gc_roots(), spe_expand_builtin(), spe_init_builtins(), testname(), testnames(), translate_options(), type_for_mode(), type_for_size(), ucn_valid_in_identifier(), unsigned_type(), v850_elf_reloc_type_lookup(), write_lookup_constraint(), and xstormy16_reloc_type_lookup().
| #define bfd_elf32_bfd_link_hash_table_create ppc_elf_link_hash_table_create |
Definition at line 6229 of file elf32-ppc.c.
| #define bfd_elf32_bfd_merge_private_bfd_data ppc_elf_merge_private_bfd_data |
Definition at line 6225 of file elf32-ppc.c.
| #define bfd_elf32_bfd_relax_section ppc_elf_relax_section |
Definition at line 6226 of file elf32-ppc.c.
| #define bfd_elf32_bfd_reloc_type_lookup ppc_elf_reloc_type_lookup |
Definition at line 6227 of file elf32-ppc.c.
| #define bfd_elf32_bfd_set_private_flags ppc_elf_set_private_flags |
Definition at line 6228 of file elf32-ppc.c.
| #define bfd_elf32_mkobject ppc_elf_mkobject |
Definition at line 6224 of file elf32-ppc.c.
| #define BRANCH_PREDICT_BIT 0x200000 |
| #define CROR_151515 0x4def7b82 |
| #define CROR_313131 0x4ffffb82 |
| #define DTP_OFFSET 0x8000 |
Definition at line 74 of file elf32-ppc.c.
Referenced by dtprel_base(), ppc64_elf_relocate_section(), and ppc_elf_relocate_section().
| #define ELF_ARCH bfd_arch_powerpc |
Definition at line 6199 of file elf32-ppc.c.
| #define elf_backend_add_symbol_hook ppc_elf_add_symbol_hook |
Definition at line 6240 of file elf32-ppc.c.
| #define elf_backend_additional_program_headers ppc_elf_additional_program_headers |
Definition at line 6245 of file elf32-ppc.c.
| #define elf_backend_adjust_dynamic_symbol ppc_elf_adjust_dynamic_symbol |
Definition at line 6239 of file elf32-ppc.c.
| #define elf_backend_begin_write_processing ppc_elf_begin_write_processing |
Definition at line 6249 of file elf32-ppc.c.
| #define elf_backend_can_gc_sections 1 |
Definition at line 6219 of file elf32-ppc.c.
| #define elf_backend_can_refcount 1 |
Definition at line 6220 of file elf32-ppc.c.
| #define elf_backend_check_relocs ppc_elf_check_relocs |
Definition at line 6237 of file elf32-ppc.c.
| #define elf_backend_copy_indirect_symbol ppc_elf_copy_indirect_symbol |
Definition at line 6238 of file elf32-ppc.c.
| #define elf_backend_create_dynamic_sections ppc_elf_create_dynamic_sections |
Definition at line 6236 of file elf32-ppc.c.
| #define elf_backend_fake_sections ppc_elf_fake_sections |
Definition at line 6244 of file elf32-ppc.c.
| #define elf_backend_final_write_processing ppc_elf_final_write_processing |
Definition at line 6250 of file elf32-ppc.c.
| #define elf_backend_finish_dynamic_sections ppc_elf_finish_dynamic_sections |
Definition at line 6243 of file elf32-ppc.c.
| #define elf_backend_finish_dynamic_symbol ppc_elf_finish_dynamic_symbol |
Definition at line 6242 of file elf32-ppc.c.
| #define elf_backend_gc_mark_hook ppc_elf_gc_mark_hook |
Definition at line 6232 of file elf32-ppc.c.
| #define elf_backend_gc_sweep_hook ppc_elf_gc_sweep_hook |
Definition at line 6233 of file elf32-ppc.c.
| #define elf_backend_got_header_size 12 |
Definition at line 6221 of file elf32-ppc.c.
| #define elf_backend_got_symbol_offset 4 |
Definition at line 6218 of file elf32-ppc.c.
| #define elf_backend_grok_prstatus ppc_elf_grok_prstatus |
Definition at line 6246 of file elf32-ppc.c.
| #define elf_backend_grok_psinfo ppc_elf_grok_psinfo |
Definition at line 6247 of file elf32-ppc.c.
| #define elf_backend_object_p ppc_elf_object_p |
Definition at line 6231 of file elf32-ppc.c.
| #define elf_backend_plt_not_loaded 1 |
Definition at line 6217 of file elf32-ppc.c.
| #define elf_backend_plt_sym_val ppc_elf_plt_sym_val |
Definition at line 6253 of file elf32-ppc.c.
| #define elf_backend_rela_normal 1 |
Definition at line 6222 of file elf32-ppc.c.
| #define elf_backend_reloc_type_class ppc_elf_reloc_type_class |
Definition at line 6248 of file elf32-ppc.c.
| #define elf_backend_relocate_section ppc_elf_relocate_section |
Definition at line 6235 of file elf32-ppc.c.
| #define elf_backend_section_from_shdr ppc_elf_section_from_shdr |
Definition at line 6234 of file elf32-ppc.c.
| #define elf_backend_size_dynamic_sections ppc_elf_size_dynamic_sections |
Definition at line 6241 of file elf32-ppc.c.
| #define elf_backend_special_sections ppc_elf_special_sections |
Definition at line 6252 of file elf32-ppc.c.
| #define elf_backend_write_section ppc_elf_write_section |
Definition at line 6251 of file elf32-ppc.c.
| #define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1" |
Definition at line 56 of file elf32-ppc.c.
| #define elf_info_to_howto ppc_elf_info_to_howto |
Definition at line 6207 of file elf32-ppc.c.
Definition at line 128 of file elf32-ppc.c.
Referenced by elf_create_pointer_linker_section(), and elf_finish_pointer_linker_section().
| #define ELF_MACHINE_CODE EM_PPC |
Definition at line 6200 of file elf32-ppc.c.
| #define ELF_MAXPAGESIZE 0x10000 |
Definition at line 6204 of file elf32-ppc.c.
| #define ELF_MINPAGESIZE 0x1000 |
Definition at line 6206 of file elf32-ppc.c.
| #define ELIMINATE_COPY_RELOCS 1 |
Definition at line 284 of file elf32-ppc.c.
| #define MUST_BE_DYN_RELOC | ( | RTYPE | ) |
Value:
((RTYPE) != R_PPC_REL24 \ && (RTYPE) != R_PPC_REL14 \ && (RTYPE) != R_PPC_REL14_BRTAKEN \ && (RTYPE) != R_PPC_REL14_BRNTAKEN \ && (RTYPE) != R_PPC_REL32)
Definition at line 3005 of file elf32-ppc.c.
Referenced by dec_dynrel_count(), ppc64_elf_check_relocs(), ppc64_elf_relocate_section(), ppc_elf_check_relocs(), and ppc_elf_relocate_section().
| #define NOP 0x60000000 |
Definition at line 68 of file elf32-ppc.c.
| #define PLT_ENTRY_SIZE 12 |
Definition at line 59 of file elf32-ppc.c.
| #define PLT_INITIAL_ENTRY_SIZE 72 |
Definition at line 61 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), ppc64_elf_finish_dynamic_symbol(), and ppc_elf_finish_dynamic_symbol().
| #define PLT_NUM_SINGLE_ENTRIES 8192 |
Definition at line 65 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), and ppc_elf_finish_dynamic_symbol().
| #define PLT_SLOT_SIZE 8 |
Definition at line 63 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), and ppc_elf_finish_dynamic_symbol().
| #define ppc_elf_hash_entry | ( | ent | ) | ((struct ppc_elf_link_hash_entry *) (ent)) |
Definition at line 191 of file elf32-ppc.c.
Referenced by ppc_elf_adjust_dynamic_symbol(), ppc_elf_check_relocs(), ppc_elf_link_hash_newfunc(), ppc_elf_tls_optimize(), and readonly_dynrelocs().
| #define ppc_elf_hash_table | ( | p | ) | ((struct ppc_elf_link_hash_table *) (p)->hash) |
Definition at line 227 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), ppc_elf_add_symbol_hook(), ppc_elf_adjust_dynamic_symbol(), ppc_elf_check_relocs(), ppc_elf_create_dynamic_sections(), ppc_elf_create_got(), ppc_elf_create_linker_section(), ppc_elf_finish_dynamic_sections(), ppc_elf_finish_dynamic_symbol(), ppc_elf_gc_sweep_hook(), ppc_elf_relax_section(), ppc_elf_relocate_section(), ppc_elf_size_dynamic_sections(), ppc_elf_tls_optimize(), and ppc_elf_tls_setup().
| #define ppc_elf_tdata | ( | bfd | ) | ((struct ppc_elf_obj_tdata *) (bfd)->tdata.any) |
Definition at line 125 of file elf32-ppc.c.
| #define RA_REGISTER_MASK 0x001f0000 |
| #define RA_REGISTER_SHIFT 16 |
| #define TARGET_BIG_NAME "elf32-powerpc" |
Definition at line 6198 of file elf32-ppc.c.
| #define TARGET_BIG_SYM bfd_elf32_powerpc_vec |
Definition at line 6197 of file elf32-ppc.c.
| #define TARGET_LITTLE_NAME "elf32-powerpcle" |
Definition at line 6196 of file elf32-ppc.c.
Definition at line 6195 of file elf32-ppc.c.
| #define TLS_DTPREL 8 |
Definition at line 185 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), ppc64_elf_check_relocs(), ppc64_elf_gc_sweep_hook(), ppc64_elf_relocate_section(), ppc_elf_check_relocs(), ppc_elf_relocate_section(), and ppc_elf_size_dynamic_sections().
| #define TLS_GD 1 |
Definition at line 182 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), ppc64_elf_check_relocs(), ppc64_elf_gc_sweep_hook(), ppc64_elf_relocate_section(), ppc64_elf_size_dynamic_sections(), ppc64_elf_tls_optimize(), ppc_elf_check_relocs(), ppc_elf_relocate_section(), ppc_elf_size_dynamic_sections(), and ppc_elf_tls_optimize().
| #define TLS_LD 2 |
Definition at line 183 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), ppc64_elf_check_relocs(), ppc64_elf_gc_sweep_hook(), ppc64_elf_relocate_section(), ppc64_elf_size_dynamic_sections(), ppc64_elf_tls_optimize(), ppc_elf_check_relocs(), ppc_elf_relocate_section(), ppc_elf_size_dynamic_sections(), and ppc_elf_tls_optimize().
| #define TLS_TLS 16 |
Definition at line 186 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), ppc64_elf_check_relocs(), ppc64_elf_gc_sweep_hook(), ppc64_elf_relocate_section(), ppc64_elf_tls_optimize(), ppc_elf_check_relocs(), ppc_elf_relocate_section(), ppc_elf_size_dynamic_sections(), and ppc_elf_tls_optimize().
| #define TLS_TPREL 4 |
Definition at line 184 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), ppc64_elf_check_relocs(), ppc64_elf_gc_sweep_hook(), ppc64_elf_relocate_section(), ppc64_elf_tls_optimize(), ppc_elf_check_relocs(), ppc_elf_relocate_section(), ppc_elf_size_dynamic_sections(), and ppc_elf_tls_optimize().
| #define TLS_TPRELGD 32 |
Definition at line 187 of file elf32-ppc.c.
Referenced by allocate_dynrelocs(), ppc64_elf_relocate_section(), ppc64_elf_tls_optimize(), ppc_elf_relocate_section(), ppc_elf_size_dynamic_sections(), and ppc_elf_tls_optimize().
| #define TP_OFFSET 0x7000 |
Definition at line 73 of file elf32-ppc.c.
Referenced by ppc64_elf_relocate_section(), ppc64_elf_tls_optimize(), ppc_elf_relocate_section(), and tprel_base().
| static bfd_boolean allocate_dynrelocs | ( | struct elf_link_hash_entry * | h, | |
| void * | inf | |||
| ) | [static] |
Definition at line 3015 of file elf32-ppc.c.
References bfd_elf_link_record_dynamic_symbol(), bfd_link_hash_indirect, bfd_link_hash_undefweak, bfd_link_hash_warning, ppc_elf_dyn_relocs::count, bfd_link_hash_entry::def, elf_link_hash_entry::def_dynamic, elf_link_hash_entry::def_regular, ppc_elf_link_hash_entry::dyn_relocs, elf_link_hash_table::dynamic_sections_created, elf_link_hash_entry::dynindx, ppc_elf_link_hash_table::elf, ppc_elf_link_hash_entry::elf, elf_section_data, ELF_ST_VISIBILITY, ELIMINATE_COPY_RELOCS, FALSE, elf_link_hash_entry::forced_local, ppc_elf_link_hash_table::got, elf_link_hash_entry::got, bfd_link_hash_entry::i, if(), info, elf_link_hash_entry::needs_plt, ppc_elf_dyn_relocs::next, elf_link_hash_entry::non_got_ref, NULL, elf_link_hash_entry::gotplt_union::offset, elf_link_hash_entry::other, p, ppc_elf_dyn_relocs::pc_count, bfd_link_info::pie, ppc_elf_link_hash_table::plt, elf_link_hash_entry::plt, PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE, PLT_NUM_SINGLE_ENTRIES, PLT_SLOT_SIZE, ppc_elf_hash_table, elf_link_hash_entry::gotplt_union::refcount, ppc_elf_link_hash_table::relgot, ppc_elf_link_hash_table::relplt, elf_link_hash_entry::root, s, ppc_elf_dyn_relocs::sec, bfd_link_info::shared, bfd_section::size, STV_DEFAULT, SYMBOL_CALLS_LOCAL, TLS_DTPREL, TLS_GD, TLS_LD, ppc_elf_link_hash_entry::tls_mask, TLS_TLS, TLS_TPREL, TLS_TPRELGD, TRUE, bfd_link_hash_entry::type, bfd_link_hash_entry::u, and WILL_CALL_FINISH_DYNAMIC_SYMBOL.
Definition at line 5901 of file elf32-ppc.c.
References bfd_malloc(), apuinfo_list::next, NULL, and apuinfo_list::value.
Referenced by ppc_elf_begin_write_processing().
Definition at line 5936 of file elf32-ppc.c.
References apuinfo_list::next, and apuinfo_list::value.
Referenced by ppc_elf_final_write_processing().
Definition at line 5949 of file elf32-ppc.c.
References free(), next, apuinfo_list::next, and NULL.
Referenced by ppc_elf_final_write_processing().
Definition at line 5895 of file elf32-ppc.c.
References NULL.
Referenced by ppc_elf_begin_write_processing().
| static unsigned apuinfo_list_length | ( | void | ) | [static] |
Definition at line 5922 of file elf32-ppc.c.
References count, and apuinfo_list::next.
Referenced by ppc_elf_begin_write_processing(), ppc_elf_final_write_processing(), and ppc_elf_write_section().
Definition at line 3543 of file elf32-ppc.c.
References _, bfd_error_bad_value, bfd_set_error(), and reloc_howto_struct::name.
Referenced by ppc_elf_check_relocs().
| static bfd_boolean elf_create_pointer_linker_section | ( | bfd * | abfd, | |
| struct bfd_link_info * | info, | |||
| elf_linker_section_t * | lsect, | |||
| struct elf_link_hash_entry * | h, | |||
| const Elf_Internal_Rela * | rel | |||
| ) | [static] |
Definition at line 2389 of file elf32-ppc.c.
References elf_linker_section_pointers::addend, bfd_alloc(), BFD_ASSERT, bfd_elf_link_record_dynamic_symbol(), bfd_zalloc(), elf_link_hash_entry::dynindx, ELF32_R_SYM, elf_find_pointer_linker_section(), elf_local_ptr_offsets, elf_tdata, FALSE, fprintf(), ppc_elf_link_hash_entry::linker_section_pointer, elf_linker_section_pointers::lsect, elf_linker_section_pointers::next, NULL, elf_linker_section_pointers::offset, ptr, elf_internal_rela::r_addend, elf_internal_rela::r_info, elf_linker_section::rel_section, elf_linker_section::section, bfd_link_info::shared, bfd_section::size, TRUE, and elf_linker_section_pointers::written_address_p.
Referenced by ppc_elf_check_relocs().
| static elf_linker_section_pointers_t* elf_find_pointer_linker_section | ( | elf_linker_section_pointers_t * | linker_pointers, | |
| bfd_vma | addend, | |||
| elf_linker_section_t * | lsect | |||
| ) | [static] |
Definition at line 2375 of file elf32-ppc.c.
References elf_linker_section_pointers::addend, elf_linker_section_pointers::lsect, elf_linker_section_pointers::next, and NULL.
Referenced by elf_create_pointer_linker_section(), and elf_finish_pointer_linker_section().
| static bfd_vma elf_finish_pointer_linker_section | ( | bfd * | output_bfd, | |
| bfd * | input_bfd, | |||
| struct bfd_link_info * | info, | |||
| elf_linker_section_t * | lsect, | |||
| struct elf_link_hash_entry * | h, | |||
| bfd_vma | relocation, | |||
| const Elf_Internal_Rela * | rel, | |||
| int | relative_reloc | |||
| ) | [static] |
Definition at line 2496 of file elf32-ppc.c.
References elf_linker_section_pointers::addend, BFD_ASSERT, bfd_elf32_swap_reloca_out(), bfd_put_ptr, bfd_section::contents, elf_link_hash_entry::def_regular, ELF32_R_INFO, ELF32_R_SYM, elf_find_pointer_linker_section(), elf_hash_table, elf_local_ptr_offsets, elf_section_data, fprintf(), get_elf_backend_data, i, elf_size_info::int_rels_per_ext_rel, ppc_elf_link_hash_entry::linker_section_pointer, MAX_INT_RELS_PER_EXT_REL, NULL, elf_linker_section_pointers::offset, bfd_section::output_offset, bfd_section::output_section, elf_internal_rela::r_addend, elf_internal_rela::r_info, elf_internal_rela::r_offset, elf_linker_section::rel_section, elf_backend_data::s, elf_linker_section::section, bfd_link_info::shared, elf_linker_section::sym_offset, bfd_link_info::symbolic, TRUE, bfd_section::vma, and elf_linker_section_pointers::written_address_p.
Referenced by ppc_elf_relocate_section().
| static bfd_boolean is_ppc_elf_target | ( | const struct bfd_target * | targ | ) | [static] |
Definition at line 2231 of file elf32-ppc.c.
References bfd_elf32_powerpc_vec, and bfd_elf32_powerpcle_vec.
Referenced by ppc_elf_add_symbol_hook(), ppc_elf_merge_private_bfd_data(), and ppc_elf_size_dynamic_sections().
| static bfd_boolean ppc_elf_add_symbol_hook | ( | bfd * | abfd, | |
| struct bfd_link_info * | info, | |||
| Elf_Internal_Sym * | sym, | |||
| const char **namep | ATTRIBUTE_UNUSED, | |||
| flagword *flagsp | ATTRIBUTE_UNUSED, | |||
| asection ** | secp, | |||
| bfd_vma * | valp | |||
| ) | [static] |
Definition at line 4388 of file elf32-ppc.c.
References bfd_make_section_anyway(), bfd_set_section_flags(), bfd_link_hash_table::creator, elf_gp_size, FALSE, flags, bfd_link_info::hash, is_ppc_elf_target(), NULL, ppc_elf_hash_table, bfd_link_info::relocatable, ppc_elf_link_hash_table::sbss, SEC_IS_COMMON, SHN_COMMON, elf_internal_sym::st_shndx, elf_internal_sym::st_size, and TRUE.
| static int ppc_elf_additional_program_headers | ( | bfd * | abfd | ) | [static] |
Definition at line 2737 of file elf32-ppc.c.
References bfd_get_section_by_name(), bfd_section::flags, NULL, ret, s, and SEC_ALLOC.
| static bfd_reloc_status_type ppc_elf_addr16_ha_reloc | ( | bfd *abfd | ATTRIBUTE_UNUSED, | |
| arelent * | reloc_entry, | |||
| asymbol * | symbol, | |||
| void *data | ATTRIBUTE_UNUSED, | |||
| asection * | input_section, | |||
| bfd * | output_bfd, | |||
| char **error_message | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 2136 of file elf32-ppc.c.
References abfd, reloc_cache_entry::addend, reloc_cache_entry::address, bfd_get_section_limit, bfd_is_com_section, bfd_reloc_continue, bfd_reloc_ok, bfd_reloc_outofrange, NULL, bfd_section::output_offset, bfd_section::output_section, bfd_symbol::section, bfd_symbol::value, and bfd_section::vma.
| static bfd_reloc_status_type ppc_elf_addr16_ha_reloc | ( | bfd * | , | |
| arelent * | , | |||
| asymbol * | , | |||
| void * | , | |||
| asection * | , | |||
| bfd * | , | |||
| char ** | ||||
| ) | [static] |
| static bfd_boolean ppc_elf_adjust_dynamic_symbol | ( | struct bfd_link_info * | info, | |
| struct elf_link_hash_entry * | h | |||
| ) | [static] |
Definition at line 2842 of file elf32-ppc.c.
References BFD_ALIGN, BFD_ASSERT, bfd_get_section_alignment, bfd_link_hash_defined, bfd_link_hash_defweak, bfd_link_hash_undefweak, bfd_log2(), bfd_set_section_alignment, bfd_link_hash_entry::def, elf_link_hash_entry::def_dynamic, elf_link_hash_entry::def_regular, ppc_elf_link_hash_table::dynbss, elf_link_hash_table::dynobj, ppc_elf_link_hash_table::dynsbss, ppc_elf_link_hash_table::elf, elf_gp_size, ELF_ST_VISIBILITY, ELIMINATE_COPY_RELOCS, FALSE, bfd_section::flags, fprintf(), elf_link_hash_entry::needs_copy, elf_link_hash_entry::needs_plt, ppc_elf_dyn_relocs::next, elf_link_hash_entry::non_got_ref, NULL, elf_link_hash_entry::other, bfd_section::output_section, p, elf_link_hash_entry::plt, ppc_elf_hash_entry, ppc_elf_hash_table, elf_link_hash_entry::ref_regular, ppc_elf_link_hash_table::relbss, ppc_elf_link_hash_table::relsbss, elf_link_hash_entry::root, bfd_link_hash_entry::root, s, ppc_elf_dyn_relocs::sec, SEC_ALLOC, SEC_READONLY, bfd_link_info::shared, elf_link_hash_entry::size, bfd_section::size, bfd_hash_entry::string, STT_FUNC, STV_DEFAULT, SYMBOL_CALLS_LOCAL, TRUE, bfd_link_hash_entry::type, elf_link_hash_entry::type, bfd_link_hash_entry::u, elf_link_hash_entry::u, and elf_link_hash_entry::weakdef.
| static void ppc_elf_begin_write_processing | ( | bfd * | abfd, | |
| struct bfd_link_info * | link_info | |||
| ) | [static] |
Definition at line 5970 of file elf32-ppc.c.
References _, APUINFO_LABEL, apuinfo_list_add(), apuinfo_list_init(), apuinfo_list_length(), APUINFO_SECTION_NAME, bfd_bread(), bfd_get_32, bfd_get_section_by_name(), bfd_malloc(), bfd_seek(), bfd_set_section_size(), fail, bfd_section::filepos, free(), i, bfd_link_info::input_bfds, length, bfd::link_next, NULL, num_entries, offset, ptr, SEEK_SET, bfd_section::size, strcmp(), and x2.
| static bfd_boolean ppc_elf_check_relocs | ( | bfd * | abfd, | |
| struct bfd_link_info * | info, | |||
| asection * | sec, | |||
| const Elf_Internal_Rela * | relocs | |||
| ) | [static] |
Definition at line 3557 of file elf32-ppc.c.
References _, _bfd_error_handler, bad_shared_reloc(), bfd_alloc(), BFD_ASSERT, bfd_elf_gc_record_vtentry(), bfd_elf_gc_record_vtinherit(), bfd_elf_string_from_elf_section(), bfd_error_bad_value, bfd_get_section_by_name(), bfd_get_section_name, bfd_link_hash_defweak, bfd_make_section(), bfd_section_from_r_symndx(), bfd_set_error(), bfd_set_section_alignment, bfd_set_section_flags(), ppc_elf_dyn_relocs::count, elf_link_hash_entry::def_regular, DF_STATIC_TLS, elf_link_hash_table::dynobj, ppc_elf_link_hash_table::elf, ELF32_R_SYM, ELF32_R_TYPE, elf_create_pointer_linker_section(), elf_elfheader, elf_section_data, elf_sym_hashes, elf_tdata, ELIMINATE_COPY_RELOCS, FALSE, bfd_link_info::flags, bfd_section::flags, flags, fprintf(), ppc_elf_link_hash_table::got, elf_link_hash_entry::got, h, bfd_section::has_tls_reloc, LINKER_SECTION_SDATA, LINKER_SECTION_SDATA2, long, MUST_BE_DYN_RELOC, reloc_howto_struct::name, elf_link_hash_entry::needs_plt, ppc_elf_dyn_relocs::next, elf_link_hash_entry::non_got_ref, NULL, p, ppc_elf_dyn_relocs::pc_count, elf_link_hash_entry::plt, ppc_elf_create_got(), ppc_elf_create_linker_section(), ppc_elf_hash_entry, ppc_elf_hash_table, ppc_elf_howto_init(), elf_internal_rela::r_addend, elf_internal_rela::r_info, elf_internal_rela::r_offset, elf_link_hash_entry::gotplt_union::refcount, ppc_elf_link_hash_table::refcount, rel, bfd_section::reloc_count, bfd_link_info::relocatable, elf_link_hash_entry::root, bfd_link_hash_entry::root, s, ppc_elf_link_hash_table::sdata, ppc_elf_link_hash_table::sdata2, ppc_elf_dyn_relocs::sec, SEC_ALLOC, SEC_HAS_CONTENTS, SEC_IN_MEMORY, SEC_LINKER_CREATED, SEC_LOAD, SEC_READONLY, elf_internal_shdr::sh_info, bfd_link_info::shared, strcmp(), bfd_hash_entry::string, strncmp(), ppc_elf_link_hash_table::sym_sec, bfd_link_info::symbolic, TLS_DTPREL, TLS_GD, TLS_LD, TLS_TLS, TLS_TPREL, ppc_elf_link_hash_table::tlsld_got, TRUE, bfd_link_hash_entry::type, and update_local_sym_info().
| static void ppc_elf_copy_indirect_symbol | ( | const struct elf_backend_data * | bed, | |
| struct elf_link_hash_entry * | dir, | |||
| struct elf_link_hash_entry * | ind | |||
| ) | [static] |
Definition at line 289 of file elf32-ppc.c.
References _bfd_elf_link_hash_copy_indirect(), abort, bfd_link_hash_indirect, ppc_elf_dyn_relocs::count, ppc_elf_link_hash_entry::dyn_relocs, elf_link_hash_entry::dynamic_adjusted, ELIMINATE_COPY_RELOCS, elf_link_hash_entry::needs_plt, ppc_elf_dyn_relocs::next, NULL, p, ppc_elf_dyn_relocs::pc_count, q, elf_link_hash_entry::ref_dynamic, elf_link_hash_entry::ref_regular, elf_link_hash_entry::ref_regular_nonweak, elf_link_hash_entry::root, ppc_elf_dyn_relocs::sec, ppc_elf_link_hash_entry::tls_mask, and bfd_link_hash_entry::type.
| static bfd_boolean ppc_elf_create_dynamic_sections | ( | bfd * | abfd, | |
| struct bfd_link_info * | info | |||
| ) | [static] |
Definition at line 2792 of file elf32-ppc.c.
References _bfd_elf_create_dynamic_sections(), abort, bfd_get_section_by_name(), bfd_make_section(), bfd_set_section_alignment, bfd_set_section_flags(), ppc_elf_link_hash_table::dynbss, ppc_elf_link_hash_table::dynsbss, FALSE, flags, ppc_elf_link_hash_table::got, NULL, ppc_elf_link_hash_table::plt, ppc_elf_create_got(), ppc_elf_hash_table, ppc_elf_link_hash_table::relbss, ppc_elf_link_hash_table::relplt, ppc_elf_link_hash_table::relsbss, s, SEC_ALLOC, SEC_CODE, SEC_HAS_CONTENTS, SEC_IN_MEMORY, SEC_LINKER_CREATED, SEC_LOAD, SEC_READONLY, and bfd_link_info::shared.
| static bfd_boolean ppc_elf_create_got | ( | bfd * | abfd, | |
| struct bfd_link_info * | info | |||
| ) | [static] |
Definition at line 2756 of file elf32-ppc.c.
References _bfd_elf_create_got_section(), abort, bfd_get_section_by_name(), bfd_make_section(), bfd_set_section_alignment, bfd_set_section_flags(), FALSE, flags, ppc_elf_link_hash_table::got, NULL, ppc_elf_hash_table, ppc_elf_link_hash_table::relgot, s, SEC_ALLOC, SEC_CODE, SEC_HAS_CONTENTS, SEC_IN_MEMORY, SEC_LINKER_CREATED, SEC_LOAD, SEC_READONLY, and TRUE.
Referenced by ppc_elf_check_relocs(), and ppc_elf_create_dynamic_sections().
| static elf_linker_section_t* ppc_elf_create_linker_section | ( | bfd * | abfd, | |
| struct bfd_link_info * | info, | |||
| enum elf_linker_section_enum | which | |||
| ) | [static] |
Definition at line 2613 of file elf32-ppc.c.
References _bfd_generic_link_add_one_symbol(), abort, align_power, bfd_elf_link_record_dynamic_symbol(), bfd_get_section_alignment, bfd_get_section_by_name(), bfd_link_hash_lookup(), bfd_link_hash_undefined, bfd_make_section_anyway(), bfd_set_section_alignment, bfd_set_section_flags(), bfd_zalloc(), BSF_GLOBAL, collect(), elf_link_hash_table::dynobj, ppc_elf_link_hash_table::elf, FALSE, bfd_section::flags, flags, fprintf(), get_elf_backend_data, h, bfd_link_info::hash, LINKER_SECTION_SDATA, LINKER_SECTION_SDATA2, NULL, ppc_elf_hash_table, elf_linker_section::rel_section, s, SEC_ALLOC, SEC_HAS_CONTENTS, SEC_IN_MEMORY, SEC_LINKER_CREATED, SEC_LOAD, SEC_READONLY, elf_linker_section::section, bfd_link_info::shared, bfd_section::size, STT_OBJECT, elf_linker_section::sym_hash, sym_name, elf_linker_section::sym_offset, sym_sec, bfd_link_hash_entry::type, and elf_link_hash_entry::type.
Referenced by ppc_elf_check_relocs().
| static bfd_boolean ppc_elf_fake_sections | ( | bfd *abfd | ATTRIBUTE_UNUSED, | |
| Elf_Internal_Shdr * | shdr, | |||
| asection * | asect | |||
| ) | [static] |
Definition at line 2358 of file elf32-ppc.c.
References bfd_section::flags, SEC_EXCLUDE, SEC_SORT_ENTRIES, elf_internal_shdr::sh_flags, elf_internal_shdr::sh_type, SHF_EXCLUDE, SHT_ORDERED, and TRUE.
| static void ppc_elf_final_write_processing | ( | bfd * | abfd, | |
| bfd_boolean linker | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 6113 of file elf32-ppc.c.
References _, _bfd_error_handler, APUINFO_LABEL, apuinfo_list_element(), apuinfo_list_finish(), apuinfo_list_length(), APUINFO_SECTION_NAME, bfd_get_section_by_name(), bfd_malloc(), bfd_put_32, bfd_set_section_contents(), free(), i, length, NULL, num_entries, bfd_section::size, strcpy, and x2.
| static bfd_boolean ppc_elf_finish_dynamic_sections | ( | bfd * | output_bfd, | |
| struct bfd_link_info * | info | |||
| ) | [static] |
Definition at line 4534 of file elf32-ppc.c.
References BFD_ASSERT, bfd_elf32_swap_dyn_in(), bfd_elf32_swap_dyn_out(), bfd_get_section_by_name(), bfd_put_32, bfd_section::contents, contents, elf_internal_dyn::d_ptr, elf_internal_dyn::d_tag, elf_internal_dyn::d_un, elf_internal_dyn::d_val, DT_JMPREL, DT_PLTGOT, DT_PLTRELSZ, elf_link_hash_table::dynamic_sections_created, elf_link_hash_table::dynobj, ppc_elf_link_hash_table::elf, elf_section_data, fprintf(), ppc_elf_link_hash_table::got, NULL, bfd_section::output_offset, bfd_section::output_section, ppc_elf_link_hash_table::plt, ppc_elf_hash_table, ppc_elf_link_hash_table::relplt, s, bfd_section::size, TRUE, and bfd_section::vma.
| static bfd_boolean ppc_elf_finish_dynamic_symbol | ( | bfd * | output_bfd, | |
| struct bfd_link_info * | info, | |||
| struct elf_link_hash_entry * | h, | |||
| Elf_Internal_Sym * | sym | |||
| ) | [static] |
Definition at line 4427 of file elf32-ppc.c.
References BFD_ASSERT, bfd_elf32_swap_reloca_out(), bfd_section::contents, bfd_link_hash_entry::def, elf_link_hash_entry::def_regular, elf_link_hash_entry::dynindx, elf_link_hash_table::dynobj, ppc_elf_link_hash_table::elf, ELF32_R_INFO, elf_gp_size, fprintf(), elf_link_hash_entry::needs_copy, NULL, bfd_section::output_offset, bfd_section::output_section, ppc_elf_link_hash_table::plt, elf_link_hash_entry::plt, PLT_INITIAL_ENTRY_SIZE, PLT_NUM_SINGLE_ENTRIES, PLT_SLOT_SIZE, ppc_elf_hash_table, elf_internal_rela::r_addend, elf_internal_rela::r_info, elf_internal_rela::r_offset, elf_link_hash_entry::ref_regular_nonweak, ppc_elf_link_hash_table::relbss, bfd_section::reloc_count, ppc_elf_link_hash_table::relplt, ppc_elf_link_hash_table::relsbss, elf_link_hash_entry::root, bfd_link_hash_entry::root, s, SHN_ABS, SHN_UNDEF, elf_link_hash_entry::size, elf_internal_sym::st_shndx, elf_internal_sym::st_value, strcmp(), bfd_hash_entry::string, TRUE, bfd_link_hash_entry::u, and bfd_section::vma.
| static asection* ppc_elf_gc_mark_hook | ( | asection * | sec, | |
| struct bfd_link_info *info | ATTRIBUTE_UNUSED, | |||
| Elf_Internal_Rela * | rel, | |||
| struct elf_link_hash_entry * | h, | |||
| Elf_Internal_Sym * | sym | |||
| ) | [static] |
Definition at line 4011 of file elf32-ppc.c.
References bfd_link_hash_common, bfd_link_hash_defined, bfd_link_hash_defweak, bfd_section_from_elf_index(), bfd_link_hash_entry::c, bfd_link_hash_entry::def, ELF32_R_TYPE, NULL, bfd_section::owner, elf_internal_rela::r_info, elf_link_hash_entry::root, elf_internal_sym::st_shndx, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
| static bfd_boolean ppc_elf_gc_sweep_hook | ( | bfd * | abfd, | |
| struct bfd_link_info * | info, | |||
| asection * | sec, | |||
| const Elf_Internal_Rela * | relocs | |||
| ) | [static] |
Definition at line 4050 of file elf32-ppc.c.
References bfd_link_hash_indirect, bfd_link_hash_warning, ppc_elf_link_hash_entry::dyn_relocs, ELF32_R_SYM, ELF32_R_TYPE, elf_local_got_refcounts, elf_section_data, elf_sym_hashes, elf_tdata, bfd_section::flags, elf_link_hash_entry::got, h, bfd_link_hash_entry::i, ppc_elf_dyn_relocs::next, NULL, p, elf_link_hash_entry::plt, ppc_elf_hash_table, elf_internal_rela::r_info, elf_link_hash_entry::gotplt_union::refcount, ppc_elf_link_hash_table::refcount, rel, bfd_section::reloc_count, elf_link_hash_entry::root, bfd_link_hash_entry::root, ppc_elf_dyn_relocs::sec, SEC_ALLOC, elf_internal_shdr::sh_info, strcmp(), bfd_hash_entry::string, ppc_elf_link_hash_table::tlsld_got, TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
| static bfd_boolean ppc_elf_grok_prstatus | ( | bfd * | abfd, | |
| Elf_Internal_Note * | note | |||
| ) | [static] |
Definition at line 5824 of file elf32-ppc.c.
References _bfd_elfcore_make_pseudosection(), bfd_get_16, bfd_get_32, elf_internal_note::descdata, elf_internal_note::descpos, elf_internal_note::descsz, elf_tdata, FALSE, offset, and size.
| static bfd_boolean ppc_elf_grok_psinfo | ( | bfd * | abfd, | |
| Elf_Internal_Note * | note | |||
| ) | [static] |
Definition at line 5854 of file elf32-ppc.c.
References _bfd_elfcore_strndup(), elf_internal_note::descdata, elf_internal_note::descsz, elf_tdata, FALSE, n, strlen(), and TRUE.
Definition at line 1589 of file elf32-ppc.c.
References abort, i, and reloc_howto_struct::type.
Referenced by ppc_elf_check_relocs(), ppc_elf_info_to_howto(), ppc_elf_reloc_type_lookup(), and ppc_elf_relocate_section().
| static void ppc_elf_info_to_howto | ( | bfd *abfd | ATTRIBUTE_UNUSED, | |
| arelent * | cache_ptr, | |||
| Elf_Internal_Rela * | dst | |||
| ) | [static] |
Definition at line 2121 of file elf32-ppc.c.
References BFD_ASSERT, ELF32_R_TYPE, reloc_cache_entry::howto, ppc_elf_howto_init(), and elf_internal_rela::r_info.
| static struct bfd_hash_entry* ppc_elf_link_hash_newfunc | ( | struct bfd_hash_entry * | entry, | |
| struct bfd_hash_table * | table, | |||
| const char * | string | |||
| ) | [static, read] |
Definition at line 233 of file elf32-ppc.c.
References _bfd_elf_link_hash_newfunc(), bfd_hash_allocate(), NULL, and ppc_elf_hash_entry.
Referenced by ppc_elf_link_hash_table_create().
| static struct bfd_link_hash_table* ppc_elf_link_hash_table_create | ( | bfd * | abfd | ) | [static, read] |
Definition at line 262 of file elf32-ppc.c.
References _bfd_elf_link_hash_table_init(), bfd_zmalloc(), ppc_elf_link_hash_table::elf, free(), NULL, ppc_elf_link_hash_newfunc(), ret, and elf_link_hash_table::root.
Definition at line 2243 of file elf32-ppc.c.
References _, _bfd_generic_verify_endian_match(), bfd_error_bad_value, bfd_set_error(), EF_PPC_EMB, EF_PPC_RELOCATABLE, EF_PPC_RELOCATABLE_LIB, elf_elfheader, elf_flags_init, error(), FALSE, is_ppc_elf_target(), long, TRUE, and bfd::xvec.
| static bfd_boolean ppc_elf_mkobject | ( | bfd * | abfd | ) | [static] |
Definition at line 134 of file elf32-ppc.c.
References bfd::any, bfd_zalloc(), FALSE, NULL, bfd::tdata, and TRUE.
| static bfd_boolean ppc_elf_object_p | ( | bfd * | abfd | ) | [static] |
Definition at line 2199 of file elf32-ppc.c.
References bfd::arch_info, BFD_ASSERT, bfd_arch_info::bits_per_word, elf_internal_ehdr::e_ident, EI_CLASS, elf_elfheader, ELFCLASS32, bfd_arch_info::next, bfd_arch_info::the_default, and TRUE.
| static bfd_boolean ppc_elf_relax_section | ( | bfd * | abfd, | |
| asection * | isec, | |||
| struct bfd_link_info * | link_info, | |||
| bfd_boolean * | again | |||
| ) | [static] |
Definition at line 1629 of file elf32-ppc.c.
References _bfd_elf_link_read_relocs(), _bfd_merged_section_offset(), abort, ARRAY_SIZE, bfd_abs_section_ptr, BFD_ASSERT, bfd_com_section_ptr, bfd_elf_get_elf_syms(), bfd_get_32, bfd_link_hash_defined, bfd_link_hash_defweak, bfd_link_hash_indirect, bfd_link_hash_warning, bfd_malloc(), bfd_malloc_and_get_section(), bfd_put_32, bfd_realloc(), bfd_section_from_elf_index(), changed, elf_internal_shdr::contents, contents, bfd_link_hash_entry::def, dest, ELF32_R_INFO, ELF32_R_SYM, ELF32_R_TYPE, ELF_INFO_TYPE_MERGE, elf_section_data, ELF_ST_TYPE, elf_sym_hashes, elf_tdata, f, FALSE, bfd_section::flags, free(), h, i, bfd_link_hash_entry::i, if(), indx, bfd_link_info::keep_memory, next, NULL, bfd_section::output_offset, bfd_section::output_section, ppc_elf_link_hash_table::plt, elf_link_hash_entry::plt, ppc_elf_hash_table, elf_internal_rela::r_addend, elf_internal_rela::r_info, elf_internal_rela::r_offset, R_PPC_RELAX32, R_PPC_RELAX32_PLT, R_PPC_RELAX32PC, R_PPC_RELAX32PC_PLT, bfd_section::reloc_count, relocs, elf_link_hash_entry::root, SEC_ALLOC, bfd_section::sec_info_type, SEC_RELOC, elf_internal_shdr::sh_info, bfd_link_info::shared, shared_stub_entry, SHN_ABS, SHN_COMMON, SHN_UNDEF, size, bfd_section::size, elf_internal_sym::st_info, elf_internal_sym::st_shndx, elf_internal_sym::st_value, STT_SECTION, stub_entry, TRUE, bfd_link_hash_entry::type, elf_link_hash_entry::type, bfd_link_hash_entry::u, val, and bfd_section::vma.
| static enum elf_reloc_type_class ppc_elf_reloc_type_class | ( | const Elf_Internal_Rela * | rela | ) | [static] |
Definition at line 5804 of file elf32-ppc.c.
References ELF32_R_TYPE, elf_internal_rela::r_info, reloc_class_copy, reloc_class_normal, reloc_class_plt, and reloc_class_relative.
| static reloc_howto_type* ppc_elf_reloc_type_lookup | ( | bfd *abfd | ATTRIBUTE_UNUSED, | |
| bfd_reloc_code_real_type | code | |||
| ) | [static] |
Definition at line 2018 of file elf32-ppc.c.
References BFD_RELOC_16, BFD_RELOC_16_BASEREL, BFD_RELOC_16_GOTOFF, BFD_RELOC_24_PLT_PCREL, BFD_RELOC_32, BFD_RELOC_32_PCREL, BFD_RELOC_32_PLT_PCREL, BFD_RELOC_32_PLTOFF, BFD_RELOC_CTOR, BFD_RELOC_GPREL16, BFD_RELOC_HI16, BFD_RELOC_HI16_BASEREL, BFD_RELOC_HI16_GOTOFF, BFD_RELOC_HI16_PLTOFF, BFD_RELOC_HI16_S, BFD_RELOC_HI16_S_BASEREL, BFD_RELOC_HI16_S_GOTOFF, BFD_RELOC_HI16_S_PLTOFF, BFD_RELOC_LO16, BFD_RELOC_LO16_BASEREL, BFD_RELOC_LO16_GOTOFF, BFD_RELOC_LO16_PLTOFF, BFD_RELOC_NONE, BFD_RELOC_PPC_B16, BFD_RELOC_PPC_B16_BRNTAKEN, BFD_RELOC_PPC_B16_BRTAKEN, BFD_RELOC_PPC_B26, BFD_RELOC_PPC_BA16, BFD_RELOC_PPC_BA16_BRNTAKEN, BFD_RELOC_PPC_BA16_BRTAKEN, BFD_RELOC_PPC_BA26, BFD_RELOC_PPC_COPY, BFD_RELOC_PPC_DTPMOD, BFD_RELOC_PPC_DTPREL, BFD_RELOC_PPC_DTPREL16, BFD_RELOC_PPC_DTPREL16_HA, BFD_RELOC_PPC_DTPREL16_HI, BFD_RELOC_PPC_DTPREL16_LO, BFD_RELOC_PPC_EMB_BIT_FLD, BFD_RELOC_PPC_EMB_MRKREF, BFD_RELOC_PPC_EMB_NADDR16, BFD_RELOC_PPC_EMB_NADDR16_HA, BFD_RELOC_PPC_EMB_NADDR16_HI, BFD_RELOC_PPC_EMB_NADDR16_LO, BFD_RELOC_PPC_EMB_NADDR32, BFD_RELOC_PPC_EMB_RELSDA, BFD_RELOC_PPC_EMB_RELSEC16, BFD_RELOC_PPC_EMB_RELST_HA, BFD_RELOC_PPC_EMB_RELST_HI, BFD_RELOC_PPC_EMB_RELST_LO, BFD_RELOC_PPC_EMB_SDA21, BFD_RELOC_PPC_EMB_SDA2I16, BFD_RELOC_PPC_EMB_SDA2REL, BFD_RELOC_PPC_EMB_SDAI16, BFD_RELOC_PPC_GLOB_DAT, BFD_RELOC_PPC_GOT_DTPREL16, BFD_RELOC_PPC_GOT_DTPREL16_HA, BFD_RELOC_PPC_GOT_DTPREL16_HI, BFD_RELOC_PPC_GOT_DTPREL16_LO, BFD_RELOC_PPC_GOT_TLSGD16, BFD_RELOC_PPC_GOT_TLSGD16_HA, BFD_RELOC_PPC_GOT_TLSGD16_HI, BFD_RELOC_PPC_GOT_TLSGD16_LO, BFD_RELOC_PPC_GOT_TLSLD16, BFD_RELOC_PPC_GOT_TLSLD16_HA, BFD_RELOC_PPC_GOT_TLSLD16_HI, BFD_RELOC_PPC_GOT_TLSLD16_LO, BFD_RELOC_PPC_GOT_TPREL16, BFD_RELOC_PPC_GOT_TPREL16_HA, BFD_RELOC_PPC_GOT_TPREL16_HI, BFD_RELOC_PPC_GOT_TPREL16_LO, BFD_RELOC_PPC_LOCAL24PC, BFD_RELOC_PPC_TLS, BFD_RELOC_PPC_TOC16, BFD_RELOC_PPC_TPREL, BFD_RELOC_PPC_TPREL16, BFD_RELOC_PPC_TPREL16_HA, BFD_RELOC_PPC_TPREL16_HI, BFD_RELOC_PPC_TPREL16_LO, BFD_RELOC_VTABLE_ENTRY, BFD_RELOC_VTABLE_INHERIT, NULL, ppc_elf_howto_init(), and r.
| static bfd_boolean ppc_elf_relocate_section | ( | bfd * | output_bfd, | |
| struct bfd_link_info * | info, | |||
| bfd * | input_bfd, | |||
| asection * | input_section, | |||
| bfd_byte * | contents, | |||
| Elf_Internal_Rela * | relocs, | |||
| Elf_Internal_Sym * | local_syms, | |||
| asection ** | local_sections | |||
| ) | [static] |
Definition at line 4636 of file elf32-ppc.c.
References _, _bfd_elf_rela_local_sym(), _bfd_elf_section_offset(), _bfd_error_handler, _bfd_final_link_relocate(), abfd, abort, BFD_ASSERT, bfd_elf32_swap_reloca_out(), bfd_elf_string_from_elf_section(), bfd_elf_sym_name(), bfd_error_bad_value, bfd_error_invalid_operation, bfd_get_32, bfd_get_section_by_name(), bfd_get_section_name, bfd_is_abs_section, bfd_is_und_section, bfd_link_hash_indirect, bfd_link_hash_undefweak, bfd_link_hash_warning, bfd_put_32, bfd_reloc_ok, bfd_reloc_overflow, bfd_set_error(), BRANCH_PREDICT_BIT, bfd_link_info::callbacks, bfd_section::contents, bfd_link_hash_entry::def, elf_link_hash_entry::def_dynamic, elf_link_hash_entry::def_regular, DTP_OFFSET, elf_link_hash_table::dynamic_sections_created, elf_link_hash_entry::dynindx, elf_link_hash_table::dynobj, ppc_elf_link_hash_table::elf, ELF32_R_INFO, ELF32_R_SYM, ELF32_R_TYPE, elf_elfheader, elf_finish_pointer_linker_section(), elf_local_got_offsets, elf_section_data, ELF_ST_VISIBILITY, elf_sym_hashes, elf_tdata, ELIMINATE_COPY_RELOCS, FALSE, bfd_section::flags, fprintf(), ppc_elf_link_hash_table::got, elf_link_hash_entry::got, h, bfd_link_hash_entry::i, if(), indx, insn, int, IS_PPC_TLS_RELOC, long, memset, MUST_BE_DYN_RELOC, reloc_howto_struct::name, bfd_section::name, elf_link_hash_entry::non_got_ref, NOP, NULL, ppc_elf_link_hash_table::offset, offset, elf_link_hash_entry::gotplt_union::offset, elf_link_hash_entry::other, bfd_section::output_offset, bfd_section::output_section, bfd_section::owner, reloc_howto_struct::pc_relative, ppc_elf_link_hash_table::plt, elf_link_hash_entry::plt, ppc_elf_hash_table, ppc_elf_howto_init(), printf(), r, elf_internal_rela::r_addend, elf_internal_rela::r_info, elf_internal_rela::r_offset, R_PPC_RELAX32, R_PPC_RELAX32_PLT, R_PPC_RELAX32PC, R_PPC_RELAX32PC_PLT, RA_REGISTER_MASK, RA_REGISTER_SHIFT, rel, ppc_elf_link_hash_table::relgot, bfd_section::reloc_count, RELOC_FOR_GLOBAL_SYMBOL, bfd_link_callbacks::reloc_overflow, bfd_link_info::relocatable, ret, elf_link_hash_entry::root, bfd_link_hash_entry::root, ppc_elf_link_hash_table::sdata, ppc_elf_link_hash_table::sdata2, sec, SEC_ALLOC, SEC_DEBUGGING, elf_internal_shdr::sh_info, bfd_link_info::shared, skip, strcmp(), bfd_hash_entry::string, strncmp(), STV_DEFAULT, sym, elf_linker_section::sym_hash, sym_name, SYMBOL_CALLS_LOCAL, SYMBOL_REFERENCES_LOCAL, t1, TLS_DTPREL, TLS_GD, ppc_elf_link_hash_table::tls_get_addr, TLS_LD, elf_link_hash_table::tls_sec, TLS_TLS, TLS_TPREL, TLS_TPRELGD, ppc_elf_link_hash_table::tlsld_got, TP_OFFSET, TRUE, bfd_link_hash_entry::type, bfd_link_hash_entry::u, bfd_link_callbacks::undefined_symbol, bfd_section::vma, and WILL_CALL_FINISH_DYNAMIC_SYMBOL.
| static bfd_boolean ppc_elf_section_from_shdr | ( | bfd * | abfd, | |
| Elf_Internal_Shdr * | hdr, | |||
| const char * | name | |||
| ) | [static] |
Definition at line 2335 of file elf32-ppc.c.
References _bfd_elf_make_section_from_shdr(), bfd_get_section_flags, elf_internal_shdr::bfd_section, bfd_set_section_flags(), FALSE, flags, newsect, SEC_EXCLUDE, SEC_SORT_ENTRIES, elf_internal_shdr::sh_flags, elf_internal_shdr::sh_type, SHF_EXCLUDE, SHT_ORDERED, and TRUE.
Definition at line 2218 of file elf32-ppc.c.
References BFD_ASSERT, elf_elfheader, elf_flags_init, and TRUE.
| static bfd_boolean ppc_elf_size_dynamic_sections | ( | bfd *output_bfd | ATTRIBUTE_UNUSED, | |
| struct bfd_link_info * | info | |||
| ) | [static] |
Definition at line 3269 of file elf32-ppc.c.
References _bfd_strip_section_from_output(), add_dynamic_entry, allocate_dynrelocs(), BFD_ASSERT, bfd_get_section_by_name(), bfd_get_section_name, bfd_is_abs_section, bfd_zalloc(), bfd_section::contents, ppc_elf_dyn_relocs::count, DF_TEXTREL, DT_DEBUG, DT_JMPREL, DT_PLTGOT, DT_PLTREL, DT_PLTRELSZ, DT_RELA, DT_RELAENT, DT_RELASZ, DT_TEXTREL, elf_link_hash_table::dynamic_sections_created, elf_link_hash_table::dynobj, ppc_elf_link_hash_table::elf, ELF_DYNAMIC_INTERPRETER, elf_hash_table, elf_link_hash_traverse, elf_local_got_refcounts, elf_section_data, elf_tdata, bfd_link_info::executable, FALSE, bfd_link_info::flags, bfd_section::flags, fprintf(), ppc_elf_link_hash_table::got, if(), bfd_link_info::input_bfds, is_ppc_elf_target(), bfd::link_next, bfd_section::next, ppc_elf_dyn_relocs::next, NULL, ppc_elf_link_hash_table::offset, bfd_section::output_section, p, ppc_elf_link_hash_table::plt, ppc_elf_hash_table, readonly_dynrelocs(), ppc_elf_link_hash_table::refcount, ppc_elf_link_hash_table::relgot, bfd_section::reloc_count, relocs, s, ppc_elf_link_hash_table::sdata, ppc_elf_link_hash_table::sdata2, ppc_elf_dyn_relocs::sec, SEC_ALLOC, SEC_LINKER_CREATED, SEC_READONLY, elf_linker_section::section, bfd::sections, elf_internal_shdr::sh_info, bfd_link_info::shared, bfd_section::size, strncmp(), TLS_DTPREL, TLS_GD, TLS_LD, TLS_TLS, TLS_TPREL, TLS_TPRELGD, ppc_elf_link_hash_table::tlsld_got, TRUE, and bfd::xvec.
| bfd_boolean ppc_elf_tls_optimize | ( | bfd *obfd | ATTRIBUTE_UNUSED, | |
| struct bfd_link_info * | info | |||
| ) |
Definition at line 4195 of file elf32-ppc.c.
References _bfd_elf_link_read_relocs(), abort, bfd_elf_get_elf_syms(), bfd_is_abs_section, bfd_link_hash_indirect, bfd_link_hash_warning, elf_internal_shdr::contents, elf_link_hash_entry::def_dynamic, ELF32_R_SYM, ELF32_R_TYPE, elf_local_got_refcounts, elf_section_data, elf_sym_hashes, elf_tdata, FALSE, free(), elf_link_hash_entry::got, h, bfd_section::has_tls_reloc, bfd_link_hash_entry::i, if(), bfd_link_info::input_bfds, bfd_link_info::keep_memory, bfd::link_next, bfd_section::next, NULL, bfd_section::output_section, elf_link_hash_entry::plt, ppc_elf_hash_entry, ppc_elf_hash_table, elf_internal_rela::r_info, elf_link_hash_entry::gotplt_union::refcount, ppc_elf_link_hash_table::refcount, rel, bfd_section::reloc_count, bfd_link_info::relocatable, relocs, elf_link_hash_entry::root, sec, bfd::sections, elf_internal_shdr::sh_info, bfd_link_info::shared, sym, TLS_GD, ppc_elf_link_hash_table::tls_get_addr, TLS_LD, TLS_TLS, TLS_TPREL, TLS_TPRELGD, ppc_elf_link_hash_table::tlsld_got, TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
| asection* ppc_elf_tls_setup | ( | bfd * | obfd, | |
| struct bfd_link_info * | info | |||
| ) |
Definition at line 4180 of file elf32-ppc.c.
References _bfd_elf_tls_setup(), ppc_elf_link_hash_table::elf, elf_link_hash_lookup, FALSE, ppc_elf_hash_table, ppc_elf_link_hash_table::tls_get_addr, and TRUE.
| static bfd_reloc_status_type ppc_elf_unhandled_reloc | ( | bfd * | abfd, | |
| arelent * | reloc_entry, | |||
| asymbol * | symbol, | |||
| void * | data, | |||
| asection * | input_section, | |||
| bfd * | output_bfd, | |||
| char ** | error_message | |||
| ) | [static] |
Definition at line 2170 of file elf32-ppc.c.
References _, bfd_elf_generic_reloc(), bfd_reloc_dangerous, buf, reloc_cache_entry::howto, reloc_howto_struct::name, NULL, and sprintf().
| static bfd_boolean ppc_elf_write_section | ( | bfd *abfd | ATTRIBUTE_UNUSED, | |
| asection * | asec, | |||
| bfd_byte *contents | ATTRIBUTE_UNUSED | |||
| ) | [static] |
Definition at line 6101 of file elf32-ppc.c.
References apuinfo_list_length(), APUINFO_SECTION_NAME, bfd_section::name, and strcmp().
| static bfd_boolean readonly_dynrelocs | ( | struct elf_link_hash_entry * | h, | |
| void * | info | |||
| ) | [static] |
Definition at line 3239 of file elf32-ppc.c.
References bfd_link_hash_indirect, bfd_link_hash_warning, DF_TEXTREL, FALSE, bfd_section::flags, for(), bfd_link_hash_entry::i, ppc_elf_dyn_relocs::next, NULL, bfd_section::output_section, p, ppc_elf_hash_entry, elf_link_hash_entry::root, s, ppc_elf_dyn_relocs::sec, SEC_ALLOC, SEC_READONLY, TRUE, bfd_link_hash_entry::type, and bfd_link_hash_entry::u.
| static bfd_boolean update_local_sym_info | ( | bfd * | abfd, | |
| Elf_Internal_Shdr * | symtab_hdr, | |||
| unsigned long | r_symndx, | |||
| int | tls_type | |||
| ) | [static] |
Definition at line 3517 of file elf32-ppc.c.
References bfd_zalloc(), elf_local_got_refcounts, FALSE, NULL, elf_internal_shdr::sh_info, size, and TRUE.
Referenced by ppc64_elf_check_relocs(), and ppc_elf_check_relocs().
apuinfo_list* head [static] |
Definition at line 5891 of file elf32-ppc.c.
reloc_howto_type ppc_elf_howto_raw[] [static] |
Definition at line 352 of file elf32-ppc.c.
reloc_howto_type* ppc_elf_howto_table[R_PPC_max] [static] |
Definition at line 350 of file elf32-ppc.c.
struct bfd_elf_special_section const ppc_elf_special_sections[] [static] |
Initial value:
{
{ ".tags", 5, 0, SHT_ORDERED, SHF_ALLOC },
{ ".sdata", 6, -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
{ ".sbss", 5, -2, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
{ ".sdata2", 7, -2, SHT_PROGBITS, SHF_ALLOC },
{ ".sbss2", 6, -2, SHT_PROGBITS, SHF_ALLOC },
{ ".PPC.EMB.apuinfo", 16, 0, SHT_NOTE, 0 },
{ ".PPC.EMB.sdata0", 15, 0, SHT_PROGBITS, SHF_ALLOC },
{ ".PPC.EMB.sbss0", 14, 0, SHT_PROGBITS, SHF_ALLOC },
{ ".plt", 4, 0, SHT_NOBITS, SHF_ALLOC + SHF_EXECINSTR },
{ NULL, 0, 0, 0, 0 }
}
Definition at line 6181 of file elf32-ppc.c.
const int shared_stub_entry[] [static] |
Initial value:
{
0x7c0802a6,
0x429f0005,
0x7d6802a6,
0x3d6b0000,
0x396b0018,
0x7c0803a6,
0x7d6903a6,
0x4e800420,
}
Definition at line 1607 of file elf32-ppc.c.
Referenced by ppc_elf_relax_section().
const int stub_entry[] [static] |
Initial value:
{
0x3d600000,
0x396b0000,
0x7d6903a6,
0x4e800420,
}
Definition at line 1619 of file elf32-ppc.c.
Referenced by elf32_hppa_size_stubs(), elf32_m68hc11_size_stubs(), final_link_relocate(), get_local_syms(), hppa_add_stub(), hppa_build_one_stub(), hppa_get_stub_entry(), hppa_size_one_stub(), m68hc11_elf_build_one_stub(), m68hc11_elf_export_one_stub(), m68hc11_elf_size_one_stub(), m68hc12_add_stub(), m68hc12_elf_build_one_stub(), m68hc12_elf_size_one_stub(), ppc64_elf_relocate_section(), ppc64_elf_size_stubs(), ppc_add_stub(), ppc_build_one_stub(), ppc_elf_relax_section(), ppc_get_stub_entry(), and ppc_size_one_stub().
1.5.6