rpc.lockd segfault
Gilad Rom
gilad_bsd at romat.com
Sun Jan 18 06:05:11 PST 2004
Antoine Jacoutot wrote:
> On Saturday 17 January 2004 23:01, Kris Kennaway wrote:
>
>>Unfortunately that doesn't give any information. You'll need to
>>recompile rpc.lockd with GDB debugging symbols (add -ggdb to CFLAGS).
>>See the developer's handbook on the website for more information about
>>debugging program failures with gdb (specifically, how to obtain a
>>useful backtrace).
>
>
> Well, I recompiled rpc.lockd using -ggdb and -g, but when I launch the
> following command:
> $ gdb /usr/sbin/rpc.lockd
> ... I get:
>
> GNU gdb 5.2.1 (FreeBSD)
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i386-unknown-freebsd"...(no debugging symbols
> found)...
>
> How come no debugging symbols are found ?
>
> Here is how I compiled rpc.lockd
> ( CFLAGS= -g -ggdb -O -pipe ):
> $ rm -Rf /usr/obj/*
> $ cd /usr/src/usr.sbin/rpc.lockd
> $ make clean && make obj && make depend && make all install
>
> rm -f nlm_prot_svc.c nlm_prot.h test rpc.lockd kern.o nlm_prot_svc.o lockd.o
> lock_proc.o lockd_lock.o rpc.lockd.8.gz rpc.lockd.8.cat.gz
> /usr/obj/usr/src/usr.sbin/rpc.lockd created for /usr/src/usr.sbin/rpc.lockd
> rpcgen -L -C -m -o nlm_prot_svc.c /usr/include/rpcsvc/nlm_prot.x
> rm -f .depend
> mkdep -f .depend -a -I.
> -I/usr/include/rpcsvc /usr/src/usr.sbin/rpc.lockd/kern.c
> nlm_prot_svc.c /usr/src/usr.sbin/rpc.lockd/lockd.c /usr/src/usr.sbin/rpc.lockd/lock_proc.c /usr/src/usr.sbin/rpc.lockd/lockd_lock.c
> echo rpc.lockd: /usr/lib/libc.a /usr/lib/librpcsvc.a /usr/lib/libutil.a
>
>>>.depend
>
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc
> -c /usr/src/usr.sbin/rpc.lockd/kern.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc -c
> nlm_prot_svc.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc
> -c /usr/src/usr.sbin/rpc.lockd/lockd.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc
> -c /usr/src/usr.sbin/rpc.lockd/lock_proc.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc
> -c /usr/src/usr.sbin/rpc.lockd/lockd_lock.c
> cc -g -ggdb -O -pipe -march=pentium3 -I. -I/usr/include/rpcsvc -o rpc.lockd
> kern.o nlm_prot_svc.o lockd.o lock_proc.o lockd_lock.o -lrpcsvc -lutil
> gzip -cn /usr/src/usr.sbin/rpc.lockd/rpc.lockd.8 > rpc.lockd.8.gz
> install -s -o root -g wheel -m 555 rpc.lockd /usr/sbin
install -s uses strip(1), so all your debugging symbols are erased.
the original binary left in-place should have debugging symbols.
Gilad.
More information about the freebsd-questions
mailing list