/titanic_41/usr/src/cmd/sgs/libld/common/ |
H A D | relocate.c | 47 #define IS_PLT(X) RELTAB_IS_PLT(X, ld_targ.t_mr.mr_reloc_table) 49 RELTAB_IS_GOT_RELATIVE(X, ld_targ.t_mr.mr_reloc_table) 50 #define IS_GOT_PC(X) RELTAB_IS_GOT_PC(X, ld_targ.t_mr.mr_reloc_table) 51 #define IS_GOTPCREL(X) RELTAB_IS_GOTPCREL(X, ld_targ.t_mr.mr_reloc_table) 52 #define IS_GOT_BASED(X) RELTAB_IS_GOT_BASED(X, ld_targ.t_mr.mr_reloc_table) 53 #define IS_GOT_OPINS(X) RELTAB_IS_GOT_OPINS(X, ld_targ.t_mr.mr_reloc_table) 55 RELTAB_IS_GOT_REQUIRED(X, ld_targ.t_mr.mr_reloc_table) 56 #define IS_PC_RELATIVE(X) RELTAB_IS_PC_RELATIVE(X, ld_targ.t_mr.mr_reloc_table) 58 RELTAB_IS_ADD_RELATIVE(X, ld_targ.t_mr.mr_reloc_table) 59 #define IS_REGISTER(X) RELTAB_IS_REGISTER(X, ld_targ.t_mr.mr_reloc_table) [all …]
|
H A D | sections.c | 387 if (rsp->rel_rtype == ld_targ.t_m.m_r_relative) in ignore_section_processing() 463 info_s.align = ld_targ.t_m.m_word_align; \ in new_section() 766 if (ident == ld_targ.t_id.id_tlsbss) { in ld_make_bss() 771 } else if (ident == ld_targ.t_id.id_bss) { in ld_make_bss() 776 } else if ((ld_targ.t_m.m_mach == EM_AMD64) && in ld_make_bss() 777 (ident == ld_targ.t_id.id_lbss)) { in ld_make_bss() 799 if (ident == ld_targ.t_id.id_tlsbss) in ld_make_bss() 846 if (ld_place_section(ofl, isec, NULL, ld_targ.t_id.id_array, NULL) == in make_array() 871 reld.rel_rtype = ld_targ.t_m.m_r_arrayaddr; in make_array() 880 reloc.r_info = ELF_R_INFO(0, ld_targ.t_m.m_r_arrayaddr); in make_array() [all …]
|
H A D | files.c | 59 if ((ehdr->e_machine != ld_targ.t_m.m_mach) && in ifl_verify() 60 ((ehdr->e_machine != ld_targ.t_m.m_machplus) && in ifl_verify() 61 ((ehdr->e_flags & ld_targ.t_m.m_flagsplus) == 0))) { in ifl_verify() 66 if (ehdr->e_ident[EI_DATA] != ld_targ.t_m.m_data) { in ifl_verify() 93 ld_targ.t_m.m_mach)); in ifl_setup() 250 CA_SUNW_SF_1, val, ld_targ.t_m.m_mach)); in sf1_cap() 321 ofl->ofl_ocapset.oc_sf_1.cm_val, ld_targ.t_m.m_mach); in sf1_cap() 323 val, ld_targ.t_m.m_mach); in sf1_cap() 359 CA_SUNW_SF_1, ofl->ofl_ocapset.oc_sf_1.cm_val, ld_targ.t_m.m_mach)); in sf1_cap() 390 tag, val, ld_targ.t_m.m_mach)); in hw_cap() [all …]
|
H A D | entry.c | 406 psegs->psg_data.sg_phdr.p_flags = ld_targ.t_m.m_dataseg_perm; in ld_ent_setup() 407 psegs->psg_bss.sg_phdr.p_flags = ld_targ.t_m.m_dataseg_perm; in ld_ent_setup() 408 psegs->psg_dynamic.sg_phdr.p_flags = ld_targ.t_m.m_dataseg_perm; in ld_ent_setup() 409 psegs->psg_sunwdtrace.sg_phdr.p_flags = ld_targ.t_m.m_dataseg_perm; in ld_ent_setup() 411 psegs->psg_ldata.sg_phdr.p_flags = ld_targ.t_m.m_dataseg_perm; in ld_ent_setup() 414 psegs->psg_sunwstack.sg_phdr.p_flags = ld_targ.t_m.m_stack_perm; in ld_ent_setup() 433 (ld_targ.t_m.m_mach != EM_AMD64)) in ld_ent_setup() 464 if ((ld_targ.t_m.m_mach != EM_AMD64)) in ld_ent_setup()
|
H A D | ldmain.c | 53 Target ld_targ; variable 117 ld_targ = *ld_targ_init_x86(); in ld_init_target() 123 ld_targ = *ld_targ_init_sparc(); in ld_init_target() 171 def_ehdr.e_ident[EI_CLASS] = ld_targ.t_m.m_class; in ld_main() 172 def_ehdr.e_ident[EI_DATA] = ld_targ.t_m.m_data; in ld_main() 173 def_ehdr.e_machine = ld_targ.t_m.m_mach; in ld_main()
|
H A D | unwind.c | 344 elfdata->d_align = ld_targ.t_m.m_word_align; in ld_unwind_make_hdr() 352 shdr->sh_type = ld_targ.t_m.m_sht_unwind; in ld_unwind_make_hdr() 354 shdr->sh_addralign = ld_targ.t_m.m_word_align; in ld_unwind_make_hdr() 367 ld_targ.t_id.id_unwindhdr, NULL)) == (Os_desc *)S_ERROR) in ld_unwind_make_hdr()
|
H A D | README.XLINK | 58 indirection, using the global ld_targ structure to access code, data, and 161 libld.so accesses via the ld_targ global variable. 168 This is the type of the ld_targ global variable. Filling in a complete 172 to ld_targ, and the Target type: 175 target-dependent code or data via the ld_targ global 195 is responsible for initializing the ld_targ global variable so that 217 sparc). It may be necessary to add new fields to the ld_targ global 223 common code can consult ld_targ.t_m.m_mach to determine the target it 232 if ((ld_targ.t_mr.mr_assign_got != NULL) && 233 (*ld_targ.t_mr.mr_assign_got)(ofl, sdp) == S_ERROR) [all …]
|
H A D | update.c | 644 if ((ld_targ.t_mr.mr_assign_got != NULL) && in update_osym() 645 (*ld_targ.t_mr.mr_assign_got)(ofl, sdp) == S_ERROR) in update_osym() 957 if ((ld_targ.t_m.m_mach == EM_AMD64) && ofl->ofl_islbss) { in update_osym() 1092 } else if ((ld_targ.t_m.m_mach == EM_AMD64) && in update_osym() 1199 if ((ld_targ.t_mr.mr_assign_got != NULL) && in update_osym() 1200 (*ld_targ.t_mr.mr_assign_got)(ofl, sdp) == S_ERROR) in update_osym() 1788 (*ld_targ.t_mr.mr_calc_plt_addr)(sdp, ofl); in update_osym() 1928 ld_targ.t_m.m_got_xnumber, ld_targ.t_m.m_got_entsize)); in update_osym() 2365 dyn->d_tag = ld_targ.t_m.m_rel_dt_count; in update_odynamic() 2422 dyn->d_un.d_ptr = ld_targ.t_m.m_rel_dt_type; in update_odynamic() [all …]
|
H A D | resolve.c | 278 if ((ld_targ.t_ms.ms_mach_sym_typecheck != NULL) && in sym_typecheck() 279 (*ld_targ.t_ms.ms_mach_sym_typecheck)(sdp, nsym, ifl, ofl)) in sym_typecheck() 306 if (ld_targ.t_ms.ms_mach_sym_typecheck != NULL) in sym_mach_check() 307 (void) (*ld_targ.t_ms.ms_mach_sym_typecheck)(sdp, nsym, in sym_mach_check() 583 if ((ld_targ.t_ms.ms_mach_sym_typecheck != NULL) && in sym_tworeals() 584 (*ld_targ.t_ms.ms_mach_sym_typecheck)(sdp, nsym, ifl, ofl)) in sym_tworeals() 842 if (ld_targ.t_m.m_mach == EM_AMD64) { 880 ((ld_targ.t_m.m_mach == EM_AMD64) && 1137 } else if ((ld_targ.t_m.m_mach == EM_AMD64) &&
|
H A D | syms.c | 103 if (ld_targ.t_ms.ms_is_regsym != NULL) { in string() 104 const char *regname = (*ld_targ.t_ms.ms_is_regsym)(ofl, ifl, in string() 428 else if ((ld_targ.t_m.m_mach == EM_AMD64) && in ld_sym_enter() 529 ((ld_targ.t_m.m_mach == EM_AMD64) && in ld_sym_enter() 1544 if ((ld_targ.t_m.m_mach == EM_AMD64) && in ld_sym_validate() 1693 ld_targ.t_id.id_bss) == S_ERROR) in ld_sym_validate() 1698 ld_targ.t_id.id_tlsbss) == S_ERROR) in ld_sym_validate() 1702 if ((ld_targ.t_m.m_mach == EM_AMD64) && in ld_sym_validate() 1705 ld_targ.t_id.id_lbss) == S_ERROR) in ld_sym_validate() 2098 rsdp = (*ld_targ.t_ms.ms_reg_find)(sym, ofl); in ld_sym_process() [all …]
|
H A D | map_v2.c | 244 type, capmask->cm_val, ld_targ.t_m.m_mach)); in set_capmask() 253 ld_targ.t_m.m_mach)); in set_capmask() 257 DBG_STATE_ADD, type, value, ld_targ.t_m.m_mach)); in set_capmask() 263 DBG_STATE_EXCLUDE, type, value, ld_targ.t_m.m_mach)); in set_capmask() 278 DBG_STATE_RESOLVED, type, capmask->cm_val, ld_targ.t_m.m_mach)); in set_capmask() 803 *flags |= ld_targ.t_m.m_dataseg_perm; in parse_segment_flags() 806 *flags |= ld_targ.t_m.m_stack_perm; in parse_segment_flags() 895 tkv.tkv_str, ld_targ.t_m.m_mach)) != 0) { in parse_cap_mask() 1010 tkv.tkv_str, ld_targ.t_m.m_mach)) != 0) { in at_cap_hw() 1015 tkv.tkv_str, ld_targ.t_m.m_mach)) != 0) { in at_cap_hw() [all …]
|
H A D | map_core.c | 902 if (cexp_ident_add(NULL, (ld_targ.t_m.m_class == ELFCLASS32) ? in cexp_ident_init() 907 switch (ld_targ.t_m.m_mach) { in cexp_ident_init() 2485 ld_targ.t_m.m_mach, sgp1)); in sort_seg_list() 2594 ld_targ.t_m.m_mach, sgp1); in sort_seg_list() 2808 conv_phdr_type(ELFOSABI_SOLARIS, ld_targ.t_m.m_mach, in ld_map_post_process() 2830 ld_targ.t_id.id_text, NULL) == (Os_desc *)S_ERROR) in ld_map_post_process() 2836 ld_targ.t_id.id_data, NULL) == (Os_desc *)S_ERROR) in ld_map_post_process()
|
H A D | _libld.h | 758 #define ld_targ ld64_targ macro 856 #define ld_targ ld32_targ macro 1002 extern Target ld_targ;
|
H A D | map.c | 83 capmask->cm_val, ld_targ.t_m.m_mach); in map_cap() 107 type, tkv.tkv_str, ld_targ.t_m.m_mach)) != 0) { in map_cap() 143 ld_targ.t_m.m_mach)); in map_cap() 649 enp->ec_type = ld_targ.t_m.m_rel_sht_type; in map_colon()
|
H A D | args.c | 615 if (ld_ent_setup(ofl, ld_targ.t_m.m_segm_align) == S_ERROR) in check_flags() 624 if (_elf_sys_encoding() != ld_targ.t_m.m_data) in check_flags() 631 if (ld_targ.t_ff.ff_execfill != NULL) in check_flags() 632 _elf_execfill(ld_targ.t_ff.ff_execfill); in check_flags() 2041 ld_targ.t_m.m_mach)); in process_files_com()
|
H A D | ldlibs.c | 346 conv_reject_desc(&rej, &rej_buf, ld_targ.t_m.m_mach)); in ld_find_library()
|
H A D | place.c | 1008 (ident != ld_targ.t_id.id_rel) && in ld_place_section() 1167 osp->os_shdr->sh_type = ld_targ.t_m.m_sht_unwind; in ld_place_section()
|
H A D | libs.c | 870 conv_reject_desc(&rej, &rej_buf, ld_targ.t_m.m_mach)); in ld_process_archive()
|
H A D | map_support.c | 645 sgp->sg_phdr.p_align = ld_targ.t_m.m_segm_align; in ld_map_seg_insert()
|