gdb under FC devel and undefined symbols

John Reiser jreiser at BitWagon.com
Fri Feb 17 16:38:36 UTC 2006


> Program received signal SIGSEGV, Segmentation fault.
> nfsmount (spec=0x92e1200 "172.17.128.141:/var/spool/asterisk", node=0x92e1228 "/mnt", flags=0xbfd7ec20, extra_opts=0xbfd7ec1c, mount_opts=0xbfd7ec18,
>     nfs_mount_vers=0xbfd7ec10, running_bg=0) at nfsmount.c:1206
> 1206                            if (flavor[i] == data.pseudoflavor)
> (gdb) whatis flavor
> No symbol "flavor" in current context.

Assuming that 'flavor' is not a macro, then this is a bug in the compiler.
A named array always resides in addressible memory, so must have a symbol
visible to the debugger if the name is in scope.  File a bug report against
gcc.  A small and simple testcase is always appreciated, but file the
report anyway, naming the exact SRPM of the source and the exact gcc version,
if a few attempts at simplifying fail.

> While this is all good and well I'd like to know how I am to debug
> failures like the above in the future when gdb is unable to show me
> variable types or contents.

Become familiar with assembly language and gdb's access to it.
For the particular case presented above (again, assuming 'flavor'
is not a macro), it isn't outrageously hard.

-- 




More information about the fedora-devel-list mailing list