Lines Matching refs:ofl

240  *	ofl - Output file descriptor
246 ld_rescan_archives(Ofl_desc *ofl, int isgrp, int end_arg_ndx)
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->ofl_flags1 &= ~MSK_OF1_ARCHIVE;
277 ofl->ofl_flags1 |= (adp->ad_flags & MSK_OF1_ARCHIVE);
284 if (!ld_process_archive(adp->ad_name, -1, adp, ofl))
286 if (ofl->ofl_flags & FLG_OF_FATAL)
298 check_flags(Ofl_desc * ofl, int argc)
307 if ((ofl->ofl_guideflags & (FLG_OFG_ENABLE | FLG_OFG_NO_ALL)) ==
309 ofl->ofl_guideflags &= ~FLG_OFG_ENABLE;
312 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_YP),
322 if (ofl->ofl_flags & FLG_OF_COMREL)
323 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_MARG_INCOMP),
326 ofl->ofl_flags |= FLG_OF_RELOBJ;
332 if (ofl->ofl_flags & FLG_OF_OTOSCAP)
333 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_MARG_ONLY),
341 if ((ofl->ofl_flags & FLG_OF_NOCOMREL) == 0)
342 ofl->ofl_flags |= FLG_OF_COMREL;
346 ofl->ofl_flags |= FLG_OF_NOUNDEF;
349 ofl->ofl_dtflags_1 |= DF_1_INTERPOSE;
352 ofl->ofl_flags |= FLG_OF_STRIP;
355 ofl->ofl_flags |= FLG_OF_ADDVERS;
358 ofl->ofl_flags |= FLG_OF_AUTOLCL;
361 ofl->ofl_flags |= FLG_OF_AUTOELM;
364 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_INCOMP),
367 if (ofl->ofl_interp && (ofl->ofl_flags1 & FLG_OF1_NOINTRP))
368 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_INCOMP),
371 if ((ofl->ofl_flags1 & (FLG_OF1_NRLXREL | FLG_OF1_RLXREL)) ==
373 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_INCOMP),
377 if (ofl->ofl_filtees && !Gflag)
378 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_MARG_ST_ONLYAVL),
379 ((ofl->ofl_flags & FLG_OF_AUX) ?
387 ofl->ofl_flags |=
391 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_INCOMP),
395 ofl->ofl_flags |= FLG_OF_BFLAG;
399 ld_eprintf(ofl, ERR_FATAL,
403 ofl->ofl_dtflags_1 |= DF_1_GROUP;
404 ofl->ofl_flags |= FLG_OF_NOUNDEF;
412 if ((ofl->ofl_dtflags_1 & DF_1_NODEFLIB) && !ofl->ofl_rpath)
413 ld_eprintf(ofl, ERR_WARNING, MSG_INTL(MSG_ARG_NODEFLIB),
424 ofl->ofl_flags1 |= FLG_OF1_TEXTOFF;
425 ofl->ofl_guideflags |= FLG_OFG_NO_TEXT;
427 ofl->ofl_flags |= FLG_OF_PURETXT;
428 ofl->ofl_guideflags |= FLG_OFG_NO_TEXT;
452 ofl->ofl_dtflags_1 |= DF_1_DIRECT;
453 ofl->ofl_flags1 |= FLG_OF1_LAZYLD;
454 ofl->ofl_guideflags |= FLG_OFG_NO_LAZY;
455 ofl->ofl_flags |= FLG_OF_SYMINFO;
465 ofl->ofl_flags1 |= (FLG_OF1_NDIRECT |
467 ofl->ofl_flags |= FLG_OF_SYMINFO;
475 ofl->ofl_flags |= FLG_OF_EXEC;
478 ofl->ofl_flags |= FLG_OF_NOUNDEF;
485 ofl->ofl_guideflags |= FLG_OFG_NO_TEXT;
488 ld_eprintf(ofl, ERR_FATAL,
491 if (ofl->ofl_soname)
492 ld_eprintf(ofl, ERR_FATAL,
499 ofl->ofl_flags |= FLG_OF_SHAROBJ;
512 if (!OFL_GUIDANCE(ofl, FLG_OFG_NO_TEXT))
513 ofl->ofl_flags1 |= FLG_OF1_TEXTOFF;
514 } else if ((ofl->ofl_flags & FLG_OF_PURETXT) ||
515 (ofl->ofl_flags1 & FLG_OF1_TEXTOFF)) {
516 ofl->ofl_guideflags |= FLG_OFG_NO_TEXT;
524 ld_eprintf(ofl, ERR_FATAL,
528 ofl->ofl_flags |= FLG_OF_SYMBOLIC;
529 ofl->ofl_dtflags |= DF_SYMBOLIC;
536 ofl->ofl_flags1 |= FLG_OF1_TEXTOFF;
537 ofl->ofl_guideflags |= FLG_OFG_NO_TEXT;
539 if (ofl->ofl_interp)
540 ld_eprintf(ofl, ERR_FATAL,
546 ofl->ofl_flags |= FLG_OF_STATIC;
549 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_ST_INCOMP),
551 if (ofl->ofl_soname)
552 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_MARG_ST_INCOMP),
554 if (ofl->ofl_depaudit)
555 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_ST_INCOMP),
557 if (ofl->ofl_audit)
558 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_ST_INCOMP),
560 if (ofl->ofl_config)
561 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_ST_INCOMP),
564 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_ST_INCOMP),
567 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_MARG_ST_INCOMP),
570 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_MARG_INCOMP),
579 ld_eprintf(ofl, ERR_WARNING,
585 ofl->ofl_flags1 |= FLG_OF1_TEXTOFF;
586 ofl->ofl_guideflags |= FLG_OFG_NO_TEXT;
588 if (ofl->ofl_interp)
589 ld_eprintf(ofl, ERR_FATAL,
597 ofl->ofl_flags |= FLG_OF_EXEC | FLG_OF_PROCRED;
600 ofl->ofl_flags |= FLG_OF_NOUNDEF;
607 if (ofl->ofl_name == NULL)
608 ofl->ofl_name = MSG_ORIG(MSG_STR_AOUT);
615 if (ld_ent_setup(ofl, ld_targ.t_m.m_segm_align) == S_ERROR)
625 ofl->ofl_flags1 |= FLG_OF1_ENCDIFF;
638 if (ld_init_strings(ofl) == S_ERROR)
646 if (ofl->ofl_maps) {
650 for (APLIST_TRAVERSE(ofl->ofl_maps, idx, name))
651 if (!ld_map_parse(name, ofl))
654 if (!ld_map_post_process(ofl))
665 if (((ofl->ofl_flags &
667 (ofl->ofl_flags & (FLG_OF_AUTOLCL | FLG_OF_AUTOELM))) {
668 ofl->ofl_flags |= FLG_OF_SYMBOLIC;
669 ofl->ofl_dtflags |= DF_SYMBOLIC;
678 if ((ofl->ofl_filtees == NULL) && (ofl->ofl_dtsfltrs == NULL))
679 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_NOFLTR),
681 ofl->ofl_dtflags_1 |= DF_1_LOADFLTR;
690 if ((ofl->ofl_objscnt == 0) && (ofl->ofl_soscnt == 0)) {
694 ofl->ofl_flags1 |= FLG_OF1_DONE;
696 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_NOFILES));
711 createargv(Ofl_desc *ofl, int *usage)
802 ret = process_flags_com(ofl, argc, argv, usage);
804 ret = process_files_com(ofl, argc, argv);
832 * ofl - Output descriptor
842 guidance_parse(Ofl_desc *ofl, char *optarg)
885 ofl->ofl_lml, name));
901 ld_eprintf(ofl, ERR_WARNING_NF, MSG_INTL(MSG_ARG_MTONCE),
912 ofl->ofl_guideflags |= ofl_guideflags;
932 assdeflib_parse(Ofl_desc *ofl, char *optarg)
935 ofl->ofl_flags |= FLG_OF_ADEFLIB;
943 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_ILLEGAL),
952 ld_eprintf(ofl, ERR_FATAL,
957 if (aplist_append(&ofl->ofl_assdeflib, optarg +
970 parseopt_pass1(Ofl_desc *ofl, int argc, char **argv, int *usage)
984 while ((c = ld_getopt(ofl->ofl_lml, ndx, argc, argv)) != -1) {
988 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
996 ld_eprintf(ofl, ERR_FATAL,
1002 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1010 ld_eprintf(ofl, ERR_FATAL,
1016 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1021 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1034 ofl->ofl_flags |= FLG_OF_NOLDYNSYM;
1038 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1039 if (ofl->ofl_config)
1040 ld_eprintf(ofl, ERR_WARNING_NF,
1044 ofl->ofl_config = optarg;
1048 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1053 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1056 ld_eprintf(ofl, ERR_WARNING_NF,
1063 ld_eprintf(ofl, ERR_WARNING_NF,
1069 ld_eprintf(ofl, ERR_FATAL,
1076 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1077 if (ofl->ofl_entry)
1078 ld_eprintf(ofl, ERR_WARNING_NF,
1082 ofl->ofl_entry = (void *)optarg;
1086 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1087 if (ofl->ofl_filtees &&
1088 (!(ofl->ofl_flags & FLG_OF_AUX))) {
1089 ld_eprintf(ofl, ERR_FATAL,
1094 if ((ofl->ofl_filtees =
1095 add_string(ofl->ofl_filtees, optarg)) ==
1098 ofl->ofl_flags |= FLG_OF_AUX;
1103 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1104 if (ofl->ofl_filtees &&
1105 (ofl->ofl_flags & FLG_OF_AUX)) {
1106 ld_eprintf(ofl, ERR_FATAL,
1111 if ((ofl->ofl_filtees =
1112 add_string(ofl->ofl_filtees, optarg)) ==
1119 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1120 if (ofl->ofl_soname)
1121 ld_eprintf(ofl, ERR_WARNING_NF,
1125 ofl->ofl_soname = (const char *)optarg;
1129 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1130 ofl->ofl_flags |= FLG_OF_IGNENV;
1134 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1135 if (ofl->ofl_interp)
1136 ld_eprintf(ofl, ERR_WARNING_NF,
1140 ofl->ofl_interp = (const char *)optarg;
1144 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1151 ofl->ofl_soscnt++;
1155 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1156 ofl->ofl_flags |= FLG_OF_GENMAP;
1160 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1161 if (ofl->ofl_name)
1162 ld_eprintf(ofl, ERR_WARNING_NF,
1166 ofl->ofl_name = (const char *)optarg;
1170 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1178 if ((ofl->ofl_audit =
1179 add_string(ofl->ofl_audit,
1186 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1194 if ((ofl->ofl_depaudit =
1195 add_string(ofl->ofl_depaudit,
1202 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1207 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1215 if ((ofl->ofl_rpath =
1216 add_string(ofl->ofl_rpath,
1223 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1228 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1229 ofl->ofl_flags |= FLG_OF_NOWARN;
1233 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1237 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1257 if (createargv(ofl, usage) == S_ERROR)
1263 ld_eprintf(ofl, ERR_WARNING_NF,
1268 ofl->ofl_guideflags |= FLG_OFG_NO_DEFS;
1272 ld_eprintf(ofl, ERR_WARNING_NF,
1277 ofl->ofl_guideflags |= FLG_OFG_NO_DEFS;
1282 ld_eprintf(ofl, ERR_FATAL,
1291 ld_eprintf(ofl, ERR_FATAL,
1300 ld_eprintf(ofl, ERR_FATAL,
1307 * For other options simply set the ofl flags directly.
1311 ofl->ofl_flags1 |= FLG_OF1_RESCAN;
1314 ofl->ofl_flags1 |= FLG_OF1_ABSEXEC;
1320 ofl->ofl_dtflags_1 |= DF_1_NORELOC;
1323 ofl->ofl_flags |= FLG_OF_NOVERSEC;
1326 ofl->ofl_flags |= FLG_OF_MULDEFS;
1329 ofl->ofl_flags |= FLG_OF_REDLSYM;
1332 ofl->ofl_dtflags_1 |= DF_1_INITFIRST;
1335 ofl->ofl_dtflags_1 |= DF_1_NODELETE;
1338 ofl->ofl_flags1 |= FLG_OF1_NOPARTI;
1341 ofl->ofl_dtflags_1 |= DF_1_NOOPEN;
1344 ofl->ofl_dtflags_1 |= DF_1_NOW;
1345 ofl->ofl_dtflags |= DF_BIND_NOW;
1348 ofl->ofl_dtflags_1 |= DF_1_ORIGIN;
1349 ofl->ofl_dtflags |= DF_ORIGIN;
1352 ofl->ofl_dtflags_1 |= DF_1_NODEFLIB;
1355 ofl->ofl_dtflags_1 |= DF_1_NODUMP;
1358 ofl->ofl_dtflags_1 |= DF_1_ENDFILTEE;
1361 ofl->ofl_flags |= FLG_OF_VERBOSE;
1364 ofl->ofl_flags |= FLG_OF_COMREL;
1367 ofl->ofl_flags |= FLG_OF_NOCOMREL;
1370 ofl->ofl_flags1 |= FLG_OF1_NCSTTAB;
1373 ofl->ofl_flags1 |= FLG_OF1_NOINTRP;
1379 ofl->ofl_flags1 |= FLG_OF1_IGNPRC;
1382 ofl->ofl_flags1 |= FLG_OF1_RLXREL;
1385 ofl->ofl_flags1 |= FLG_OF1_NRLXREL;
1388 ofl->ofl_flags |= FLG_OF_NOLDYNSYM;
1391 ofl->ofl_dtflags_1 |= DF_1_GLOBAUDIT;
1394 ofl->ofl_flags1 |= FLG_OF1_NOSGHND;
1397 ofl->ofl_flags |= FLG_OF_OTOSCAP;
1406 if (ofl->ofl_ars_gsandx == 0) {
1407 ofl->ofl_ars_gsandx = ndx;
1408 } else if (ofl->ofl_ars_gsandx > 0) {
1410 ld_eprintf(ofl, ERR_FATAL,
1414 ofl->ofl_ars_gsandx = -1;
1418 if (ofl->ofl_ars_gsandx > 0) {
1419 ofl->ofl_ars_gsandx = 0;
1420 } else if (ofl->ofl_ars_gsandx == 0) {
1422 ld_eprintf(ofl, ERR_FATAL,
1427 ofl->ofl_ars_gsandx = -1;
1436 if (ld_wrap_enter(ofl,
1443 ofl->ofl_aslr = 1;
1451 ofl->ofl_aslr = 1;
1456 ofl->ofl_aslr = -1;
1458 ld_eprintf(ofl, ERR_FATAL,
1464 ld_eprintf(ofl, ERR_FATAL,
1473 if (!guidance_parse(ofl, optarg))
1478 ld_eprintf(ofl, ERR_WARNING_NF,
1483 ofl->ofl_flags |= FLG_OF_FATWARN;
1488 ld_eprintf(ofl, ERR_WARNING_NF,
1501 if (assdeflib_parse(ofl, optarg) != TRUE)
1535 ld_eprintf(ofl, ERR_FATAL,
1553 if (ofl->ofl_objscnt == 0) {
1554 if (dbg_setup(ofl, optarg, 2) == 0)
1565 DBG_CALL(Dbg_basic_options(ofl->ofl_lml));
1567 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1571 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1574 ld_eprintf(ofl, ERR_FATAL,
1580 ofl->ofl_guideflags |= FLG_OFG_NO_DB;
1585 ld_eprintf(ofl, ERR_FATAL,
1591 ofl->ofl_guideflags |= FLG_OFG_NO_DB;
1597 ofl->ofl_flags |= FLG_OF_PROCRED;
1607 ld_eprintf(ofl, ERR_WARNING,
1613 ld_eprintf(ofl, ERR_FATAL,
1620 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1625 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1629 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1630 if (aplist_append(&(ofl->ofl_maps), optarg,
1636 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1640 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1643 ld_eprintf(ofl, ERR_WARNING_NF,
1650 ld_eprintf(ofl, ERR_WARNING_NF,
1656 ld_eprintf(ofl, ERR_FATAL,
1663 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1670 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1673 ofl->ofl_sgsid);
1678 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, optarg));
1681 ld_eprintf(ofl, ERR_WARNING_NF,
1689 ld_eprintf(ofl, ERR_WARNING_NF,
1697 ld_eprintf(ofl, ERR_WARNING_NF,
1703 ld_eprintf(ofl, ERR_FATAL,
1710 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c, NULL));
1717 eprintf(ofl->ofl_lml, ERR_FATAL,
1721 eprintf(ofl->ofl_lml, ERR_FATAL,
1743 parseopt_pass2(Ofl_desc *ofl, int argc, char **argv)
1747 while ((c = ld_getopt(ofl->ofl_lml, ndx, argc, argv)) != -1) {
1753 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c,
1755 if (ld_find_library(optarg, ofl) == S_ERROR)
1759 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c,
1763 if (ofl->ofl_flags & FLG_OF_DYNAMIC)
1764 ofl->ofl_flags |=
1767 ld_eprintf(ofl, ERR_FATAL,
1773 ofl->ofl_flags &= ~FLG_OF_DYNLIBS;
1776 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c,
1778 if (ld_add_libdir(ofl, optarg) == S_ERROR)
1782 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c,
1787 if (!(ofl->ofl_flags & FLG_OF_DYNAMIC))
1788 ld_eprintf(ofl, ERR_FATAL,
1793 (aplist_append(&ofl->ofl_sos, ifl,
1804 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c,
1806 (void) dbg_setup(ofl, optarg, 3);
1809 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c,
1811 if (ld_sym_add_u(optarg, ofl,
1816 DBG_CALL(Dbg_args_option(ofl->ofl_lml, ndx, c,
1822 if (createargv(ofl, 0) == S_ERROR)
1826 ofl->ofl_flags1 |= FLG_OF1_ALLEXRT;
1827 ofl->ofl_flags1 &= ~FLG_OF1_WEAKEXT;
1830 ofl->ofl_flags1 |= FLG_OF1_WEAKEXT;
1831 ofl->ofl_flags1 &= ~FLG_OF1_ALLEXRT;
1834 ofl->ofl_flags1 &=
1839 ofl->ofl_flags1 |= FLG_OF1_ZDIRECT;
1840 ofl->ofl_guideflags |= FLG_OFG_NO_DB;
1843 ofl->ofl_flags1 &= ~FLG_OF1_ZDIRECT;
1844 ofl->ofl_guideflags |= FLG_OFG_NO_DB;
1847 ofl->ofl_flags1 |= FLG_OF1_IGNORE;
1850 ofl->ofl_flags1 &= ~FLG_OF1_IGNORE;
1853 ofl->ofl_flags1 |= FLG_OF1_LAZYLD;
1854 ofl->ofl_guideflags |= FLG_OFG_NO_LAZY;
1857 ofl->ofl_flags1 &= ~ FLG_OF1_LAZYLD;
1858 ofl->ofl_guideflags |= FLG_OFG_NO_LAZY;
1861 ofl->ofl_flags1 |= FLG_OF1_GRPPRM;
1864 ofl->ofl_flags1 &= ~FLG_OF1_GRPPRM;
1869 MSG_ARG_INITARRAY_SIZE, ofl,
1872 (aplist_append(&ofl->ofl_initarray,
1879 MSG_ARG_FINIARRAY_SIZE, ofl,
1882 (aplist_append(&ofl->ofl_finiarray,
1889 MSG_ARG_PREINITARRAY_SIZE, ofl,
1892 (aplist_append(&ofl->ofl_preiarray,
1899 MSG_ARG_RTLDINFO_SIZE, ofl,
1902 (aplist_append(&ofl->ofl_rtldinfo,
1909 MSG_ARG_DTRACE_SIZE, ofl,
1913 ofl->ofl_dtracesym = sdp;
1916 if (ld_rescan_archives(ofl, 0, ndx) ==
1921 ofl->ofl_ars_gsndx = ofl->ofl_arscnt;
1922 ofl->ofl_ars_gsandx = ndx;
1925 if (ld_rescan_archives(ofl, 1, ndx) ==
1930 ofl->ofl_flags1 |= FLG_OF1_DEFERRED;
1933 ofl->ofl_flags1 &= ~FLG_OF1_DEFERRED;
1952 process_flags_com(Ofl_desc *ofl, int argc, char **argv, int *usage)
1962 if (parseopt_pass1(ofl, argc, argv,
1970 ofl->ofl_objscnt++;
1974 if (ofl->ofl_ars_gsandx > 0) {
1975 ld_eprintf(ofl, ERR_FATAL, MSG_INTL(MSG_ARG_AR_GRP_BAD),
1985 ld_process_flags(Ofl_desc *ofl, int argc, char **argv)
1999 if (process_flags_com(ofl, argc, argv, &usage) == S_ERROR)
2006 eprintf(ofl->ofl_lml, ERR_FATAL, MSG_INTL(MSG_ARG_USEHELP));
2010 return (check_flags(ofl, argc));
2018 process_files_com(Ofl_desc *ofl, int argc, char **argv)
2033 if (parseopt_pass2(ofl, argc, argv) == S_ERROR)
2045 ld_eprintf(ofl, ERR_FATAL,
2050 DBG_CALL(Dbg_args_file(ofl->ofl_lml, optind, path));
2052 open_ret = ld_process_open(path, path, &fd, ofl,
2065 ld_eprintf(ofl, ERR_FATAL,
2078 ld_process_files(Ofl_desc *ofl, int argc, char **argv)
2080 DBG_CALL(Dbg_basic_files(ofl->ofl_lml));
2088 if (process_files_com(ofl, argc, argv) == S_ERROR)
2090 if (ofl->ofl_flags & FLG_OF_FATAL)
2101 if ((ofl->ofl_flags & FLG_OF_DYNAMIC) &&
2102 OFL_GUIDANCE(ofl, FLG_OFG_NO_DB)) {
2103 ld_eprintf(ofl, ERR_GUIDANCE, MSG_INTL(MSG_GUIDE_DIRECT));
2104 ofl->ofl_guideflags |= FLG_OFG_NO_DB;
2111 if (ofl->ofl_soneed)
2112 if (ld_finish_libs(ofl) == S_ERROR)
2123 if (ofl->ofl_flags1 & FLG_OF1_RESCAN) {
2124 if (ld_rescan_archives(ofl, 0, argc) == S_ERROR)
2126 if (ofl->ofl_flags & FLG_OF_FATAL)
2137 DBG_CALL(Dbg_statistics_ar(ofl));
2144 if (ofl->ofl_verdesc)
2145 if (ld_vers_check_defs(ofl) == S_ERROR)
2152 if (ofl->ofl_flags & FLG_OF_IS_ORDER)
2153 ld_ent_check(ofl);
2159 ld_init_strings(Ofl_desc *ofl)
2163 if (ofl->ofl_flags1 & FLG_OF1_NCSTTAB)
2168 if (((ofl->ofl_shdrsttab = st_new(stflags)) == NULL) ||
2169 ((ofl->ofl_strtab = st_new(stflags)) == NULL) ||
2170 ((ofl->ofl_dynstrtab = st_new(stflags)) == NULL))