gdb under FC devel and undefined symbols

Ralf Ertzinger fedora at camperquake.de
Fri Feb 17 15:16:33 UTC 2006


Hi.

I have noticed that under FC versions since FC4 the compiler seems to have
gotten more aggressive with optimizations. This shows up in the following
phenomenon (while debugging a "mount" segfault):

(gdb) run -t nfs -o ro 172.17.128.141:/var/spool/asterisk /mnt
Starting program: /bin/mount -t nfs -o ro 172.17.128.141:/var/spool/asterisk /mnt
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0xd34000

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.


This has happened to me on other occassions as well. Some asking on
#fedora-devel and googling shows that this is most likely due to
optimization in the compiler.

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.




More information about the devel mailing list