[gnu.gdb.bug] display of functions as parameters

godard@CURLY.SAMSUNG.COM (Ivan Godard) (08/25/89)

When a function takes other another function as a parameter the display of the
parameter does not give the function name but an irrelevancy.  In the example
gdb display below, the actual function name is 'WriteFill' but it displays as
'_SIG_PF'.  However, when the parameter is called gdb finds the correct name.

example follows:
-----------------------------------------------------------------------------
(gdb) n
1: x/i $pc  0xa43a <_ExtFirst+18>:	movel 16(fp),-(sp)
(gdb) 
1: x/i $pc  0xa478 <_ExtFirst+80>:	movel 16(fp),-(sp)
(gdb) 
1: x/i $pc  0xa4a2 <_ExtFirst+122>:	unlk fp
(gdb) 
0xa4a4 in _ExtFirst (who=(row *) 0x34, anIndex=17610, stride=131944) (row.c line 248)
1: x/i $pc  0xa4a4 <_ExtFirst+124>:	rts  //=================== BAD VALUE NAME
(gdb)                                    V
0x39e4 in WriteDisk (size=52, Data=(_SIG_PF) 0x44ca, p=(pointer) 0x20368, commit=1 '\001') (disk.c line 487)
1: x/i $pc  0x39e4 <WriteDisk+140>:	addaw #12,sp
(gdb) s
WriteFill (r={start = 0x201b6, length = 52}, p=(row *) 0x20368) (location.c line 415)
1: x/i $pc  0x44d0 <WriteFill+6>:	movel 12(fp),-(sp)
(gdb) 
------------------------------------------------------------------------------
end of example

Note that the parameter name is correct, only the parameter value name is
wrong.

Ivan