Print this page
code review from Robert


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;