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