From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12004 invoked by alias); 11 Jun 2012 19:41:18 -0000 Received: (qmail 11938 invoked by uid 22791); 11 Jun 2012 19:41:17 -0000 X-SWARE-Spam-Status: No, hits=-6.2 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,SPF_HELO_PASS,TW_GJ,TW_TJ,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 11 Jun 2012 19:40:56 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q5BJeg4b026523 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 11 Jun 2012 15:40:42 -0400 Received: from host2.jankratochvil.net (ovpn-116-33.ams2.redhat.com [10.36.116.33]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q5BJeckg016199 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 11 Jun 2012 15:40:40 -0400 Date: Mon, 11 Jun 2012 19:41:00 -0000 From: Jan Kratochvil To: Joel Brobecker Cc: Mark Kettenis , gdb-patches@sourceware.org Subject: Re: ping: [patch 1/2] Fix gdb.cp/gdb2495.exp regression with gcc-4.7 #5 Message-ID: <20120611194037.GA32003@host2.jankratochvil.net> References: <20120309210045.GA30432@host2.jankratochvil.net> <20120326190355.GA11001@host2.jankratochvil.net> <201203261953.q2QJrXX4023325@glazunov.sibelius.xs4all.nl> <20120326203151.GA18085@host2.jankratochvil.net> <201203262145.q2QLjRIJ024024@glazunov.sibelius.xs4all.nl> <20120327081439.GA8387@host2.jankratochvil.net> <20120611152148.GA31854@adacore.com> <20120611160830.GA10865@host2.jankratochvil.net> <20120611192459.GM2687@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120611192459.GM2687@adacore.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-06/txt/msg00309.txt.bz2 On Mon, 11 Jun 2012 21:24:59 +0200, Joel Brobecker wrote: > 1. Ignore the initial regression, and release with it This is not good, this regresses a nice C++ fixup by Tom. > 2. Revert the patch that caused the regression. I can't remember > which patch that was, and whether it would "unsolve" an important > issue. The regression is due to binutils fix by Jakub Jelinek: http://sourceware.org/bugzilla/show_bug.cgi?id=12570 There is nothing to revert. The original assumption _start has no unwind info was just wrong. Moreover there was a bug that it relied upon the fact that .plt has no unwind info. But after fixing it to make it really _start (and not .plt) some archs (ppc IIRC) has unwind info even for _start. > 3. Ignore the side-effect/regression caused by this fix, and fix > it later Yes, I find it a viable alternative. > 4. Delay the release in order to implement setjmp handling. I already tried to implement it once but somehow did not finish it. I do no like much that even the longjmps tracking is not a perfect solution. It would be best to find some other safe place where to put a breakpoint. Maybe to override the address choosing in i386-linux-tdep.c and reuse return address to _start? Therefore to put breakpoint at 0x7fffffffda58 (+ 7): Dump of assembler code for function _start: 0x0000000000489560 <+0>: xor %ebp,%ebp [...] 0x0000000000489584 <+36>: callq 0x488180 <__libc_start_main@plt> => 0x0000000000489589 <+41>: hlt 0x000000000048958a <+42>: xchg %ax,%ax 0x000000000048958c <+44>: nopl 0x0(%rax) (gdb) x/gx 0x7fffffffda58 0x7fffffffda58: 0x0000000000489589 Thanks, Jan