diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | 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 e4e51d0..47bc29f 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2000-03-21 Kevin Buettner <kevinb@redhat.com> + + * 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 <ezannoni@kwikemart.cygnus.com> * gdb.base/printcmds.c: Add typedeffed arrays. diff --git a/gdb/testsuite/gdb.base/pointers.c b/gdb/testsuite/gdb.base/pointers.c index a6f0062..7a41552 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; } |