Print this page
4843 add --as-needed and --no-as-needed to ld

*** 458,482 **** break; case '-': switch (*(arg + 1)) { case 'a': /* * Translate --allow-multiple-definition to * -zmuldefs */ if ((c = str2chr(lml, ndx, argc, argv, arg, 'z', MSG_ORIG(MSG_ARG_T_MULDEFS), 0, NULL)) != 0) { optarg = (char *)MSG_ORIG(MSG_ARG_MULDEFS); return (c); ! /* * Translate --auxiliary <optarg> to * -f <optarg> */ ! } else if ((c = str2chr(lml, argc, ndx, argv, arg, 'f', MSG_ORIG(MSG_ARG_T_AUXFLTR), MSG_ARG_T_AUXFLTR_SIZE, NULL)) != 0) { return (c); } break; --- 458,492 ---- break; case '-': switch (*(arg + 1)) { case 'a': /* + * Translate --as-needed to -zignore + */ + if ((c = str2chr(lml, ndx, argc, argv, arg, 'z', + MSG_ORIG(MSG_ARG_T_ASNEEDED), 0, NULL)) != + 0) { + optarg = + (char *)MSG_ORIG(MSG_ARG_IGNORE); + return (c); + } + /* * Translate --allow-multiple-definition to * -zmuldefs */ if ((c = str2chr(lml, ndx, argc, argv, arg, 'z', MSG_ORIG(MSG_ARG_T_MULDEFS), 0, NULL)) != 0) { optarg = (char *)MSG_ORIG(MSG_ARG_MULDEFS); return (c); ! } /* * Translate --auxiliary <optarg> to * -f <optarg> */ ! if ((c = str2chr(lml, argc, ndx, argv, arg, 'f', MSG_ORIG(MSG_ARG_T_AUXFLTR), MSG_ARG_T_AUXFLTR_SIZE, NULL)) != 0) { return (c); } break;
*** 556,565 **** --- 566,585 ---- return (c); } break; case 'n': /* + * Translate --no-as-needed to -zrecord + */ + if ((c = str2chr(lml, ndx, argc, argv, arg, 'z', + MSG_ORIG(MSG_ARG_T_NOASNEEDED), 0, NULL)) != + 0) { + optarg = + (char *)MSG_ORIG(MSG_ARG_RECORD); + return (c); + } + /* * Translate --no-fatal-warnings to * -z nofatal-warnings. */ if ((c = str2chr(lml, ndx, argc, argv, arg, 'z', MSG_ORIG(MSG_ARG_T_NOFATWARN),