From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3052 invoked by alias); 25 Jul 2014 16:58:49 -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 3022 invoked by uid 48); 25 Jul 2014 16:58:48 -0000 From: "dje at google dot com" To: gdb-prs@sourceware.org Subject: [Bug symtab/17199] New: Recording two copies of plt minimal symbols is a pain to deal with Date: Fri, 25 Jul 2014 16:58: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: minor 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: 2014-q3/txt/msg00152.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=17199 Bug ID: 17199 Summary: Recording two copies of plt minimal symbols is a pain to deal with Product: gdb Version: HEAD Status: NEW Severity: minor Priority: P2 Component: symtab Assignee: unassigned at sourceware dot org Reporter: dje at google dot com If there's a category for code cleanup issues, this goes there. Creating two copies of plt minimal symbols is a pain to deal with. It complicates trying to understand what's going on, not least of which because foo@plt gets mst_text and foo gets mst_solib_trampoline ("foo" is the "special" symbol here, not foo@plt). I understand the problem being solved here, I'm just thinking there's got to be a cleaner way. elfread.c: /* For @plt symbols, also record a trampoline to the destination symbol. The @plt symbol will be used in disassembly, and the trampoline will be used when we are trying to find the target. */ if (msym && ms_type == mst_text && type == ST_SYNTHETIC) { int len = strlen (sym->name); if (len > 4 && strcmp (sym->name + len - 4, "@plt") == 0) { struct minimal_symbol *mtramp; mtramp = record_minimal_symbol (sym->name, len - 4, 1, symaddr, mst_solib_trampoline, sym->section, objfile); if (mtramp) { SET_MSYMBOL_SIZE (mtramp, MSYMBOL_SIZE (msym)); mtramp->created_by_gdb = 1; mtramp->filename = filesymname; gdbarch_elf_make_msymbol_special (gdbarch, sym, mtramp); } } } -- You are receiving this mail because: You are on the CC list for the bug.