From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12077 invoked by alias); 23 Aug 2013 00:07:32 -0000 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org Received: (qmail 12044 invoked by uid 48); 23 Aug 2013 00:07:32 -0000 From: "dje at google dot com" To: gdb-prs@sourceware.org Subject: [Bug symtab/15883] New: reread_symbols: preserving section offsets? Date: Fri, 23 Aug 2013 00:07:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: symtab X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dje at google dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-q3/txt/msg00255.txt.bz2 http://sourceware.org/bugzilla/show_bug.cgi?id=15883 Bug ID: 15883 Summary: reread_symbols: preserving section offsets? Product: gdb Version: HEAD Status: NEW Severity: normal Priority: P2 Component: symtab Assignee: unassigned at sourceware dot org Reporter: dje at google dot com reread_symbols preserves section offsets across rereading the bfd. /* Save the offsets, we will nuke them with the rest of the objfile_obstack. */ num_offsets = objfile->num_sections; offsets = ((struct section_offsets *) alloca (SIZEOF_N_SECTION_OFFSETS (num_offsets))); memcpy (offsets, objfile->section_offsets, SIZEOF_N_SECTION_OFFSETS (num_offsets)); ... /* We use the same section offsets as from last time. I'm not sure whether that is always correct for shared libraries. */ objfile->section_offsets = (struct section_offsets *) obstack_alloc (&objfile->objfile_obstack, SIZEOF_N_SECTION_OFFSETS (num_offsets)); memcpy (objfile->section_offsets, offsets, SIZEOF_N_SECTION_OFFSETS (num_offsets)); objfile->num_sections = num_offsets; What if in recompiling the user added a new section? Seems like this won't work. -- You are receiving this mail because: You are on the CC list for the bug.