From: kevinb Date: Tue, 21 Mar 2000 23:01:49 +0000 (+0000) Subject: Test suite change for AIX 4.3. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=eb0c965d1f10ce240f6c8a776600dea4f39d9015;p=pf3gnuchains%2Fsourceware.git Test suite change for AIX 4.3. --- 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 8cac2c2b90..7a41552fc5 100644 --- a/gdb/testsuite/gdb.base/pointers.c +++ b/gdb/testsuite/gdb.base/pointers.c @@ -71,33 +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(); - - /* 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; } @@ -172,5 +168,49 @@ void dummy() } +void marker1 () +{ +} - +int more_code() +{ + char C, *pC, **ppC, ***pppC, ****ppppC, *****pppppC, ******ppppppC; + unsigned char UC, *pUC; + short S, *pS; + unsigned short US, *pUS; + int I, *pI; + unsigned int UI, *pUI; + long L, *pL; + unsigned long UL, *pUL; + float F, *pF; + double D, *pD; + + C = 'A'; + UC = 21; + S = -14; + US = 7; + I = 102; + UI = 1002; + L = -234; + UL = 234; + F = 1.25E10; + D = -1.375E-123; + pC = &C; + ppC = &pC; + pppC = &ppC; + ppppC = &pppC; + pppppC = &ppppC; + ppppppC = &pppppC; + pUC = &UC; + pS = &S; + pUS = &US; + pI = &I; + pUI = &UI; + pL = &L; + pUL = &UL; + pF = &F; + pD = &D; + + marker1(); + return 0; +}