/illumos-gate/usr/src/cmd/sgs/libld/common/ |
H A D | ldmain.c | 79 ld_eprintf(Ofl_desc *ofl, Error error, const char *format, ...) argument 89 ofl->ofl_flags |= FLG_OF_WARN; 92 if ((ofl->ofl_guideflags & FLG_OFG_ENABLE) == 0) 94 ofl->ofl_guideflags |= FLG_OFG_ISSUED; 95 ofl->ofl_flags |= FLG_OF_WARN; 98 ofl->ofl_flags |= FLG_OF_FATAL; 103 veprintf(ofl->ofl_lml, error, format, args); 148 Ofl_desc *ofl; local 159 if ((ofl = libld_calloc(1, sizeof (Ofl_desc))) == 0) 170 ofl 519 ld_ofl_cleanup(Ofl_desc *ofl) argument [all...] |
H A D | args.c | 240 * ofl - Output file descriptor 246 ld_rescan_archives(Ofl_desc *ofl, int isgrp, int end_arg_ndx) argument 248 ofl->ofl_flags1 |= FLG_OF1_EXTRACT; 250 while (ofl->ofl_flags1 & FLG_OF1_EXTRACT) { 253 Word start_ndx = isgrp ? ofl->ofl_ars_gsndx : 0; 256 ofl->ofl_flags1 &= ~FLG_OF1_EXTRACT; 258 DBG_CALL(Dbg_file_ar_rescan(ofl->ofl_lml, 259 isgrp ? ofl->ofl_ars_gsandx : 1, end_arg_ndx)); 261 for (APLIST_TRAVERSE(ofl->ofl_ars, idx, adp)) { 276 ofl 298 check_flags(Ofl_desc * ofl, int argc) argument 711 createargv(Ofl_desc *ofl, int *usage) argument 842 guidance_parse(Ofl_desc *ofl, char *optarg) argument 932 assdeflib_parse(Ofl_desc *ofl, char *optarg) argument 970 parseopt_pass1(Ofl_desc *ofl, int argc, char **argv, int *usage) argument 1743 parseopt_pass2(Ofl_desc *ofl, int argc, char **argv) argument 1952 process_flags_com(Ofl_desc *ofl, int argc, char **argv, int *usage) argument 1985 ld_process_flags(Ofl_desc *ofl, int argc, char **argv) argument 2018 process_files_com(Ofl_desc *ofl, int argc, char **argv) argument 2078 ld_process_files(Ofl_desc *ofl, int argc, char **argv) argument 2159 ld_init_strings(Ofl_desc *ofl) argument [all...] |
H A D | sections.c | 44 remove_local(Ofl_desc *ofl, Sym_desc *sdp, int allow_ldynsym) argument 51 if ((ofl->ofl_flags & FLG_OF_REDLSYM) == 0) { 52 ofl->ofl_locscnt--; 54 err = st_delstring(ofl->ofl_strtab, sdp->sd_name); 58 ofl->ofl_dynlocscnt--; 60 err = st_delstring(ofl->ofl_dynstrtab, sdp->sd_name); 70 remove_scoped(Ofl_desc *ofl, Sym_desc *sdp, int allow_ldynsym) argument 77 ofl->ofl_scopecnt--; 78 ofl->ofl_elimcnt++; 80 err = st_delstring(ofl 95 ignore_sym(Ofl_desc *ofl, Ifl_desc *ifl, Sym_desc *sdp, int allow_ldynsym) argument 204 adjust_os_count(Ofl_desc *ofl) argument 271 ignore_section_processing(Ofl_desc *ofl) argument 426 new_section(Ofl_desc *ofl, Word shtype, const char *shname, Xword entcnt, Is_desc **ret_isec, Shdr **ret_shdr, Elf_Data **ret_data) argument 691 new_section_from_template(Ofl_desc *ofl, Is_desc *tmpl_isp, size_t size, Is_desc **ret_isec, Shdr **ret_shdr, Elf_Data **ret_data) argument 743 ld_make_bss(Ofl_desc *ofl, Xword size, Xword align, uint_t ident) argument 819 make_array(Ofl_desc *ofl, Word shtype, const char *sectname, APlist *alp) argument 905 make_comment(Ofl_desc *ofl) argument 936 make_dynamic(Ofl_desc *ofl) argument 1323 ld_make_got(Ofl_desc *ofl) argument 1355 make_interp(Ofl_desc *ofl) argument 1410 make_sym_sec(Ofl_desc *ofl, const char *sectname, Word stype, int ident) argument 1597 make_cap(Ofl_desc *ofl, Word shtype, const char *shname, int ident) argument 1915 make_plt(Ofl_desc *ofl) argument 1959 make_hash(Ofl_desc *ofl) argument 2017 make_symtab(Ofl_desc *ofl) argument 2098 make_dynsym(Ofl_desc *ofl) argument 2180 make_dynsort(Ofl_desc *ofl) argument 2223 make_dyn_shndx(Ofl_desc *ofl, const char *shname, Os_desc *symtab, Os_desc **ret_os) argument 2252 make_dynsym_shndx(Ofl_desc *ofl) argument 2277 make_shstrtab(Ofl_desc *ofl) argument 2310 make_strtab(Ofl_desc *ofl) argument 2345 make_dynstr(Ofl_desc *ofl) argument 2428 make_reloc(Ofl_desc *ofl, Os_desc *osp) argument 2542 make_verneed(Ofl_desc *ofl) argument 2572 make_verdef(Ofl_desc *ofl) argument 2616 ld_make_parexpn_data(Ofl_desc *ofl, size_t size, Xword align) argument 2659 ld_make_sunwmove(Ofl_desc *ofl, int mv_nums) argument 2703 strmerge_get_reloc_str(Ofl_desc *ofl, Rel_desc *rsp) argument 2765 strmerge_pass1(Ofl_desc *ofl, Os_desc *osp, Str_tbl *mstrtab, APlist **rel_alpp, APlist **sym_alpp, Rel_cache *rcp) argument 2837 ld_make_strmerge(Ofl_desc *ofl, Os_desc *osp, APlist **rel_alpp, APlist **sym_alpp) argument 3118 ld_make_sections(Ofl_desc *ofl) argument 3413 ld_make_data(Ofl_desc *ofl, size_t size) argument 3438 ld_make_text(Ofl_desc *ofl, size_t size) argument 3485 ld_comdat_validate(Ofl_desc *ofl, Ifl_desc *ifl) argument [all...] |
H A D | outfile.c | 78 ld_open_outfile(Ofl_desc * ofl) argument 87 mode = (ofl->ofl_flags & (FLG_OF_EXEC | FLG_OF_SHAROBJ)) 91 if (stat(ofl->ofl_name, &status) == 0) { 99 ofl->ofl_flags1 |= FLG_OF1_NONREG; 126 if ((ofl->ofl_fd = open(ofl->ofl_name, O_RDWR, 131 ld_eprintf(ofl, ERR_FATAL, 133 ofl->ofl_name, strerror(err)); 137 (void) close(ofl->ofl_fd); 140 if ((unlink(ofl 185 pad_outfile(Ofl_desc *ofl) argument 287 create_outsec(Ofl_desc *ofl, Sg_desc *sgp, Os_desc *osp, Word ptype, int shidx, Boolean fixalign) argument 368 ld_create_outfile(Ofl_desc *ofl) argument [all...] |
H A D | ldlibs.c | 62 compat_YL_YU(Ofl_desc *ofl, char *path, int index) argument 71 DBG_CALL(Dbg_libs_ylu(ofl->ofl_lml, Llibdir, 82 DBG_CALL(Dbg_libs_ylu(ofl->ofl_lml, Ulibdir, 91 process_lib_path(Ofl_desc *ofl, APlist **apl, char *path, Boolean subsflag) argument 104 compat_YL_YU(ofl, dot, i) : dot), 109 compat_YL_YU(ofl, path, i) : path), 120 compat_YL_YU(ofl, dot, i) : dot), 125 compat_YL_YU(ofl, path, i) : path), 138 compat_YL_YU(ofl, path, i) : path), 144 compat_YL_YU(ofl, do 158 ld_add_libdir(Ofl_desc *ofl, const char *path) argument 178 find_lib_name(const char *dir, const char *file, Ofl_desc *ofl, Rej_desc *rej, ofl_flag_t flags) argument 284 ld_find_library(const char *name, Ofl_desc *ofl) argument 371 ld_lib_setup(Ofl_desc *ofl) argument [all...] |
H A D | wrap.c | 81 * ofl - Output file descriptor 87 * On success, updates ofl->wrap_cache with a pointer to the 92 ld_wrap_enter(Ofl_desc *ofl, const char *name) argument 100 if (ofl->ofl_wrap == NULL) { 101 ofl->ofl_wrap = libld_calloc(1, sizeof (*ofl->ofl_wrap)); 102 if (ofl->ofl_wrap == NULL) 104 avl_create(ofl->ofl_wrap, wrap_cmp, sizeof (WrapSymNode), 110 if ((wsnp = avl_find(ofl->ofl_wrap, &wsn, &where)) != NULL) 129 avl_insert(ofl [all...] |
H A D | exit.c | 43 ld_exit(Ofl_desc *ofl) argument 48 if ((ofl->ofl_fd > 0) && ((ofl->ofl_flags1 & FLG_OF1_NONREG) == 0)) 49 (void) unlink(ofl->ofl_name); 54 ld_sup_atexit(ofl, 1); 62 if (ofl->ofl_guideflags & FLG_OFG_ISSUED) 63 ld_eprintf(ofl, ERR_GUIDANCE, MSG_INTL(MSG_GUIDE_SUMMARY)); 136 ld_init_sighandler(Ofl_desc *ofl) argument 141 Ofl = ofl; 155 if (ofl [all...] |
H A D | machrel.amd.c | 74 ld_find_got_ndx(Alist *alp, Gotref gref, Ofl_desc *ofl, Rel_desc *rdesc) argument 81 if ((gref == GOT_REF_TLSLD) && ofl->ofl_tlsldgotndx) 82 return (ofl->ofl_tlsldgotndx); 94 ld_calc_got_offset(Rel_desc *rdesc, Ofl_desc *ofl) argument 96 Os_desc *osp = ofl->ofl_osgot; 111 gnp = ld_find_got_ndx(sdp->sd_GOTndxs, gref, ofl, rdesc); 140 ld_mach_eflags(Ehdr *ehdr, Ofl_desc *ofl) argument 142 ofl->ofl_dehdr->e_flags |= ehdr->e_flags; 146 ld_mach_make_dynamic(Ofl_desc *ofl, size_t *cnt) argument 148 if (!(ofl 158 ld_mach_update_odynamic(Ofl_desc *ofl, Dyn **dyn) argument 171 ld_calc_plt_addr(Sym_desc *sdp, Ofl_desc *ofl) argument 194 plt_entry(Ofl_desc * ofl, Sym_desc * sdp) argument 281 ld_perform_outreloc(Rel_desc * orsp, Ofl_desc * ofl, Boolean *remain_seen) argument 536 tls_fixups(Ofl_desc *ofl, Rel_desc *arsp) argument 751 ld_do_activerelocs(Ofl_desc *ofl) argument 1124 ld_add_outrel(Word flags, Rel_desc *rsp, Ofl_desc *ofl) argument 1210 ld_disp_errmsg(MSG_INTL(MSG_REL_DISPREL4), orsp, ofl); local 1221 ld_reloc_local(Rel_desc * rsp, Ofl_desc * ofl) argument 1303 ld_reloc_TLS(Boolean local, Rel_desc * rsp, Ofl_desc * ofl) argument 1386 ld_assign_got_ndx(Alist **alpp, Gotndx *pgnp, Gotref gref, Ofl_desc *ofl, Rel_desc *rsp, Sym_desc *sdp) argument 1440 ld_assign_plt_ndx(Sym_desc * sdp, Ofl_desc *ofl) argument 1460 ld_fillin_gotplt(Ofl_desc *ofl) argument [all...] |
H A D | update.c | 86 * ofl - Output file descriptor 99 dynsort_dupwarn(Ofl_desc *ofl, Sym *ldynsym, const char *str, argument 102 int zverbose = (ofl->ofl_flags & FLG_OF_VERBOSE) != 0; 116 ld_eprintf(ofl, ERR_WARNING, 121 DBG_CALL(Dbg_syms_dup_sort_addr(ofl->ofl_lml, secname, 140 update_osym(Ofl_desc *ofl) argument 220 ofl_flag_t flags = ofl->ofl_flags; 239 ((flags & FLG_OF_STATIC) && ofl->ofl_osversym)) { 240 symtab = (Sym *)ofl->ofl_ossymtab->os_outdata->d_buf; 242 if (ofl 2065 update_odynamic(Ofl_desc *ofl) argument 2605 update_overdef(Ofl_desc *ofl) argument 2734 update_oversym(Ofl_desc *ofl) argument 2756 update_overneed(Ofl_desc *ofl) argument 2877 update_osyminfo(Ofl_desc *ofl) argument 2946 update_oehdr(Ofl_desc * ofl) argument 3008 expand_move(Ofl_desc *ofl, Sym_desc *sdp, Move *mvp) argument 3063 update_move(Ofl_desc *ofl) argument 3201 update_ogroup(Ofl_desc *ofl) argument 3275 update_oscap(Ofl_desc *ofl) argument 3373 update_oscapinfo(Ofl_desc *ofl) argument 3548 translate_link(Ofl_desc *ofl, Os_desc *osp, Word link, const char *msg) argument 3613 ld_update_outfile(Ofl_desc *ofl) argument [all...] |
H A D | machrel.intel.c | 47 ld_find_got_ndx(Alist *alp, Gotref gref, Ofl_desc *ofl, Rel_desc *rdesc) argument 52 if ((gref == GOT_REF_TLSLD) && ofl->ofl_tlsldgotndx) 53 return (ofl->ofl_tlsldgotndx); 63 ld_calc_got_offset(Rel_desc *rdesc, Ofl_desc *ofl) argument 65 Os_desc *osp = ofl->ofl_osgot; 80 gnp = ld_find_got_ndx(sdp->sd_GOTndxs, gref, ofl, NULL); 107 ld_mach_eflags(Ehdr *ehdr, Ofl_desc *ofl) argument 109 ofl->ofl_dehdr->e_flags |= ehdr->e_flags; 113 ld_mach_make_dynamic(Ofl_desc *ofl, size_t *cnt) argument 115 if (!(ofl 125 ld_mach_update_odynamic(Ofl_desc *ofl, Dyn **dyn) argument 138 ld_calc_plt_addr(Sym_desc *sdp, Ofl_desc *ofl) argument 163 plt_entry(Ofl_desc * ofl, Word rel_off, Sym_desc * sdp) argument 225 ld_perform_outreloc(Rel_desc * orsp, Ofl_desc * ofl, Boolean *remain_seen) argument 441 tls_fixups(Ofl_desc *ofl, Rel_desc *arsp) argument 723 ld_do_activerelocs(Ofl_desc *ofl) argument 1110 ld_add_outrel(Word flags, Rel_desc *rsp, Ofl_desc *ofl) argument 1196 ld_disp_errmsg(MSG_INTL(MSG_REL_DISPREL4), orsp, ofl); local 1207 ld_reloc_local(Rel_desc * rsp, Ofl_desc * ofl) argument 1278 ld_reloc_TLS(Boolean local, Rel_desc * rsp, Ofl_desc * ofl) argument 1397 ld_assign_got_ndx(Alist **alpp, Gotndx *pgnp, Gotref gref, Ofl_desc *ofl, Rel_desc *rsp, Sym_desc *sdp) argument 1441 ld_assign_plt_ndx(Sym_desc * sdp, Ofl_desc *ofl) argument 1452 ld_fillin_gotplt(Ofl_desc *ofl) argument [all...] |
H A D | files.c | 53 ifl_verify(Ehdr *ehdr, Ofl_desc *ofl, Rej_desc *rej) argument 71 if (ehdr->e_version > ofl->ofl_dehdr->e_version) { 84 ifl_setup(const char *name, Ehdr *ehdr, Elf *elf, Word flags, Ofl_desc *ofl, argument 90 if (ifl_verify(ehdr, ofl, &_rej) == 0) { 92 DBG_CALL(Dbg_file_rejected(ofl->ofl_lml, &_rej, 120 ld_eprintf(ofl, ERR_ELF, MSG_INTL(MSG_ELF_GETSCN), 125 ld_eprintf(ofl, ERR_ELF, MSG_INTL(MSG_ELF_GETSHDR), 148 if (aplist_append(&ofl->ofl_sos, ifl, AL_CNT_OFL_LIBS) == NULL) 151 if (aplist_append(&ofl->ofl_objs, ifl, AL_CNT_OFL_OBJS) == NULL) 164 Word ndx, int ident, Ofl_desc *ofl) 163 process_section(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 238 sf1_cap(Ofl_desc *ofl, Xword val, Ifl_desc *ifl, Is_desc *cisp) argument 371 hw_cap(Ofl_desc *ofl, Xword tag, Xword val) argument 419 str_cap(Ofl_desc *ofl, char *pstr, ofl_flag_t flags, Xword tag, Caplist *list) argument 470 id_cap(Ofl_desc *ofl, char *pstr, oc_flag_t flags) argument 505 ld_cap_move_symtoobj(Ofl_desc *ofl) argument 554 get_cap_group(Objcapset *ocapset, Word cnum, Ofl_desc *ofl, Is_desc *isp) argument 695 ld_cap_add_family(Ofl_desc *ofl, Sym_desc *lsdp, Sym_desc *csdp, Cap_group *cgp, APlist **csyms) argument 815 process_cap(Ofl_desc *ofl, Ifl_desc *ifl, Is_desc *cisp) argument 1163 process_capinfo(Ofl_desc *ofl, Ifl_desc *ifl, Is_desc *isp) argument 1280 process_input(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1295 process_reloc(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1320 process_strtab(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1375 invalid_section(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1434 process_progbits_alloc(const char *name, Ifl_desc *ifl, Shdr *shdr, Word ndx, int *ident, Ofl_desc *ofl, Boolean is_stab_index, Word *is_flags) argument 1528 process_progbits(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1601 process_debug(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1617 process_nobits(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1638 process_array(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1655 array_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl) argument 1682 process_sym_shndx(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 1711 sym_shndx_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl) argument 1738 process_rel_dynamic(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 2081 process_dynamic_isgnu(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 2117 process_dynamic(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl) argument 2320 process_progbits_final(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl) argument 2333 process_group(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, int ident, Ofl_desc *ofl) argument 2357 rel_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl) argument 2434 process_exclude(const char *name, Ifl_desc *ifl, Shdr *shdr, Elf_Scn *scn, Word ndx, Ofl_desc *ofl) argument 2531 process_elf(Ifl_desc *ifl, Elf *elf, Ofl_desc *ofl) argument 3064 ld_process_ifl(const char *name, const char *soname, int fd, Elf *elf, Word flags, Ofl_desc *ofl, Rej_desc *rej, Ifl_desc **ifl_ret) argument 3396 ld_process_open(const char *opath, const char *ofile, int *fd, Ofl_desc *ofl, Word flags, Rej_desc *rej, Ifl_desc **ifl_ret) argument 3437 ld_process_mem(const char *path, const char *file, char *addr, size_t size, Ofl_desc *ofl, Rej_desc *rej) argument 3461 process_req_lib(Sdf_desc *sdf, const char *dir, const char *file, Ofl_desc *ofl, Rej_desc *rej) argument 3527 ld_finish_libs(Ofl_desc *ofl) argument [all...] |
H A D | machrel.sparc.c | 54 ld_find_got_ndx(Alist *alp, Gotref gref, Ofl_desc *ofl, Rel_desc *rdesc) argument 61 if ((gref == GOT_REF_TLSLD) && ofl->ofl_tlsldgotndx) 62 return (ofl->ofl_tlsldgotndx); 73 ld_calc_got_offset(Rel_desc * rdesc, Ofl_desc * ofl) argument 75 Os_desc *osp = ofl->ofl_osgot; 90 gnp = ld_find_got_ndx(sdp->sd_GOTndxs, gref, ofl, rdesc); 120 ld_mach_eflags(Ehdr *ehdr, Ofl_desc *ofl) argument 122 Word eflags = ofl->ofl_dehdr->e_flags; 131 ofl->ofl_dehdr->e_machine = EM_SPARC32PLUS; 139 ofl 172 ld_mach_make_dynamic(Ofl_desc *ofl, size_t *cnt) argument 184 ld_mach_update_odynamic(Ofl_desc *ofl, Dyn **dyn) argument 199 ld_calc_plt_addr(Sym_desc *sdp, Ofl_desc *ofl) argument 278 plt_far_entry(Ofl_desc *ofl, Xword pltndx, Xword *roffset, Sxword *raddend) argument 394 plt_entry(Ofl_desc *ofl, Xword pltndx, Xword *roffset, Sxword *raddend) argument 504 ld_calc_plt_addr(Sym_desc *sdp, Ofl_desc *ofl) argument 527 plt_entry(Ofl_desc * ofl, Xword pltndx, Xword *roffset, Sxword *raddend) argument 584 ld_perform_outreloc(Rel_desc *orsp, Ofl_desc *ofl, Boolean *remain_seen) argument 835 tls_fixups(Ofl_desc *ofl, Rel_desc *arsp) argument 988 gotop_fixups(Ofl_desc *ofl, Rel_desc *arsp) argument 1047 ld_do_activerelocs(Ofl_desc *ofl) argument 1398 ld_add_outrel(Word flags, Rel_desc *rsp, Ofl_desc *ofl) argument 1536 ld_disp_errmsg(MSG_INTL(MSG_REL_DISPREL4), orsp, ofl); local 1555 ld_reloc_register(Rel_desc *rsp, Is_desc *isp, Ofl_desc *ofl) argument 1583 ld_reloc_local(Rel_desc *rsp, Ofl_desc *ofl) argument 1682 ld_reloc_GOTOP(Boolean local, Rel_desc *rsp, Ofl_desc *ofl) argument 1707 ld_reloc_TLS(Boolean local, Rel_desc *rsp, Ofl_desc *ofl) argument 1854 ld_assign_got(Ofl_desc *ofl, Sym_desc *sdp) argument 1893 ld_assign_got_ndx(Alist **alpp, Gotndx *pgnp, Gotref gref, Ofl_desc *ofl, Rel_desc *rsp, Sym_desc *sdp) argument 1994 ld_assign_plt_ndx(Sym_desc * sdp, Ofl_desc *ofl) argument 2001 ld_allocate_got(Ofl_desc * ofl) argument 2077 ld_fillin_gotplt(Ofl_desc *ofl) argument [all...] |
H A D | resolve.c | 55 sym_null(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, argument 62 Ifl_desc *ifl, Ofl_desc *ofl) 67 if (!(ofl->ofl_flags & FLG_OF_VERBOSE) && (err != ERR_FATAL)) 70 ld_eprintf(ofl, err, MSG_INTL(MSG_SYM_CONFVIS), demangle(sdp->sd_name)); 71 ld_eprintf(ofl, ERR_NONE, MSG_INTL(MSG_SYM_VISTYPES), 76 ld_eprintf(ofl, ERR_NONE, MSG_INTL(MSG_SYM_DEFTAKEN), 120 sym_visibility(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl) argument 189 nsym, ifl, ofl); 192 nsym, ifl, ofl); 202 nsym, ifl, ofl); 61 sym_visibility_diag(Error err, Sym_desc *sdp, Sym *osym, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl) argument 268 sym_typecheck(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument 300 sym_mach_check(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument 316 sym_promote(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument 358 sym_override(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument 520 sym_twoundefs(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument 550 sym_tworeals(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument 652 sym_realtent(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument 830 sym_twotent(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument 1082 ld_sym_resolve(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl, int ndx, Word nshndx, sd_flag_t nsdflags) argument [all...] |
H A D | relocate.c | 91 is_disp_copied(Ofl_desc *ofl, Copy_rel *crp) argument 106 (ofl->ofl_flags & FLG_OF_VERBOSE)) 107 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_REL_DISPREL2), 164 ld_eprintf(ofl, ERR_WARNING, 194 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_REL_DISPREL1), 234 Ofl_desc *ofl) 285 ((ofl->ofl_flags & (FLG_OF_AUTOLCL | FLG_OF_AUTOELM)) && 336 ld_disp_errmsg(const char *msg, Rel_desc *rsp, Ofl_desc *ofl) argument 343 if ((sdp = disp_scansyms(ifl, rsp, 0, 1, ofl)) != 0) 348 ld_eprintf(ofl, ERR_WARNIN 233 disp_scansyms(Ifl_desc * ifl, Rel_desc *rld, Boolean rlocal, int inspect, Ofl_desc *ofl) argument 378 disp_inspect(Ofl_desc *ofl, Rel_desc *rld, Boolean rlocal) argument 475 ld_add_rel_cache(Ofl_desc *ofl, Rel_cache *rcp) argument 549 ld_add_rel_aux(Ofl_desc *ofl, Rel_desc *rdesc) argument 604 ld_reloc_enter(Ofl_desc *ofl, Rel_cache *rcp, Rel_desc *rdesc, Word flags) argument 734 ld_reloc_set_aux_osdesc(Ofl_desc *ofl, Rel_desc *rdesc, Os_desc *osp) argument 742 ld_reloc_set_aux_usym(Ofl_desc *ofl, Rel_desc *rdesc, Sym_desc *sdp) argument 795 ld_add_actrel(Word flags, Rel_desc *rsp, Ofl_desc *ofl) argument 819 ld_disp_errmsg(MSG_INTL(MSG_REL_DISPREL3), arsp, ofl); local 848 ld_reloc_GOT_relative(Boolean local, Rel_desc *rsp, Ofl_desc *ofl) argument 933 ld_reloc_plt(Rel_desc *rsp, Ofl_desc *ofl) argument 1028 reloc_exec(Rel_desc *rsp, Ofl_desc *ofl) argument 1291 reloc_generic(Rel_desc *rsp, Ofl_desc *ofl) argument 1319 reloc_relobj(Boolean local, Rel_desc *rsp, Ofl_desc *ofl) argument 1397 reloc_TLS(Boolean local, Rel_desc *rsp, Ofl_desc *ofl) argument 1474 ld_process_sym_reloc(Ofl_desc *ofl, Rel_desc *reld, Rel *reloc, Is_desc *isp, const char *isname, Word isscnndx) argument 1738 sloppy_comdat_reloc(Ofl_desc *ofl, Rel_desc *reld, Sym_desc *sdp, Rlxrel_rej *reject) argument 1885 process_reld(Ofl_desc *ofl, Is_desc *isp, Rel_desc *reld, Word rsndx, Rel *reloc) argument 2125 reloc_section(Ofl_desc *ofl, Is_desc *isect, Is_desc *rsect, Os_desc *osect) argument 2200 reloc_segments(int wr_flag, Ofl_desc *ofl) argument 2295 process_movereloc(Ofl_desc *ofl, Is_desc *rsect) argument 2393 reloc_movesections(Ofl_desc *ofl) argument 2418 ld_reloc_init(Ofl_desc *ofl) argument 2560 do_sorted_outrelocs(Ofl_desc *ofl) argument 2660 ld_reloc_process(Ofl_desc *ofl) argument 2803 ld_reloc_remain_entry(Rel_desc *orsp, Os_desc *osp, Ofl_desc *ofl, Boolean *remain_seen) argument 2855 ld_assign_got_TLS(Boolean local, Rel_desc *rsp, Ofl_desc *ofl, Sym_desc *sdp, Gotndx *gnp, Gotref gref, Word rflag, Word ortype, Word rtype1, Word rtype2) argument 2927 ld_adj_movereloc(Ofl_desc *ofl, Rel_desc *arsp) argument 2986 ld_swap_reloc_data(Ofl_desc *ofl, Rel_desc *rsp) argument 3037 ld_reloc_targval_get(Ofl_desc *ofl, Rel_desc *rsp, uchar_t *data, Xword *value) argument 3102 ld_reloc_targval_set(Ofl_desc *ofl, Rel_desc *rsp, uchar_t *data, Xword value) argument [all...] |
H A D | machsym.sparc.c | 59 Ofl_desc *ofl) 78 ld_eprintf(ofl, ERR_FATAL, 95 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_SYM_INCOMPREG1), 107 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_SYM_MULTINIREG), 115 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_SYM_INCOMPREG2), 127 Ofl_desc *ofl) 137 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_SYM_DIFFTYPE), 139 ld_eprintf(ofl, ERR_NONE, MSG_INTL(MSG_SYM_FILETYPES), 148 return (ld_reg_check_sparc(sdp, nsym, sdp->sd_name, ifl, ofl)); 161 ld_is_regsym_sparc(Ofl_desc *ofl, Ifl_des argument 58 ld_reg_check_sparc(Sym_desc *sdp, Sym *nsym, const char *nname, Ifl_desc *ifl, Ofl_desc *ofl) argument 126 ld_mach_sym_typecheck_sparc(Sym_desc *sdp, Sym *nsym, Ifl_desc *ifl, Ofl_desc *ofl) argument 224 ld_reg_find_sparc(Sym *sym, Ofl_desc *ofl) argument 233 ld_reg_enter_sparc(Sym_desc *sdp, Ofl_desc *ofl) argument [all...] |
H A D | sunwmove.c | 36 make_mvsections(Ofl_desc *ofl) argument 47 for (APLIST_TRAVERSE(ofl->ofl_parsyms, idx, sdp)) { 74 if (mv_nums && (ld_make_sunwmove(ofl, mv_nums) == S_ERROR)) 85 if (ld_make_parexpn_data(ofl, size_parexpn, 96 append_move_desc(Ofl_desc *ofl, Sym_desc *sdp, Move *mvp, Is_desc *isp) argument 141 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_MOVE_OVERLAP), 169 ld_process_move(Ofl_desc *ofl) argument 175 for (APLIST_TRAVERSE(ofl->ofl_ismove, idx, isp)) { 180 DBG_CALL(Dbg_move_input(ofl->ofl_lml, ifile->ifl_name)); 184 ld_eprintf(ofl, ERR_FATA [all...] |
H A D | unwind.c | 320 ld_unwind_make_hdr(Ofl_desc *ofl) argument 322 int bswap = (ofl->ofl_flags1 & FLG_OF1_ENCDIFF) != 0; 335 if (ofl->ofl_unwind == NULL) 345 elfdata->d_version = ofl->ofl_dehdr->e_version; 366 if ((ofl->ofl_unwindhdr = ld_place_section(ofl, isp, NULL, 376 for (APLIST_TRAVERSE(ofl->ofl_unwind, idx1, osp)) { 417 ld_eprintf(ofl, ERR_FATAL, 483 ld_unwind_populate_hdr(Ofl_desc *ofl) argument 495 int bswap = (ofl 838 ld_unwind_register(Os_desc *osp, Ofl_desc * ofl) argument [all...] |
H A D | order.c | 153 * ofl - Output file descriptor 169 validate_shf_ordered_dest(Ofl_desc *ofl, Ifl_desc *ifl, Word ndx, argument 247 DBG_CALL(Dbg_sec_order_error(ofl->ofl_lml, ifl, ndx, error)); 271 place_unordered(Ofl_desc *ofl, Is_desc *isp, Place_path_info *path_info) argument 275 return ((uintptr_t)ld_place_section(ofl, isp, path_info, 285 * ofl - Output file descriptor 292 ld_process_ordered(Ofl_desc *ofl, Ifl_desc *ifl, Place_path_info *path_info, argument 317 DBG_CALL(Dbg_sec_order_error(ofl->ofl_lml, ifl, ndx, error)); 318 return (place_unordered(ofl, isp, path_info)); 327 (validate_shf_ordered_dest(ofl, if 389 ld_sec_validate(Ofl_desc *ofl) argument 463 ld_sort_ordered(Ofl_desc *ofl) argument [all...] |
H A D | version.c | 88 vers_visit_children(Ofl_desc *ofl, Ver_desc *vp, int flag) argument 121 ld_eprintf(ofl, ERR_FATAL, 129 ld_eprintf(ofl, ERR_NONE, 136 ld_eprintf(ofl, ERR_NONE, 159 if (vers_visit_children(ofl, vdp, 1) == S_ERROR) 171 ld_vers_check_defs(Ofl_desc *ofl) argument 177 DBG_CALL(Dbg_ver_def_title(ofl->ofl_lml, ofl->ofl_name)); 182 for (APLIST_TRAVERSE(ofl->ofl_verdesc, idx1, vdp)) 183 if ((is_cyclic = vers_visit_children(ofl, vd 337 ld_vers_check_need(Ofl_desc *ofl) argument 463 vers_select(Ofl_desc *ofl, Ifl_desc *ifl, Ver_desc *vdp, const char *ref) argument 477 vers_index(Ofl_desc *ofl, Ifl_desc *ifl, int avail) argument 563 ld_vers_sym_process(Ofl_desc *ofl, Is_desc *isp, Ifl_desc *ifl) argument 596 ld_vers_def_process(Is_desc *isp, Ifl_desc *ifl, Ofl_desc *ofl) argument 818 ld_vers_need_process(Is_desc *isp, Ifl_desc *ifl, Ofl_desc *ofl) argument 894 ld_vers_promote(Sym_desc *sdp, Word ndx, Ifl_desc *ifl, Ofl_desc *ofl) argument 953 ld_vers_base(Ofl_desc *ofl) argument 1001 ld_vers_verify(Ofl_desc *ofl) argument [all...] |
H A D | support.c | 65 ld_sup_loadso(Ofl_desc *ofl, const char *obj) argument 75 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_SUP_NOLOAD), 87 DBG_CALL(Dbg_support_load(ofl->ofl_lml, obj, 91 DBG_CALL(Dbg_support_action(ofl->ofl_lml, obj, 110 DBG_CALL(Dbg_support_vnone(ofl->ofl_lml, 121 ld_eprintf(ofl, ERR_FATAL, 143 ld_sup_start(Ofl_desc *ofl, const Half etype, const char *caller) argument 149 DBG_CALL(Dbg_support_action(ofl->ofl_lml, flp->fl_obj, 150 support[LDS_START].sup_name, LDS_START, ofl->ofl_name)); 151 (*flp->fl_fptr)(ofl 156 ld_sup_atexit(Ofl_desc *ofl, int ecode) argument 169 ld_sup_open(Ofl_desc *ofl, const char **opath, const char **ofile, int *ofd, int flags, Elf **oelf, Elf *ref, size_t off, const Elf_Kind ekind) argument 231 ld_sup_file(Ofl_desc *ofl, const char *ifile, const Elf_Kind ekind, int flags, Elf *elf) argument 254 ld_sup_input_section(Ofl_desc *ofl, Ifl_desc *ifl, const char *sname, Shdr **oshdr, Word ndx, Elf_Scn *scn, Elf *elf) argument 302 ld_sup_section(Ofl_desc *ofl, const char *scn, Shdr *shdr, Word ndx, Elf_Data *data, Elf *elf) argument 316 ld_sup_input_done(Ofl_desc *ofl) argument [all...] |
H A D | libs.c | 65 process_member(Ar_mem *amp, const char *name, Sym_desc *sdp, Ofl_desc *ofl) argument 85 ld_eprintf(ofl, ERR_ELF, 94 ld_eprintf(ofl, ERR_ELF, MSG_INTL(MSG_ELF_GETDATA), 108 ld_eprintf(ofl, ERR_ELF, MSG_INTL(MSG_ELF_GETSCN), 113 ld_eprintf(ofl, ERR_ELF, MSG_INTL(MSG_ELF_GETDATA), 187 ld_ar_setup(const char *name, Elf *elf, Ofl_desc *ofl) argument 197 if (ofl->ofl_flags1 & FLG_OF1_ALLEXRT) { 201 ld_eprintf(ofl, ERR_ELF, MSG_INTL(MSG_ELF_GETARSYM), 204 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_ELF_ARSYM), 229 adp->ad_flags = ofl 321 ar_member_name(const char *name, Elf *arelf, Ofl_desc *ofl) argument 343 ar_member_path(const char *name, const char *arname, Ofl_desc *ofl) argument 378 ar_input(int fd, Ar_desc *adp, Ofl_desc *ofl, Elf *arelf, const char *arpath, Rej_desc *rej) argument 453 ar_extract_bysym(const char *name, int fd, Ar_desc *adp, Ofl_desc *ofl, Boolean *found, Rej_desc *rej) argument 730 ar_extract_all(const char *name, int fd, Ar_desc *adp, Ofl_desc *ofl, Boolean *found, Rej_desc *rej) argument 828 ld_process_archive(const char *name, int fd, Ar_desc *adp, Ofl_desc *ofl) argument [all...] |
H A D | syms.c | 77 string(Ofl_desc *ofl, Ifl_desc *ifl, Sym *sym, const char *strs, size_t strsize, argument 85 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_FIL_NOSTRTABLE), 91 ld_eprintf(ofl, ERR_FATAL, 104 const char *regname = (*ld_targ.t_ms.ms_is_regsym)(ofl, ifl, 123 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_FIL_NONAMESYM), 197 ld_sym_nodirect(Is_desc *isp, Ifl_desc *ifl, Ofl_desc *ofl) argument 219 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_FIL_INVSHINFO), 246 if ((sdp = ld_sym_find(str, SYM_NOHASH, NULL, ofl)) != NULL) { 291 ld_sym_find(const char *name, Word hash, avl_index_t *where, Ofl_desc *ofl) argument 306 sav = avl_find(&ofl 327 ld_sym_enter(const char *name, Sym *osym, Word hash, Ifl_desc *ifl, Ofl_desc *ofl, Word ndx, Word shndx, sd_flag_t sdflags, avl_index_t *where) argument 635 sym_add_spec(const char *name, const char *uname, Word sdaux_id, sd_flag_t sdflags_u, sd_flag_t sdflags, Ofl_desc *ofl) argument 845 sym_undef_entry(Ofl_desc *ofl, Sym_desc *sdp, Type type, ofl_flag_t ofl_flag, ofl_flag_t *undef_state) argument 893 ld_sym_spec(Ofl_desc *ofl) argument 976 sym_cap_vis(const char *name, Word hash, Sym *sym, Ofl_desc *ofl) argument 1020 ld_sym_adjust_vis(Sym_desc *sdp, Ofl_desc *ofl) argument 1087 ensure_sym_local(Ofl_desc *ofl, Sym_desc *sdp, const char *str) argument 1118 ensure_array_local(Ofl_desc *ofl, APlist *apl, const char *str) argument 1148 ld_sym_validate(Ofl_desc *ofl) argument 1854 issue_badaddr_msg(Ifl_desc *ifl, Ofl_desc *ofl, Sym_desc *sdp, Sym *sym, Word shndx) argument 1901 ld_sym_process(Is_desc *isc, Ifl_desc *ifl, Ofl_desc *ofl) argument 3018 ld_sym_add_u(const char *name, Ofl_desc *ofl, Msg mid) argument [all...] |
/illumos-gate/usr/src/cmd/sgs/liblddbg/common/ |
H A D | statistics.c | 60 * ofl - output file descriptor 61 * alp - One of ofl->ofl_actrels or ofl->ofl_outrels. 64 rel_cache_statistics(Ofl_desc *ofl, const char *title, APlist *alp) argument 66 Lm_list *lml = ofl->ofl_lml; 92 * ofl - output file descriptor 95 rel_aux_cache_statistics(Ofl_desc *ofl) argument 98 Lm_list *lml = ofl->ofl_lml; 104 for (APLIST_TRAVERSE(ofl->ofl_relaux, idx, racp)) { 111 EC_WORD(aplist_nitems(ofl 120 Dbg_statistics_ld(Ofl_desc *ofl) argument 161 Dbg_statistics_ar(Ofl_desc *ofl) argument [all...] |
H A D | syms.c | 232 Dbg_syms_entered(Ofl_desc *ofl, Sym *sym, Sym_desc *sdp) argument 235 Lm_list *lml = ofl->ofl_lml; 243 ofl->ofl_dehdr->e_ident[EI_OSABI], ofl->ofl_dehdr->e_machine, sym, 283 Dbg_syms_cap_convert(Ofl_desc *ofl, Word ndx, const char *name, Sym *sym) argument 288 dbg_print(ofl->ofl_lml, MSG_INTL(MSG_SYM_CAP_ORIG), EC_WORD(ndx), 294 Elf_syms_table_entry(ofl->ofl_lml, ELF_DBG_LD, 295 MSG_INTL(MSG_STR_ORIGINAL), ofl->ofl_dehdr->e_ident[EI_OSABI], 296 ofl->ofl_dehdr->e_machine, sym, 0, 0, NULL, 301 Dbg_syms_cap_local(Ofl_desc *ofl, Wor argument 370 Dbg_syms_ignore(Ofl_desc *ofl, Sym_desc *sdp) argument 383 Dbg_syms_old(Ofl_desc *ofl, Sym_desc *sdp) argument 397 Dbg_syms_new(Ofl_desc *ofl, Sym *sym, Sym_desc *sdp) argument 413 Dbg_syms_updated(Ofl_desc *ofl, Sym_desc *sdp, const char *name) argument 442 Dbg_syms_resolving(Ofl_desc *ofl, Word ndx, const char *name, int row, int col, Sym *osym, Sym *nsym, Sym_desc *sdp, Ifl_desc *ifl) argument 467 Dbg_syms_resolved(Ofl_desc *ofl, Sym_desc *sdp) argument 484 Dbg_syms_copy_reloc(Ofl_desc *ofl, Sym_desc *sdp, Word align) argument 524 Dbg_syms_reduce(Ofl_desc *ofl, int which, Sym_desc *sdp, int idx, const char *sname) argument 670 Dbg_syms_cap_title(Ofl_desc *ofl) argument [all...] |
/illumos-gate/usr/src/cmd/sgs/rtld/common/ |
H A D | object.c | 58 Ofl_desc *ofl; local 73 if ((ofl = calloc(sizeof (Ofl_desc), 1)) == NULL) 76 ofl->ofl_dehdr = &dehdr; 78 ofl->ofl_flags = (FLG_OF_DYNAMIC | FLG_OF_SHAROBJ | FLG_OF_STRIP); 79 ofl->ofl_flags1 = (FLG_OF1_RELDYN | FLG_OF1_TEXTOFF | FLG_OF1_MEMORY); 80 ofl->ofl_lml = lml; 90 free(ofl); 100 if ((ld_ent_setup(ofl, syspagsz) == S_ERROR) || 102 free(ofl); 108 ELFPRV(olmp) = (void *)ofl; 235 Ofl_desc *ofl = (Ofl_desc *)ELFPRV(lmp); local [all...] |