These patches fix two annoying bugs in GDB 4.16, they should not be necessary
in later releases of GDB (fixes courtesy of Cygnus Support).

*** gdb/c-valprint.c.orig	Tue Jan 23 23:02:39 1996
--- gdb/c-valprint.c	Wed Jan 15 23:04:19 1997
***************
*** 153,158 ****
--- 153,160 ----
  	  addr = unpack_pointer (type, valaddr);
  	print_unpacked_pointer:
  
+ 	  elttype = check_typedef (TYPE_TARGET_TYPE (type));
+ 
  	  if (TYPE_CODE (elttype) == TYPE_CODE_FUNC)
  	    {
  	      /* Try to print what function it points to.  */
*** gdb/cp-valprint.c.orig	Mon Apr  8 23:15:09 1996
--- gdb/cp-valprint.c	Wed Jan 15 23:04:47 1997
***************
*** 351,357 ****
  		{
  	           val_print (TYPE_FIELD_TYPE (type, i), 
  			      valaddr + TYPE_FIELD_BITPOS (type, i) / 8,
! 			      0, stream, format, 0, recurse + 1, pretty);
  		}
  	    }
  	  annotate_field_end ();
--- 351,358 ----
  		{
  	           val_print (TYPE_FIELD_TYPE (type, i), 
  			      valaddr + TYPE_FIELD_BITPOS (type, i) / 8,
! 			      address + TYPE_FIELD_BITPOS (type, i) / 8,
! 			      stream, format, 0, recurse + 1, pretty);
  		}
  	    }
  	  annotate_field_end ();
