From owner-freebsd-hackers@FreeBSD.ORG Sat May 17 17:39:04 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0D2D1065686 for ; Sat, 17 May 2008 17:39:04 +0000 (UTC) (envelope-from tataz@tataz.chchile.org) Received: from smtp5-g19.free.fr (smtp5-g19.free.fr [212.27.42.35]) by mx1.freebsd.org (Postfix) with ESMTP id 37E6A8FC23 for ; Sat, 17 May 2008 17:39:04 +0000 (UTC) (envelope-from tataz@tataz.chchile.org) Received: from smtp5-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp5-g19.free.fr (Postfix) with ESMTP id 65B013F6157; Sat, 17 May 2008 19:39:02 +0200 (CEST) Received: from tatooine.tataz.chchile.org (tataz.chchile.org [82.233.239.98]) by smtp5-g19.free.fr (Postfix) with ESMTP id CCDAB3F634F; Sat, 17 May 2008 19:38:19 +0200 (CEST) Received: from obiwan.tataz.chchile.org (unknown [192.168.1.25]) by tatooine.tataz.chchile.org (Postfix) with ESMTP id E88C49F2EA; Sat, 17 May 2008 17:35:25 +0000 (UTC) Received: by obiwan.tataz.chchile.org (Postfix, from userid 1000) id DAE6F4089; Sat, 17 May 2008 19:35:25 +0200 (CEST) Date: Sat, 17 May 2008 19:35:25 +0200 From: Jeremie Le Hen To: Kostik Belousov Message-ID: <20080517173525.GJ70896@obiwan.tataz.chchile.org> References: <20080517091740.GI70896@obiwan.tataz.chchile.org> <20080517102653.GI18958@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080517102653.GI18958@deviant.kiev.zoral.com.ua> User-Agent: Mutt/1.5.15 (2007-04-06) Cc: freebsd-hackers@freebsd.org Subject: Re: Debugging rtld X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 May 2008 17:39:04 -0000 Hi, On Sat, May 17, 2008 at 01:26:53PM +0300, Kostik Belousov wrote: > On Sat, May 17, 2008 at 11:17:40AM +0200, Jeremie Le Hen wrote: > > 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. > > I usually add the CFLAGS+=-g to the rtld-elf/Makefile. Also, you do not > need to bring down the whole host by the broken ld.so.1. Do not install > it at all, and specify the path to the rtld by the --dynamic-linker switch, > see into ld. Thank you for this tip. However the backtrace is still unusable. I've recompiled libc_pic.a with -g, then rtld-elf with -g and finally /bin/ls with you tip and -g. I'm really brought to a standstill here. Thank you. Best regards, -- Jeremie Le Hen < jeremie at le-hen dot org >< ttz at chchile dot org >