1454 case (SS11|M64):
1455 break;
1456 case (SS12|M32):
1457 #if defined(__sparc)
1458 /*
1459 * Need to add in further 32 bit options because with SS12
1460 * the xarch=sparcvis option can be applied to 32 or 64
1461 * bit, and so the translatation table (xtbl) cannot handle
1462 * that.
1463 */
1464 newae(ctx->i_ae, "-mv8plus");
1465 #endif
1466 break;
1467 case (SS12|M64):
1468 break;
1469 default:
1470 (void) fprintf(stderr,
1471 "Incompatible -xarch= and/or -m32/-m64 options used.\n");
1472 exit(2);
1473 }
1474 if (op == CW_O_LINK && (ctx->i_flags & CW_F_SHADOW))
1475 exit(0);
1476
1477 if (model && !pic)
1478 newae(ctx->i_ae, model);
1479 if (!nolibc)
1480 newae(ctx->i_ae, "-lc");
1481 if (!seen_o && (ctx->i_flags & CW_F_SHADOW)) {
1482 newae(ctx->i_ae, "-o");
1483 newae(ctx->i_ae, ctx->i_discard);
1484 }
1485 }
1486
1487 static void
1488 do_cc(cw_ictx_t *ctx)
1489 {
1490 int in_output = 0, seen_o = 0;
1491 cw_op_t op = CW_O_LINK;
1492 char *nameflag;
1493
1494 if (ctx->i_flags & CW_F_PROG) {
|
1454 case (SS11|M64):
1455 break;
1456 case (SS12|M32):
1457 #if defined(__sparc)
1458 /*
1459 * Need to add in further 32 bit options because with SS12
1460 * the xarch=sparcvis option can be applied to 32 or 64
1461 * bit, and so the translatation table (xtbl) cannot handle
1462 * that.
1463 */
1464 newae(ctx->i_ae, "-mv8plus");
1465 #endif
1466 break;
1467 case (SS12|M64):
1468 break;
1469 default:
1470 (void) fprintf(stderr,
1471 "Incompatible -xarch= and/or -m32/-m64 options used.\n");
1472 exit(2);
1473 }
1474
1475 if ((op == CW_O_LINK || op == CW_O_PREPROCESS) &&
1476 (ctx->i_flags & CW_F_SHADOW))
1477 exit(0);
1478
1479 if (model && !pic)
1480 newae(ctx->i_ae, model);
1481 if (!nolibc)
1482 newae(ctx->i_ae, "-lc");
1483 if (!seen_o && (ctx->i_flags & CW_F_SHADOW)) {
1484 newae(ctx->i_ae, "-o");
1485 newae(ctx->i_ae, ctx->i_discard);
1486 }
1487 }
1488
1489 static void
1490 do_cc(cw_ictx_t *ctx)
1491 {
1492 int in_output = 0, seen_o = 0;
1493 cw_op_t op = CW_O_LINK;
1494 char *nameflag;
1495
1496 if (ctx->i_flags & CW_F_PROG) {
|