From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5995 invoked by alias); 15 Mar 2011 18:37:04 -0000 Received: (qmail 5925 invoked by uid 22791); 15 Mar 2011 18:37:02 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,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; Tue, 15 Mar 2011 18:36:55 +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 p2FIas0a020968 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 15 Mar 2011 14:36:54 -0400 Received: from host1.jankratochvil.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p2FIapxD014534 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 15 Mar 2011 14:36:53 -0400 Received: from host1.jankratochvil.net (localhost [127.0.0.1]) by host1.jankratochvil.net (8.14.4/8.14.4) with ESMTP id p2FIaoYq032231; Tue, 15 Mar 2011 19:36:50 +0100 Received: (from jkratoch@localhost) by host1.jankratochvil.net (8.14.4/8.14.4/Submit) id p2FIaoFv032230; Tue, 15 Mar 2011 19:36:50 +0100 Date: Tue, 15 Mar 2011 18:50:00 -0000 From: Jan Kratochvil To: Paul Pluzhnikov Cc: Tom Tromey , gdb-patches ml , Doug Evans Subject: Re: [patch] Re: Advice on fixing gdb/12528 Message-ID: <20110315183650.GA29330@host1.jankratochvil.net> References: <20110315004140.GA28560@host1.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: 2011-03/txt/msg00807.txt.bz2 On Tue, 15 Mar 2011 02:39:39 +0100, Paul Pluzhnikov wrote: > ChangeLog: > > 2011-03-14 Paul Pluzhnikov > > PR gdb/12528 > * dwarf2read.c (noop_record_line): New function. > (dwarf_decode_lines): Ignore line tables for GCd functions. > > testsuite/ChangeLog: > > 2011-03-14 Paul Pluzhnikov > > PR gdb/12528 > * gdb.dwarf2/break-on-linker-gcd-function.exp: New test. > * gdb.dwarf2/break-on-linker-gcd-function.cc: New file. It seems correct to me, please check it in. > case DW_LNE_set_address: > address = read_address (abfd, line_ptr, cu, &bytes_read); > op_index = 0; > line_ptr += bytes_read; > + > + if (address == 0 && !dwarf2_per_objfile->has_section_at_zero) > + /* This line table is for a function which has been > + GCd by the linker. Ignore it. PR gdb/12528 */ > + p_record_line = noop_record_line; There could be a `complaint' call here, correct linker/postprocessor would discard the .debug_line part along. > + > address += baseaddr; > break; This opcode is the only one settings ADDRESS to absolute value (using BASEADDR) so I believe it is correct. > +# This accepts e.g. "Breakpoint 1 at 0x40968a" (fixed GDB) > +# but rejects e.g. "Breakpoint 1 at 0x4" (broken GDB). > +gdb_test "b [gdb_get_line_number "gdb break here"]" "Breakpoint \[0-9\] at 0x\[0-9a-f\]\[0-9a-f\]+: .*" I was thinking if some prologue cannot be >=0x10 due to some alignments etc. But neither ia64 (0x1 - still in the first bundle) nor s390x (0xa) exceed the 0x10 limit so it is probably OK. A regression would be found at least on x86* boxes anyway. Thanks, Jan