summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormostang.com!davidm <mostang.com!davidm>2002-11-09 03:59:27 +0000
committermostang.com!davidm <mostang.com!davidm>2002-11-09 03:59:27 +0000
commitdee2508b2c1390f4279acfc4215559bf9c4056f3 (patch)
treef7d9ff0fb3a0dc60846ee517070849c001077c4f
parent9f708e3bb21bf3ba640b985db3bd7f6c31d496ac (diff)
downloadlibunwind-dee2508b2c1390f4279acfc4215559bf9c4056f3.tar.gz
(Logical change 1.21)
-rw-r--r--ChangeLog16
-rw-r--r--tests/test-init.c36
-rw-r--r--tests/test-varargs.c52
3 files changed, 104 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e03bdb2..2512751c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+***********************************************************
+
+ Discontinued. See bitkeeper loginstead at
+
+ http://unwind.bkbits.net/
+
+***********************************************************
+
+2002-11-08 David Mosberger-Tang <David.Mosberger@acm.org>
+
+ * src/ia64/unwind_i.h (ia64_getfp): Change from macro to inline
+ function. Check "loc" argument for being NULL before dereferencing it.
+ (ia64_putfp): Ditto.
+ (ia64_get): Ditto.
+ (ia64_put): Ditto.
+
2002-01-18 David Mosberger-Tang <David.Mosberger@acm.org>
* src/ia64/parser.c (__ia64_unw_create_state_record): Set
diff --git a/tests/test-init.c b/tests/test-init.c
index e69de29b..e7353af2 100644
--- a/tests/test-init.c
+++ b/tests/test-init.c
@@ -0,0 +1,36 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+extern int backtrace (void **, int);
+
+static void
+b (void)
+{
+ void *v[20];
+ int i, n;
+
+ n = backtrace(v, 20);
+ for (i = 0; i < n; ++i)
+ printf ("[%d] %p\n", i, v[i]);
+}
+
+static void
+a (void)
+{
+ b();
+}
+
+static void c (void) __attribute__((constructor));
+
+static void
+c (void)
+{
+ b();
+}
+
+int
+main (int argc, char **argv)
+{
+ return atexit (a);
+}
diff --git a/tests/test-varargs.c b/tests/test-varargs.c
index e69de29b..b712f5db 100644
--- a/tests/test-varargs.c
+++ b/tests/test-varargs.c
@@ -0,0 +1,52 @@
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+extern int backtrace (void **, int);
+
+static void
+b (void)
+{
+ void *v[20];
+ int i, n;
+
+ n = backtrace(v, 20);
+ for (i = 0; i < n; ++i)
+ printf ("[%d] %p\n", i, v[i]);
+}
+
+static void
+c (void)
+{
+ b ();
+}
+
+static void
+a (int d, ...)
+{
+ switch (d)
+ {
+ case 5:
+ a (4, 2,4);
+ break;
+ case 4:
+ a (3, 1,3,5);
+ break;
+ case 3:
+ a (2, 11, 13, 17, 23);
+ break;
+ case 2:
+ a (1);
+ break;
+ case 1:
+ c ();
+ }
+}
+
+int
+main (int argc, char **argv)
+{
+ a (5, 3, 4, 5, 6);
+ return 0;
+}