Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 May 2008 11:17:40 +0200
From:      Jeremie Le Hen <jeremie@le-hen.org>
To:        freebsd-hackers@FreeBSD.org
Subject:   Debugging rtld
Message-ID:  <20080517091740.GI70896@obiwan.tataz.chchile.org>

next in thread | raw e-mail | index | archive | help
Hi there,

I tried to compile my source tree with -fstack-protector-all, and it
happens that rtld breaks with this: once the new rtld is installed every
single problem coredumps.  I tried to compile rtld-elf without SSP, but
it didn't solve the problem.  Then I had to compile libc_pic.a without
SSP and it worked, but I don't understand the root of the problem.
So I want to use the generated coredump for post-mortem analysis with
gdb.

I compiled world with DEBUG_FLAGS=-g.  But GDB gives me a backtrace so
long that it can't be real.  Moreoever it doesn't seem to bring in the
required symbols.  I'm a GDB novice, so I'd like some help.

chroot> ===> libexec/rtld-elf (install)
chroot> chflags noschg /usr/libexec/ld-elf.so.1
chroot> install -s -o root -g wheel -m 555  -C -b -fschg -S ld-elf.so.1 /libexec
chroot> install -o root -g wheel -m 444 rtld.1.gz  /usr/share/man/man1
chroot> *** Signal 11
chroot>
chroot> jarjarbinks# cd /root; ls
chroot> Segmentation fault

host> jarjarbinks:145# ls -l /space/chroot/root/ls.core 
host> -rw-------  1 root  wheel  184320 May 17 10:19 /space/chroot/root/ls.core
host> jarjarbinks:149# gdb -c /space/chroot/root/ls.core -e /space/chroot/bin/ls
host> GNU gdb 6.1.1 [FreeBSD]
host> [...]
host> This GDB was configured as "i386-marcel-freebsd".
host> Core was generated by `ls'.
host> Program terminated with signal 11, Segmentation fault.
host> #0  0x280583e4 in ?? ()
host> (gdb) bt
host> #0  0x280583e4 in ?? ()
host> #1  0x00000000 in ?? ()
host> #2  0x00000000 in ?? ()
host> #3  0x00000000 in ?? ()
host> #4  0x00000000 in ?? ()
host> #5  0x00000000 in ?? ()
host> #6  0x00000000 in ?? ()
host> #7  0x00000000 in ?? ()
host> #8  0x00000000 in ?? ()
host> #9  0x00000000 in ?? ()
host> #10 0x00000000 in ?? ()
host> #11 0xffffffff in ?? ()
host> #12 0x00001000 in ?? ()
host> [...]
host> #359 0x73763a68 in ?? ()
host> #360 0x5b455c3d in ?? ()
host> [...]
host> #855 0x00000000 in ?? ()
host> [...]

Any hint on how to proceed would be welcome.

Thank you.
Regards,
-- 
Jeremie Le Hen
< jeremie at le-hen dot org >< ttz at chchile dot org >



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080517091740.GI70896>