Lines Matching refs:ofl

79 ld_eprintf(Ofl_desc *ofl, Error error, const char *format, ...)  in ld_eprintf()  argument
89 ofl->ofl_flags |= FLG_OF_WARN; in ld_eprintf()
92 if ((ofl->ofl_guideflags & FLG_OFG_ENABLE) == 0) in ld_eprintf()
94 ofl->ofl_guideflags |= FLG_OFG_ISSUED; in ld_eprintf()
95 ofl->ofl_flags |= FLG_OF_WARN; in ld_eprintf()
98 ofl->ofl_flags |= FLG_OF_FATAL; in ld_eprintf()
103 veprintf(ofl->ofl_lml, error, format, args); in ld_eprintf()
148 Ofl_desc *ofl; in ld_main() local
159 if ((ofl = libld_calloc(1, sizeof (Ofl_desc))) == 0) in ld_main()
170 ofl->ofl_dehdr = &def_ehdr; in ld_main()
178 if ((ofl->ofl_sgsid = (char *)libld_calloc(MSG_SGS_ID_SIZE + in ld_main()
181 (void) strcpy(ofl->ofl_sgsid, MSG_ORIG(MSG_SGS_ID)); in ld_main()
182 (void) strcat(ofl->ofl_sgsid, link_ver_string); in ld_main()
190 if (ld_process_flags(ofl, argc, argv) == S_ERROR) { in ld_main()
192 if (ofl->ofl_guideflags & FLG_OFG_ISSUED) in ld_main()
193 ld_eprintf(ofl, ERR_GUIDANCE, in ld_main()
197 if (ofl->ofl_flags & FLG_OF_FATAL) { in ld_main()
198 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_FLAGS)); in ld_main()
200 if (ofl->ofl_guideflags & FLG_OFG_ISSUED) in ld_main()
201 ld_eprintf(ofl, ERR_GUIDANCE, in ld_main()
209 if (ofl->ofl_flags1 & FLG_OF1_DONE) in ld_main()
213 ld_init_sighandler(ofl); in ld_main()
232 DBG_CALL(Dbg_support_req(ofl->ofl_lml, sgs_support, in ld_main()
236 if (ld_sup_loadso(ofl, lib) == S_ERROR) in ld_main()
237 return (ld_exit(ofl)); in ld_main()
238 DBG_CALL(Dbg_util_nl(ofl->ofl_lml, DBG_NL_STD)); in ld_main()
248 DBG_CALL(Dbg_support_req(ofl->ofl_lml, lib, in ld_main()
250 if (ld_sup_loadso(ofl, lib) == S_ERROR) in ld_main()
251 return (ld_exit(ofl)); in ld_main()
252 DBG_CALL(Dbg_util_nl(ofl->ofl_lml, DBG_NL_STD)); in ld_main()
256 DBG_CALL(Dbg_ent_print(ofl->ofl_lml, in ld_main()
257 ofl->ofl_dehdr->e_ident[EI_OSABI], ofl->ofl_dehdr->e_machine, in ld_main()
258 ofl->ofl_ents)); in ld_main()
259 DBG_CALL(Dbg_seg_list(ofl->ofl_lml, in ld_main()
260 ofl->ofl_dehdr->e_ident[EI_OSABI], ofl->ofl_dehdr->e_machine, in ld_main()
261 ofl->ofl_segs)); in ld_main()
269 ofl->ofl_objscnt = ofl->ofl_soscnt = 0; in ld_main()
274 if (ld_open_outfile(ofl) == S_ERROR) in ld_main()
275 return (ld_exit(ofl)); in ld_main()
285 if (ofl->ofl_rpath == NULL) { in ld_main()
290 ofl->ofl_rpath = rpath; in ld_main()
296 if (ld_lib_setup(ofl) == S_ERROR) in ld_main()
297 return (ld_exit(ofl)); in ld_main()
303 if (ofl->ofl_flags & FLG_OF_SHAROBJ) in ld_main()
305 else if (ofl->ofl_flags & FLG_OF_RELOBJ) in ld_main()
310 ld_sup_start(ofl, etype, argv[0]); in ld_main()
315 if (ld_process_files(ofl, argc, argv) == S_ERROR) in ld_main()
316 return (ld_exit(ofl)); in ld_main()
317 if (ofl->ofl_flags & FLG_OF_FATAL) { in ld_main()
318 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_FILES), in ld_main()
319 ofl->ofl_name); in ld_main()
320 return (ld_exit(ofl)); in ld_main()
323 ld_sup_input_done(ofl); in ld_main()
329 if (ofl->ofl_ismove && (ld_process_move(ofl) == S_ERROR)) in ld_main()
330 return (ld_exit(ofl)); in ld_main()
341 if (ld_reloc_init(ofl) == S_ERROR) in ld_main()
342 return (ld_exit(ofl)); in ld_main()
352 save_flg_of_warn = ofl->ofl_flags & FLG_OF_WARN; in ld_main()
353 ofl->ofl_flags &= ~FLG_OF_WARN; in ld_main()
355 if (ld_sym_validate(ofl) == S_ERROR) in ld_main()
356 return (ld_exit(ofl)); in ld_main()
366 if (ofl->ofl_flags & FLG_OF_FATAL) in ld_main()
367 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_SYM_FATAL), in ld_main()
368 ofl->ofl_name); in ld_main()
369 else if (ofl->ofl_flags & FLG_OF_WARN) in ld_main()
370 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_ARG_SYM_WARN)); in ld_main()
379 if (OFL_GUIDANCE(ofl, FLG_OFG_NO_DEFS)) in ld_main()
380 ld_eprintf(ofl, ERR_GUIDANCE, MSG_INTL(MSG_GUIDE_DEFS)); in ld_main()
393 if (((ofl->ofl_flags | save_flg_of_warn) & in ld_main()
396 ofl->ofl_flags |= FLG_OF_FATAL; in ld_main()
402 if (ofl->ofl_flags & FLG_OF_FATAL) in ld_main()
403 return (ld_exit(ofl)); in ld_main()
408 if (ld_make_sections(ofl) == S_ERROR) in ld_main()
409 return (ld_exit(ofl)); in ld_main()
418 if (ofl->ofl_flags & (FLG_OF_OS_ORDER | FLG_OF_KEY)) in ld_main()
419 ld_sec_validate(ofl); in ld_main()
426 if (ld_create_outfile(ofl) == S_ERROR) in ld_main()
427 return (ld_exit(ofl)); in ld_main()
429 if (ld_update_outfile(ofl) == S_ERROR) in ld_main()
430 return (ld_exit(ofl)); in ld_main()
431 if (ofl->ofl_flags & FLG_OF_GENMAP) in ld_main()
432 ld_map_out(ofl); in ld_main()
437 if (ld_reloc_process(ofl) == S_ERROR) in ld_main()
438 return (ld_exit(ofl)); in ld_main()
443 if (ld_unwind_populate_hdr(ofl) == S_ERROR) in ld_main()
444 return (ld_exit(ofl)); in ld_main()
449 if (ofl->ofl_checksum) in ld_main()
450 *ofl->ofl_checksum = (Xword)elf_checksum(ofl->ofl_elf); in ld_main()
456 if (((ofl->ofl_flags1 & FLG_OF1_ENCDIFF) != 0) && in ld_main()
457 (_elf_swap_wrimage(ofl->ofl_elf) != 0)) { in ld_main()
458 ld_eprintf(ofl, ERR_ELF, MSG_INTL(MSG_ELF_SWAP_WRIMAGE), in ld_main()
459 ofl->ofl_name); in ld_main()
460 return (ld_exit(ofl)); in ld_main()
466 if ((ofl->ofl_size = elf_update(ofl->ofl_welf, ELF_C_WRITE)) == 0) { in ld_main()
467 ld_eprintf(ofl, ERR_ELF, MSG_INTL(MSG_ELF_UPDATE), in ld_main()
468 ofl->ofl_name); in ld_main()
469 return (ld_exit(ofl)); in ld_main()
472 ld_sup_atexit(ofl, 0); in ld_main()
474 DBG_CALL(Dbg_statistics_ld(ofl)); in ld_main()
475 DBG_CALL(Dbg_basic_finish(ofl->ofl_lml)); in ld_main()
483 if (ofl->ofl_guideflags & FLG_OFG_ISSUED) in ld_main()
484 ld_eprintf(ofl, ERR_GUIDANCE, MSG_INTL(MSG_GUIDE_SUMMARY)); in ld_main()
519 ld_ofl_cleanup(Ofl_desc *ofl) in ld_ofl_cleanup() argument
525 ifl_list_cleanup(ofl->ofl_objs); in ld_ofl_cleanup()
526 ofl->ofl_objs = NULL; in ld_ofl_cleanup()
527 ifl_list_cleanup(ofl->ofl_sos); in ld_ofl_cleanup()
528 ofl->ofl_sos = NULL; in ld_ofl_cleanup()
530 for (APLIST_TRAVERSE(ofl->ofl_ars, idx, adp)) { in ld_ofl_cleanup()
548 ofl->ofl_ars = NULL; in ld_ofl_cleanup()
550 (void) elf_end(ofl->ofl_elf); in ld_ofl_cleanup()
551 (void) elf_end(ofl->ofl_welf); in ld_ofl_cleanup()