[gnu.gdb.bug] Serious Bug in 3.3 on Symmetry

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