rfg@ICS.UCI.EDU (10/07/89)
As the following typescript indicates, there is a serious problem with the handling of values when using GDB 3.3 on the Sequent Symmetry. Apparently, 3.3 on Symmetry will not let you print the values of local register pointer variables. Also, you cannot use such values in larger expressions. When you try, you get: Invalid cast That message is comming out of valops.c, but that is as far as I have tracked the problem. The problem is also apparent in 3.2.xxx on the Symmetry. I could not reproduce this problem on the Sun-4 using 3.2. I have not tried it on the Sun's with 3.2.xxx, or with 3.3. // rfg ---------------------------------------------------------------------------- Script started on Fri Oct 6 19:54:13 1989 ics>att nl -ba test.c 1 typedef int *IP; 2 3 main () 4 { 5 register IP ip = 0; 6 7 f (ip); 8 } 9 10 f (p) IP p; { } ics>gcc -v -g -o test test.c gcc version 1.36 /usr/gnu/lib/gcc-cpp -v -undef -D__GNUC__ -Dunix -Di386 -Dsequent -D__unix__ -D__i386__ -D__sequent__ test.c /usr/tmp/cc004668.cpp GNU CPP version 1.36 /usr/gnu/lib/gcc-cc1 /usr/tmp/cc004668.cpp -quiet -dumpbase test.c -g -version -o /usr/tmp/cc004668.s GNU C version 1.36 (80386, BSD syntax) compiled by GNU C version 1.36. default target switches: -m80387 gas -o test.o /usr/tmp/cc004668.s /usr/gnu/lib/gcc-ld -o test /lib/crt0.o test.o /usr/gnu/lib/gcc-gnulib -lg -lc ics>./gdb ./test GDB 3.3, Copyright (C) 1989 Free Software Foundation, Inc. There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details. GDB is free software and you are welcome to distribute copies of it under certain conditions; type "info copying" to see the conditions. Reading symbol data from /q2/ug/rfg/gnu/gdb/build/seq386/3.3.0/test...done. Type "help" for a list of commands. (gdb) b 7 Reading in symbols for test.c...done. Breakpoint 1 at 0x1102: file test.c, line 7. (gdb) r Starting program: /q2/ug/rfg/gnu/gdb/build/seq386/3.3.0/test Bpt 1, main (, 43101, 1073736956, 1073736964) (test.c line 7) 7 f (ip); (gdb) print ip Invalid cast. (gdb) print f(ip) Invalid cast. (gdb) quit The program is running. Quit anyway? (y or n) y ics> ics>exit exit script done on Fri Oct 6 19:55:17 1989