From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30159 invoked by alias); 2 Mar 2010 06:54:51 -0000 Received: (qmail 30135 invoked by uid 22791); 2 Mar 2010 06:54:49 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.44.51) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 02 Mar 2010 06:54:44 +0000 Received: from spaceape23.eur.corp.google.com (spaceape23.eur.corp.google.com [172.28.16.75]) by smtp-out.google.com with ESMTP id o226sgx0018053 for ; Mon, 1 Mar 2010 22:54:42 -0800 Received: from ruffy.mtv.corp.google.com (ruffy.mtv.corp.google.com [172.18.118.116]) by spaceape23.eur.corp.google.com with ESMTP id o226selA016172 for ; Mon, 1 Mar 2010 22:54:41 -0800 Received: by ruffy.mtv.corp.google.com (Postfix, from userid 67641) id 4831784843; Mon, 1 Mar 2010 22:54:40 -0800 (PST) To: gdb-patches@sourceware.org Subject: [RFA] Add missing baseaddr in dwarf2read.c Message-Id: <20100302065440.4831784843@ruffy.mtv.corp.google.com> Date: Tue, 02 Mar 2010 06:54:00 -0000 From: dje@google.com (Doug Evans) X-System-Of-Record: true 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: 2010-03/txt/msg00040.txt.bz2 Hi. I was getting "warning: (Internal error: pc 0x93a0 in read in psymtab, but not in symtab.)" and traced it to an oversight in dwarf2read.c:add_partial_subprogram. [target = android] The real addresses were 0xafe0XXXX but the addresses in the addrmap were off by baseaddr = 0xafe00000. [tested on android and amd64-linux, no regressions] Ok to check in? 2010-03-01 Doug Evans * dwarf2read.c (add_partial_subprogram): Add missing baseaddr to lowpc,highpc args to addrmap_set_empty. Index: dwarf2read.c =================================================================== RCS file: /cvs/src/src/gdb/dwarf2read.c,v retrieving revision 1.356 diff -u -p -r1.356 dwarf2read.c --- dwarf2read.c 15 Feb 2010 20:48:57 -0000 1.356 +++ dwarf2read.c 2 Mar 2010 06:02:39 -0000 @@ -2695,7 +2695,8 @@ add_partial_subprogram (struct partial_d baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile)); addrmap_set_empty (objfile->psymtabs_addrmap, - pdi->lowpc, pdi->highpc - 1, + pdi->lowpc + baseaddr, + pdi->highpc - 1 + baseaddr, cu->per_cu->psymtab); } if (!pdi->is_declaration)