summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2014-04-23 19:14:59 +0000
committermiod <miod@openbsd.org>2014-04-23 19:14:59 +0000
commit6dde973b8a6222f3ee8e054feee5633224eee7e0 (patch)
tree3d3126e620580b79c0b07186276e72409c12df9b
parentGrr, the more you remove, the more there remain. (diff)
downloadwireguard-openbsd-6dde973b8a6222f3ee8e054feee5633224eee7e0.tar.xz
wireguard-openbsd-6dde973b8a6222f3ee8e054feee5633224eee7e0.zip
I'm glad to know that Ultrix CC has a bug optimizing switch() statements
lacking an explicit `case 0:' construct. But Ultrix has been dead for more than 15 years, really. Don't give it any reason to move out of its coffin.
-rw-r--r--lib/libcrypto/bn/bn_lib.c5
-rw-r--r--lib/libcrypto/rc4/rc4_enc.c10
-rw-r--r--lib/libssl/src/crypto/bn/bn_lib.c5
-rw-r--r--lib/libssl/src/crypto/rc4/rc4_enc.c10
4 files changed, 0 insertions, 30 deletions
diff --git a/lib/libcrypto/bn/bn_lib.c b/lib/libcrypto/bn/bn_lib.c
index b491c785d40..c8de547ba55 100644
--- a/lib/libcrypto/bn/bn_lib.c
+++ b/lib/libcrypto/bn/bn_lib.c
@@ -345,10 +345,6 @@ static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words)
case 3: A[2]=B[2];
case 2: A[1]=B[1];
case 1: A[0]=B[0];
- case 0: /* workaround for ultrix cc: without 'case 0', the optimizer does
- * the switch table by doing a=top&3; a--; goto jump_table[a];
- * which fails for top== 0 */
- ;
}
}
@@ -500,7 +496,6 @@ BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
case 3: A[2]=B[2];
case 2: A[1]=B[1];
case 1: A[0]=B[0];
- case 0: ; /* ultrix cc workaround, see comments in bn_expand_internal */
}
#else
memcpy(a->d,b->d,sizeof(b->d[0])*b->top);
diff --git a/lib/libcrypto/rc4/rc4_enc.c b/lib/libcrypto/rc4/rc4_enc.c
index d8fc939dac7..ec9d9e7b64e 100644
--- a/lib/libcrypto/rc4/rc4_enc.c
+++ b/lib/libcrypto/rc4/rc4_enc.c
@@ -189,11 +189,6 @@ void RC4(RC4_KEY *key, size_t len, const unsigned char *indata,
case 3: otp |= RC4_STEP<<i, i-=8;
case 2: otp |= RC4_STEP<<i, i-=8;
case 1: otp |= RC4_STEP<<i, i-=8;
- case 0: ; /*
- * it's never the case,
- * but it has to be here
- * for ultrix?
- */
}
ochunk &= ~mask;
ochunk |= (otp^ichunk) & mask;
@@ -242,11 +237,6 @@ void RC4(RC4_KEY *key, size_t len, const unsigned char *indata,
case 3: otp |= RC4_STEP<<i, i+=8;
case 2: otp |= RC4_STEP<<i, i+=8;
case 1: otp |= RC4_STEP<<i, i+=8;
- case 0: ; /*
- * it's never the case,
- * but it has to be here
- * for ultrix?
- */
}
ochunk &= ~mask;
ochunk |= (otp^ichunk) & mask;
diff --git a/lib/libssl/src/crypto/bn/bn_lib.c b/lib/libssl/src/crypto/bn/bn_lib.c
index b491c785d40..c8de547ba55 100644
--- a/lib/libssl/src/crypto/bn/bn_lib.c
+++ b/lib/libssl/src/crypto/bn/bn_lib.c
@@ -345,10 +345,6 @@ static BN_ULONG *bn_expand_internal(const BIGNUM *b, int words)
case 3: A[2]=B[2];
case 2: A[1]=B[1];
case 1: A[0]=B[0];
- case 0: /* workaround for ultrix cc: without 'case 0', the optimizer does
- * the switch table by doing a=top&3; a--; goto jump_table[a];
- * which fails for top== 0 */
- ;
}
}
@@ -500,7 +496,6 @@ BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b)
case 3: A[2]=B[2];
case 2: A[1]=B[1];
case 1: A[0]=B[0];
- case 0: ; /* ultrix cc workaround, see comments in bn_expand_internal */
}
#else
memcpy(a->d,b->d,sizeof(b->d[0])*b->top);
diff --git a/lib/libssl/src/crypto/rc4/rc4_enc.c b/lib/libssl/src/crypto/rc4/rc4_enc.c
index d8fc939dac7..ec9d9e7b64e 100644
--- a/lib/libssl/src/crypto/rc4/rc4_enc.c
+++ b/lib/libssl/src/crypto/rc4/rc4_enc.c
@@ -189,11 +189,6 @@ void RC4(RC4_KEY *key, size_t len, const unsigned char *indata,
case 3: otp |= RC4_STEP<<i, i-=8;
case 2: otp |= RC4_STEP<<i, i-=8;
case 1: otp |= RC4_STEP<<i, i-=8;
- case 0: ; /*
- * it's never the case,
- * but it has to be here
- * for ultrix?
- */
}
ochunk &= ~mask;
ochunk |= (otp^ichunk) & mask;
@@ -242,11 +237,6 @@ void RC4(RC4_KEY *key, size_t len, const unsigned char *indata,
case 3: otp |= RC4_STEP<<i, i+=8;
case 2: otp |= RC4_STEP<<i, i+=8;
case 1: otp |= RC4_STEP<<i, i+=8;
- case 0: ; /*
- * it's never the case,
- * but it has to be here
- * for ultrix?
- */
}
ochunk &= ~mask;
ochunk |= (otp^ichunk) & mask;