From b9593231040a8f205ba9c28181e67540a592ff44 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Tue, 21 Mar 2000 23:01:49 +0000 Subject: [PATCH] Test suite change for AIX 4.3. --- gdb/testsuite/ChangeLog | 9 +++++++++ gdb/testsuite/gdb.base/pointers.c | 33 ++++++++++++------------------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index e4e51d0ed0..47bc29f324 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2000-03-21 Kevin Buettner + + * gdb.base/pointers.c (usevar): New function. + (main): Make sure that global variables v_int_pointer2, rptr, + and y are all referenced someplace in the program by calling + usevar() on them. [Some linkers delete symbols which are + never referenced. The space remains, but there's no way to + get a (symbolic) handle on the variable from the debugger.] + 2000-03-14 Elena Zannoni * gdb.base/printcmds.c: Add typedeffed arrays. diff --git a/gdb/testsuite/gdb.base/pointers.c b/gdb/testsuite/gdb.base/pointers.c index a6f0062dab..7a41552fc5 100644 --- a/gdb/testsuite/gdb.base/pointers.c +++ b/gdb/testsuite/gdb.base/pointers.c @@ -71,36 +71,29 @@ float ** ptr_to_ptr_to_float; int y; +/* Do nothing function used for forcing some of the above variables to + be referenced by the program source. If the variables are not + referenced, some linkers will remove the symbol from the symbol + table making it impossible to refer to the variable in gdb. */ +void usevar (void *var) {} + int main () { - void dummy(); - int more_code(); - - /* Ensure that malloc is a pointer type; avoid use of "void" and any include files. */ - /* extern char *malloc();*/ - - /* void *malloc(size_t);*/ - - - + void dummy(); + int more_code(); + #ifdef usestubs set_debug_traps(); breakpoint(); #endif dummy(); -/* v_int_pointer2 = &v_int_pointer; - v_unsigned_int_pointer = &v_int; - - y = (v_unsigned_int_pointer == v_double_pointer); - - x = v_unsigned_int_pointer * v_double_pointer; - - v_unsigned_int_pointer = v_double_pointer; - - v_unsigned_int_pointer = v_unsigned_int;*/ more_code (); + usevar (&v_int_pointer2); + usevar (&rptr); + usevar (&y); + return 0; }