summaryrefslogtreecommitdiffstats
path: root/bugs
diff options
context:
space:
mode:
authorRalf S. Engelschall <rse@openssl.org>1998-12-21 11:00:56 +0000
committerRalf S. Engelschall <rse@openssl.org>1998-12-21 11:00:56 +0000
commitdfeab0689f69c0b4bd3480ffd37a9cacc2f17d9c (patch)
tree2f74e0cfd76a9e092548a9bf52e579aef984299b /bugs
parent58964a492275ca9a59a0cd9c8155cb2491b4b909 (diff)
Import of old SSLeay release: SSLeay 0.9.1b (unreleased)SSLeay
Diffstat (limited to 'bugs')
-rw-r--r--bugs/sgiccbug.c2
-rw-r--r--bugs/ultrixcc.c45
2 files changed, 47 insertions, 0 deletions
diff --git a/bugs/sgiccbug.c b/bugs/sgiccbug.c
index 48bd0605df..178239d492 100644
--- a/bugs/sgiccbug.c
+++ b/bugs/sgiccbug.c
@@ -7,6 +7,8 @@
/* This compiler bug it present on IRIX 5.3, 5.1 and 4.0.5 (these are
* the only versions of IRIX I have access to.
* defining FIXBUG removes the bug.
+ * (bug is still present in IRIX 6.3 according to
+ * Gage <agage@forgetmenot.Mines.EDU>
*/
/* Compare the output from
diff --git a/bugs/ultrixcc.c b/bugs/ultrixcc.c
new file mode 100644
index 0000000000..7ba75b140f
--- /dev/null
+++ b/bugs/ultrixcc.c
@@ -0,0 +1,45 @@
+#include <stdio.h>
+
+/* This is a cc optimiser bug for ultrix 4.3, mips CPU.
+ * What happens is that the compiler, due to the (a)&7,
+ * does
+ * i=a&7;
+ * i--;
+ * i*=4;
+ * Then uses i as the offset into a jump table.
+ * The problem is that a value of 0 generates an offset of
+ * 0xfffffffc.
+ */
+
+main()
+ {
+ f(5);
+ f(0);
+ }
+
+int f(a)
+int a;
+ {
+ switch(a&7)
+ {
+ case 7:
+ printf("7\n");
+ case 6:
+ printf("6\n");
+ case 5:
+ printf("5\n");
+ case 4:
+ printf("4\n");
+ case 3:
+ printf("3\n");
+ case 2:
+ printf("2\n");
+ case 1:
+ printf("1\n");
+#ifdef FIX_BUG
+ case 0:
+ ;
+#endif
+ }
+ }
+