From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gproxy3-pub.mail.unifiedlayer.com (gproxy3-pub.mail.unifiedlayer.com [69.89.30.42]) by sourceware.org (Postfix) with ESMTPS id 784623858D1E for ; Wed, 2 Aug 2023 20:13:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 784623858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw12.mail.unifiedlayer.com (unknown [10.0.90.127]) by progateway5.mail.pro1.eigbox.com (Postfix) with ESMTP id BB3281004A261 for ; Wed, 2 Aug 2023 20:13:10 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id RIDWqf8R2mRvpRIDWqHmti; Wed, 02 Aug 2023 20:13:10 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=F/qSyotN c=1 sm=1 tr=0 ts=64cab8d6 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=OWjo9vPv0XrRhIrVQ50Ab3nP57M=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=UttIx32zK-AA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=CCpqsmhAAAAA:8 a=a-7nDY-1HZlzoo4yugwA:9 a=ul9cdbp4aOFLsgKbc677:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References :Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=Z2+54nUppt1BRsUrtefhBQSWlugqakV1PkQkoa3ZpSg=; b=wy0dQ5vAf1HV6pPlX7US3vgcW2 FPP8cPBS7uALXCy4cPEXLfoQZurBP7KAC0BLjc9aUkmWQTJtjzTVi0HrrKxAkRbJ1gMqdtD5JjWSM /Am910u0ANLH2/6kaiaapOj6i; Received: from 75-166-148-59.hlrn.qwest.net ([75.166.148.59]:58758 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1qRIDW-002ml8-0u; Wed, 02 Aug 2023 14:13:10 -0600 From: Tom Tromey To: Abdul Basit Ijaz via Gdb-patches Cc: Abdul Basit Ijaz , JiniSusan.George@amd.com, tom@tromey.com, eliz@gnu.org, blarsen@redhat.com, Nils-Christian Kempke Subject: Re: [PATCH v4 1/4] gdb, dwarf: add support for DW_AT_trampoline in DWARF reader References: <20230801224744.24433-1-abdul.b.ijaz@intel.com> <20230801224744.24433-2-abdul.b.ijaz@intel.com> X-Attribution: Tom Date: Wed, 02 Aug 2023 14:13:09 -0600 In-Reply-To: <20230801224744.24433-2-abdul.b.ijaz@intel.com> (Abdul Basit Ijaz via Gdb-patches's message of "Wed, 2 Aug 2023 00:47:41 +0200") Message-ID: <87ttthciei.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 75.166.148.59 X-Source-L: No X-Exim-ID: 1qRIDW-002ml8-0u X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 75-166-148-59.hlrn.qwest.net (murgatroyd) [75.166.148.59]:58758 X-Source-Auth: tom+tromey.com X-Email-Count: 7 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3018.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,JMQ_SPF_NEUTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: >>>>> "Abdul" == Abdul Basit Ijaz via Gdb-patches writes: Abdul> + else if (attr->form_is_ref ()) Abdul> + { Abdul> + die_info *target_die; Abdul> + dwarf2_cu *target_cu = cu; Abdul> + Abdul> + target_die = follow_die_ref (die, attr, &target_cu); Abdul> + const char *target_name; Abdul> + /* Prefer the mangled name; otherwise compute the demangled one. */ Abdul> + target_name = dw2_linkage_name (target_die, target_cu); Abdul> + if (target_name == NULL) Abdul> + target_name = dwarf2_physname (NULL, target_die, target_cu); Abdul> + if (target_name == nullptr) Abdul> + { Abdul> + complaint (_("DW_AT_trampoline target DIE has no name for" Abdul> + "referencing DIE %s [in module %s]"), Abdul> + sect_offset_str (die->sect_off), Abdul> + objfile_name (objfile)); Abdul> + } Abdul> + TYPE_TRAMPOLINE_TARGET (ftype)->set_target_name (target_name); I didn't realize this until starting to read patch 2, but it seems strange to use the name here. It seems to me it would be better to use the address attached to the referenced subroutine DIE. The "bad" scenario would be where there are multiple functions with the same name here, and gdb's symbol lookup returns the wrong one. You can normally trigger these bugs by carefully ordering shared libraries. Tom