From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 50288 invoked by alias); 22 Nov 2017 20:58:20 -0000 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 Received: (qmail 50089 invoked by uid 89); 22 Nov 2017 20:58:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=BAYES_00,KAM_SHORT,KB_WAM_FROM_NAME_SINGLEWORD,SPF_PASS autolearn=no version=3.3.2 spammy=chat, IRC, H*f:CAH X-HELO: sessmg22.ericsson.net Received: from sessmg22.ericsson.net (HELO sessmg22.ericsson.net) (193.180.251.58) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 22 Nov 2017 20:58:18 +0000 Received: from ESESSHC022.ericsson.se (Unknown_Domain [153.88.183.84]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 75.31.19528.7E4E51A5; Wed, 22 Nov 2017 21:58:15 +0100 (CET) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.84) with Microsoft SMTP Server (TLS) id 14.3.352.0; Wed, 22 Nov 2017 21:58:15 +0100 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [10.0.0.110] (192.222.251.162) by DB4PR07MB316.eurprd07.prod.outlook.com (2a01:111:e400:982f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.239.4; Wed, 22 Nov 2017 20:58:08 +0000 Subject: Re: [PATCH] Show optimized out local variables in "info locals" To: Simon Marchi , Yao Qi CC: References: <1510679293-8244-1-git-send-email-simon.marchi@ericsson.com> <434ca326-5bf7-562c-7445-66b265caf300@simark.ca> From: Simon Marchi Message-ID: <542fe4ae-3988-ac31-d901-e4eeb112779a@ericsson.com> Date: Wed, 22 Nov 2017 20:58:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <434ca326-5bf7-562c-7445-66b265caf300@simark.ca> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: BN6PR06CA0003.namprd06.prod.outlook.com (2603:10b6:404:10b::13) To DB4PR07MB316.eurprd07.prod.outlook.com (2a01:111:e400:982f::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 47164d86-2883-4555-90d9-08d531ebbf14 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600022)(4604075)(2017052603258);SRVR:DB4PR07MB316; X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB316;3:U17sP9Vzhi17gBF8xiTdAeMXWuJbcYTPPlhVQeaTSgVUzcvmXIV8YuTbkY39ikAHGrxguAGGfSnLxAfz2LnQI9YcJtqROs8PhbJPYBnJrClID9Xr1xjZxWau3hjhguHAe8wKrT7Cr8EXslQz7MdpeoB0OEC/IhuzYjONqn1FTtrwz7tg+8etX/RV8RUui+H9Cx/opJI6J6rHvFCKtugNbhXLFgonXsGqf2k9XiLslB1KJcD6lV1Dypvfx3d0b+UM;25:XRsCPhZoLJw/g5NlTYKat81/PzLbIEQ8L/PQ8X5+XGrP0c9r5AsFJ13HReVX/QKg6m/oxTBcNhZaz3t0kZPU3V+ju6miQyYGUnyg1rcFSdEnEymq5aRsCOimB4edvGNqzCZqH+lkMphOG+3mmacwEWQE/vG/yWUZfc4pyqI1u1qwXHfaLljuLBguApctSvT87gbKGLilVS0c+jo3+ihNSHTGlLCFb+nXp7Um2hJgv6szKEaG+Vx69UEkDD3q7904IclhAa4QzXokv7PqnJ8jvhfZSNRkAt7VAPsH8PfMJNBqfGU1ZVLIo31dExPyfaWZEYJsa2n8wzpAqLaVA0XLQ64cNuKN7OD8Kqf6lsyaLn4=;31:Ab2E4OwUlHuCRkXrqpCRebax1KBFKfDu3uzdDeoN46TBh75rAOjdjp3vW1JcosL8SaFN+aQtTHZNPu6kIkfME6AlYIz3S60TJkSx2UmPxXm8wrw0P+VWOboPHf6me+1SDwjJdAhXEdSbBx6s0wdeQOTcC16nQ50Yk3/mp/XXeGd11pOvFYXaY+jS5p5ASHghcEJlxql1T6vTrso+waQ+W0tAj9YTT5ZRITL9teFnXYg= X-MS-TrafficTypeDiagnostic: DB4PR07MB316: X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB316;20:Ek4YYQOQiJtV0Hdrtt8D9xjaydYBkVx+E9CsZ5KUaZd8E01yToBruc7MW3U4CSyAscvF2IbseV8hONktCsRZ8t379QJqQYjSzmKbrpipnLtEbwIYetcB27uKf1NRmhFVAMGHOE4Fh5KY0og7mINqico8w6icizUKjfQcEwzmNO4ns2no/ZsPcqgJub8L3qGvQO/i04lZJTQZ8EWGYpLo0YOkoJ5EosAgAp1Wwvt+JmOYQO+Y5qbofcAUwuJOhdXwt6fQhgH5YDZilxo9V+m/5IW+n50WuqCjuiNFXx5QUFzE4ILxRRqD9Yiymdawpnps+BoLUOxDTpdwxlvaJUM8jcIYmO7N14R/FFfIu4VC9a4Yf0lfhmYG7TVIvfbAiTOLqcLyhwAlF7Qi1IHdsZKRZ/s5PRd3+cLuPsMu1gCcLRQpE8BuO1WmUmwimm5mfQJo+i5klVP4+QBGonAiX6RGE1DsQwFn7mgNVaVDYNLjzPgP/+VJc6vf4Lw/lsql7qnl;4:tUv510hgKlQGd42rdWVVG7NXYsJsmbFM7TOimPI9VxGtgpw1aTQxHJaJ3wYIx5sO5x6jW95t3OcpW5SfPZa57FGRf0gMemmv2kJcjVuU+kPgbdzxSsDsy3wnnwk/lPtdXxwZI30R2UeBsLX7dCQoD538kO5uM2GJMKqzNCf/dX9Zwi02/pVU/rea9LeaLZU0VuLeosRQhMnbWgGGk8kQ+y+lQxctDlq7fjS/tbfVGmfUehDuaT3Pi77JQ7gsYfO6s0R3FjiGIz3zEevoTqXt5JEjgcxgZaZRt0sH8LjG/gg23NZOFm8Ych0pYox0Kj0SNfjax0tkfODq/cSmXfdgyLeQ8m6EmsD2XjCZJcEsT1MztxNVaZlc27OrnbDtQjdS X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(37575265505322)(22074186197030)(183786458502308); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231022)(100000703101)(100105400095)(6041248)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DB4PR07MB316;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DB4PR07MB316; X-Forefront-PRVS: 0499DAF22A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(6009001)(366004)(346002)(376002)(199003)(189002)(24454002)(377424004)(8936002)(65956001)(8676002)(65806001)(81166006)(81156014)(2906002)(16576012)(316002)(47776003)(58126008)(110136005)(65826007)(7736002)(5660300001)(305945005)(53936002)(53546010)(189998001)(4001150100001)(52116002)(6306002)(97736004)(6666003)(52146003)(2486003)(23676004)(6246003)(2950100002)(66066001)(966005)(25786009)(16526018)(101416001)(105586002)(3846002)(106356001)(478600001)(6116002)(229853002)(230700001)(33646002)(4326008)(36756003)(64126003)(31686004)(83506002)(68736007)(50986999)(76176999)(6486002)(39060400002)(54356999)(50466002)(77096006)(31696002)(86362001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR07MB316;H:[10.0.0.110];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjRQUjA3TUIzMTY7MjM6aUtkKzAvZEwyMkZCQWpUR0MrQ2VWeEt2eFZm?= =?utf-8?B?WUZocHFsWFd1MVpTRlR1QTlvL2xMWHhtUmFEUWxuejlNQ2NkTzZsZGE5ejdk?= =?utf-8?B?Wmk0RFhjQi9wTzFUNXhPN1hlU3U4Vk5vQnZUdjdtRng2VXE4RjFXT2tOS0ht?= =?utf-8?B?OFpaY056TkJUMTFTYzlrbjRpUDlEaXozQVVKdFZOYUMzbklIUmkvRkc3dDFC?= =?utf-8?B?eW5wNGs0Q2tQU25EVGpKdCttUE04Ly9DL1NnM2E2dURTSnAvclFXMDlEY1NO?= =?utf-8?B?cGx1NUtNQm15UHV5SEx0dDJKYjVxTkY3MjJJNnVCbGZTNURtYVU4UHMwWEN1?= =?utf-8?B?V2tWdTg0a0poTWRPVWZyaUlnckxyYStLQXZ4NTlHSFNRbTZMWGJIbWJIV0pP?= =?utf-8?B?RE4xUXVKaHcwZHBqcGhQSEFtQWV1MGlIMmFkZ25sOGdRdHBoUHB5ZHh1dkh6?= =?utf-8?B?anhxVDNCMFdiL2JTVTlRQUxua1grbGV5czJMTk1vTGQ1eExWcU9LMmxzYUJU?= =?utf-8?B?U3Eya0w1N0pTcis0eUpjOUVTVElXVER2OG5jaFlzQjhoNEhOemhVQWszamp5?= =?utf-8?B?T1hjK0FYMHJwU3FnZWtkOHBReVZhc2xQa002UUpETnNXdXhSbTNSVWRja3dt?= =?utf-8?B?ajBLbU95N0VlNnpNQVE1ckd6TjdQNTlvcXVLS0RHSWhkU1d1dTM5aGNLRCtw?= =?utf-8?B?Nkw4SXRBK1FuQU5Lbm1Xdzg4TWtRT3NuS3lzMnhPY1UzME94OTVKNS9lSHQ0?= =?utf-8?B?K09ydjc0Mjd1Y2pkMkJzRjl1VkYrcTMvKzhmbE8ra2JYTnluaUIxdTg1dHky?= =?utf-8?B?c0EvT0FHV0pXSU8vUytNM2czd3daRmM3QlJOQTVBamlSN1hRUm4vQ2FjSDIw?= =?utf-8?B?VkhzekE5ckR4cDJsU28zb0Q2SVpnWG9wMzFsbk1vb3F2RThhaWd4MUtFQ0dL?= =?utf-8?B?bGJ1c25yN0VMR0JTSHpSYmN3OVkvMkhmK1Q3VEpIbU4zQmFmblZ2d01lT2pt?= =?utf-8?B?Rnh3Qm9VTWpLQnZncGw1R0RHT2N0bllidVNWVXllQjJrekpFamJ6ZDlqTzVy?= =?utf-8?B?T1BSR0VRSkxaYWorVHVKbGZPSjZXR284NUllNVIwUUpJS1pzbytoUjlQTi9t?= =?utf-8?B?c3VDRHp5T0R2bkx4VXFqRnN0YThIdHNsNVF4cUpRT1RWUnFLS1B5TjByZnVv?= =?utf-8?B?ekJvVFZpYWhDMVFBK3JTd2RGUkhvTVZSUTVablV6bHdVSGFSWkhVUUNGUVlt?= =?utf-8?B?dG1KUXRNeUVuUTFnSHlwYjNDYURZR1VhaDE4aVQ2eVpXcmNLNGQrNE9Ia0JN?= =?utf-8?B?UHdoOVFtS210VXg5NlROTWdnV1BIL2g3NFZVZEZPSm0rYk9oUGZITjQyQXdy?= =?utf-8?B?Q05oMFI5dlgya29TL1ZZRU9hT0F0SnZCeTNFVFU0UjN3MmZ3L2YwVkRZNGc1?= =?utf-8?B?MVBpb0Q5MHVNWDgzK21MNmFYa0dmenp0MzRFcUI0RG1iSjFENmE1Wk50SC82?= =?utf-8?B?STN0U2xGYzAveUtKOHBQTmtTUmU4dEV0S3B0VUkzLzNUcUxKdG9oaXhLN2s1?= =?utf-8?B?elFvenZTL3pNMFNyckdsYlR4QWlMUXptNlNFSWtnc1ExbXQ0dmllWGJadVBD?= =?utf-8?B?YzdSU1BBRm1xeS8ySjI4ZUw5eDF5LzNpaGVxWFdOZUJnaTMwRHhhdG84bldy?= =?utf-8?B?aDhSRTF4aUZycCthVS82M3JEaW5acDBsWHJwVExZZGttRmZ2VStGQWkvZ2RT?= =?utf-8?B?TXYrc3A5TytwWFUxMU1oTUxUeUE1bjdnSUJ2WUgvS2RFd2daQ2RBdUJjOVJw?= =?utf-8?B?am5tOGhiS2tNdWtkVVZ4ellLV3hQbjl0ZnNWazFEWG5oaDBpZS9EakRGU0li?= =?utf-8?B?OHpFNS95MkZ5RnpKUC8wanhEVkw3Q0U0UU5iR3llclNGMVZvUVNQMG5TTEM4?= =?utf-8?B?dzlsV2w2Vk55VlFxakg3aDBha3V5dm45Z1lwc2JEcnNtLytmSWl1Q203cnp5?= =?utf-8?B?cEFxdmJkcmJjM2c4am9aejgvNktVbFE4YjZoRjM3VW51UGpRZ0hGTnd0dWZP?= =?utf-8?Q?UIA=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR07MB316;6:3JWAffU55zDKSOddTr5X3kpLkuvN1DvEFJN7Q+UnoyiMRYO4cmc2Jk6lic8Ud3UJuKLVR4i33sl5AV1q/43go7HgLx8Juzodxw1EnkFfYUNFN8/615rlsrxuEdcCr5ovTOGcS0X9e4eRDoaDyAwHPCyBZ77anvMIhMr62jvbmIE9iHLrldqmos4bXq760NNdPrK6GuOvHdL5ttiei+Ztqw6JldKumPH3w2c5D9tVSXKHQ7VgZz7cq+sjrZw3Aqq1IJmGLBJiFItKulw1U7wk2nu12NDsTEwgJgFf3q5fKn4v2HEDv4JrtQmcO61hg0vQ79UFDeH0NTb9imuDG8wIzVQ3rTAe8bNaOq5POX7cdqs=;5:SIJT70GmN7Gt4AGPD9qgZ22GtX9WuaTYjNv46xaWhYfygM17JLL8PCGf54DNcHDzX9Qi4wPj9O5UHya53CJBB0Q7ataKbmkJtJcFdlMGltbeN6GwFnSPepw5gbViZ8iEf1odeukTpLqGJAwgZ02xAgE6WkJAmtPimr2JeDO13ng=;24:XXG/+MH9ZX22fOBmB2IwQRc4BRVmHiUmCkqJ+C81ElBeIf7xYQUNNJKcFYWCrJpGuya1I8Pxdqk2Lkwg1JwDle94dCP7h4jTPBSyL6rz1Q0=;7:KgNBTVStvQ456P7NxObgAs6CrcW0VgVVXR1/K0yOZ77J/cavrRfUPE1sbNxqWZDnWDt3Qx2qqFnQ/ZiJQrZD+IeF2mY6h2e2xfgQsQRNqJWAxfrLpd7PgJNTsssw9ImeSn8Pt9yUkzWgXF1TQMcWWP/o9RPY1m+zgq+jyw8QlNQiXl7vB65z1i2CAWTow6hUiDIcIxEGCIRE9BT4zINYzbFRYrjSMH7zB0Alp9lXqfgOZsdazScrrgzsQRIA16tD SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2017 20:58:08.1758 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 47164d86-2883-4555-90d9-08d531ebbf14 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB316 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes X-SW-Source: 2017-11/txt/msg00516.txt.bz2 On 2017-11-14 11:54 PM, Simon Marchi wrote: > On 2017-11-14 05:44 PM, Yao Qi wrote: >> On Tue, Nov 14, 2017 at 5:08 PM, Simon Marchi wrote: >>> >>> However, this change reveals what I think is a bug in GDB, see: >>> >>> http://lists.dwarfstd.org/pipermail/dwarf-discuss-dwarfstd.org/2017-September/004394.html >>> >> >> IMO, it is not necessary to emit DW_TAG_lexical_block in concrete instances. >> See comment #4 in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37801 >> At least, looks gcc generates unnecessary debug information, and we need >> to fix GCC somehow. >> >> Whether it is a bug in GDB or not, I don't know. The answer depends on it is >> *unnecessary* or *wrong* to have DW_TAG_lexical_block in concrete instances. > > I had an email discussion with some gcc developers (Nathan Sidwell, Richard Biener, > Jason Merill) after a chat on IRC. Unfortunately, they answered privately so it's > not on dwarf-discuss. I'll try to update the thread on dwarf-discuss with their > answers tomorrow, for future reference. But the gist of it was: > > Richard said: > >> I think the lexical block is just the function scope itself and the inliner >> inserts this BLOCK which then corresponds to the DW_TAG_inlined_subroutine. >> I suppose we should avoid emitting that BLOCK itself as a DW_TAG_lexical_block >> but use the emitted DW_TAG_inlined_subroutine for that. >> >> Not sure if I remember the details correctly. >> >> I don't think the DWARF is invalid btw, with early LTO debug we have plenty of >> abstract origins where source and destination context don't match 1:1. We're >> just using it as a "get some more info from this DIE" link which I think is >> all that is documented as semantics (though the 'inline' term pops up too >> often there and the relation to DW_AT_specification is unclear to me though >> the latter is restricted to DW_TAG_subroutine AFAIR). > > Jason said (replying to Richard): > >>> I think the lexical block is just the function scope itself and the inliner >>> inserts this BLOCK which then corresponds to the DW_TAG_inlined_subroutine. >>> I suppose we should avoid emitting that BLOCK itself as a DW_TAG_lexical_block >>> but use the emitted DW_TAG_inlined_subroutine for that. >> >> Agreed. It's curious that we would generate the lexical block in the >> inlined instance and not the abstract. >> >>> I don't think the DWARF is invalid btw, with early LTO debug we have plenty of >>> abstract origins where source and destination context don't match 1:1. We're >>> just using it as a "get some more info from this DIE" link which I think is >>> all that is documented as semantics (though the 'inline' term pops up too >>> often there and the relation to DW_AT_specification is unclear to me though >>> the latter is restricted to DW_TAG_subroutine AFAIR). >> >> Also agreed, GDB ought to be able to handle this situation. >> >> So, bugs on both sides... > > So even though there might be something to fix in GCC, I think we'll have to handle > the current case in GDB as well. > > Simon > I've updated the thread on dwarf-discuss, and pushed the patch. Thanks, Simon