1531 ofl->ofl_flags |= FLG_OF_FATWARN;
1532 }
1533 } else if (strcmp(optarg,
1534 MSG_ORIG(MSG_ARG_NOFATWARN)) == 0) {
1535 if (zfwflag == SET_TRUE)
1536 ld_eprintf(ofl, ERR_WARNING_NF,
1537 MSG_INTL(MSG_ARG_MTONCE),
1538 MSG_ORIG(MSG_ARG_ZFATWNOFATW));
1539 else
1540 zfwflag = SET_FALSE;
1541
1542 /*
1543 * Process everything related to -z assert-deflib. This
1544 * must be done in pass 1 because it gets used in pass
1545 * 2.
1546 */
1547 } else if (strncmp(optarg, MSG_ORIG(MSG_ARG_ASSDEFLIB),
1548 MSG_ARG_ASSDEFLIB_SIZE) == 0) {
1549 if (assdeflib_parse(ofl, optarg) != TRUE)
1550 return (S_ERROR);
1551 } else if (strncmp(optarg, MSG_ORIG(MSG_ARG_TYPE),
1552 MSG_ARG_TYPE_SIZE) == 0) {
1553 char *p = optarg + MSG_ARG_TYPE_SIZE;
1554 if (*p != '=') {
1555 ld_eprintf(ofl, ERR_FATAL,
1556 MSG_INTL(MSG_ARG_ILLEGAL),
1557 MSG_ORIG(MSG_ARG_Z), optarg);
1558 return (S_ERROR);
1559 }
1560
1561 p++;
1562 if (strcmp(p,
1563 MSG_ORIG(MSG_ARG_TYPE_RELOC)) == 0) {
1564 otype = OT_RELOC;
1565 } else if (strcmp(p,
1566 MSG_ORIG(MSG_ARG_TYPE_EXEC)) == 0) {
1567 otype = OT_EXEC;
1568 } else if (strcmp(p,
1569 MSG_ORIG(MSG_ARG_TYPE_SHARED)) == 0) {
1570 otype = OT_SHARED;
|
1531 ofl->ofl_flags |= FLG_OF_FATWARN;
1532 }
1533 } else if (strcmp(optarg,
1534 MSG_ORIG(MSG_ARG_NOFATWARN)) == 0) {
1535 if (zfwflag == SET_TRUE)
1536 ld_eprintf(ofl, ERR_WARNING_NF,
1537 MSG_INTL(MSG_ARG_MTONCE),
1538 MSG_ORIG(MSG_ARG_ZFATWNOFATW));
1539 else
1540 zfwflag = SET_FALSE;
1541
1542 /*
1543 * Process everything related to -z assert-deflib. This
1544 * must be done in pass 1 because it gets used in pass
1545 * 2.
1546 */
1547 } else if (strncmp(optarg, MSG_ORIG(MSG_ARG_ASSDEFLIB),
1548 MSG_ARG_ASSDEFLIB_SIZE) == 0) {
1549 if (assdeflib_parse(ofl, optarg) != TRUE)
1550 return (S_ERROR);
1551
1552 /*
1553 * Process new-style output type specification, which
1554 * we'll use in pass 2 and throughout.
1555 */
1556 } else if (strncmp(optarg, MSG_ORIG(MSG_ARG_TYPE),
1557 MSG_ARG_TYPE_SIZE) == 0) {
1558 char *p = optarg + MSG_ARG_TYPE_SIZE;
1559 if (*p != '=') {
1560 ld_eprintf(ofl, ERR_FATAL,
1561 MSG_INTL(MSG_ARG_ILLEGAL),
1562 MSG_ORIG(MSG_ARG_Z), optarg);
1563 return (S_ERROR);
1564 }
1565
1566 p++;
1567 if (strcmp(p,
1568 MSG_ORIG(MSG_ARG_TYPE_RELOC)) == 0) {
1569 otype = OT_RELOC;
1570 } else if (strcmp(p,
1571 MSG_ORIG(MSG_ARG_TYPE_EXEC)) == 0) {
1572 otype = OT_EXEC;
1573 } else if (strcmp(p,
1574 MSG_ORIG(MSG_ARG_TYPE_SHARED)) == 0) {
1575 otype = OT_SHARED;
|