summaryrefslogtreecommitdiff
path: root/usr/src/tools/cw/cw.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/tools/cw/cw.c')
-rw-r--r--usr/src/tools/cw/cw.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/usr/src/tools/cw/cw.c b/usr/src/tools/cw/cw.c
index 9d2e88f6fb..933ee9cf56 100644
--- a/usr/src/tools/cw/cw.c
+++ b/usr/src/tools/cw/cw.c
@@ -1010,6 +1010,14 @@ do_gcc(cw_ictx_t *ctx)
"-fno-eliminate-unused-debug-types");
break;
}
+ if (strcmp(arg, "-W2,-xwrap_int") == 0) {
+ /*
+ * Use the legacy behaviour (pre-SS11)
+ * for integer wrapping.
+ * gcc does not need this.
+ */
+ break;
+ }
if (strcmp(arg, "-W2,-Rcond_elim") == 0) {
/*
* Elimination and expansion of conditionals;
@@ -1038,6 +1046,13 @@ do_gcc(cw_ictx_t *ctx)
*/
break;
}
+ if (strcmp(arg, "-Wc,-Qassembler-ounrefsym=0") == 0) {
+ /*
+ * Prevents optimizing away of static variables.
+ * gcc does not do this, so it's not needed.
+ */
+ break;
+ }
#if defined(__x86)
if (strcmp(arg, "-Wu,-no_got_reloc") == 0) {
newae(ctx->i_ae, "-fno-jump-tables");
@@ -1621,10 +1636,10 @@ main(int argc, char **argv)
if ((dir = getenv("SPRO_VROOT")) != NULL) {
(void) snprintf(cc_buf, MAXPATHLEN, "%s/bin", dir);
} else if ((dir = getenv("SPRO_ROOT")) != NULL) {
- (void) snprintf(cc_buf, MAXPATHLEN, "%s/SOS10/bin", dir);
+ (void) snprintf(cc_buf, MAXPATHLEN, "%s/SS11/bin", dir);
} else if ((dir = getenv("BUILD_TOOLS")) != NULL) {
(void) snprintf(cc_buf, MAXPATHLEN,
- "%s/SUNWspro/SOS10/bin", dir);
+ "%s/SUNWspro/SS11/bin", dir);
}
if (dir != NULL) {
dirs[CIDX(CW_C_CC, 0)] = (const char *)cc_buf;