diff options
author | mostang.com!davidm <mostang.com!davidm> | 2002-11-09 03:59:27 +0000 |
---|---|---|
committer | mostang.com!davidm <mostang.com!davidm> | 2002-11-09 03:59:27 +0000 |
commit | dee2508b2c1390f4279acfc4215559bf9c4056f3 (patch) | |
tree | f7d9ff0fb3a0dc60846ee517070849c001077c4f | |
parent | 9f708e3bb21bf3ba640b985db3bd7f6c31d496ac (diff) | |
download | libunwind-dee2508b2c1390f4279acfc4215559bf9c4056f3.tar.gz |
(Logical change 1.21)
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | tests/test-init.c | 36 | ||||
-rw-r--r-- | tests/test-varargs.c | 52 |
3 files changed, 104 insertions, 0 deletions
@@ -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; +} |