From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id buZSFC7bEmBEdQAAWB0awg (envelope-from ) for ; Thu, 28 Jan 2021 10:41:34 -0500 Received: by simark.ca (Postfix, from userid 112) id 4AFDE1EF80; Thu, 28 Jan 2021 10:41:34 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,RDNS_NONE, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id EBF8C1E945 for ; Thu, 28 Jan 2021 10:41:33 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5E30A3851C22; Thu, 28 Jan 2021 15:41:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5E30A3851C22 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1611848493; bh=/V1Euiz7s6MG0O9q2dwonH555TVSyngEgsz4ir1avms=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=k63PN5TWYq0rmPvA38K7QWFcdargw2LESUmm8t42uMzwp3okGKQ4d0MtwWjpx98z/ f9k94Pp3JmcvE7eMMOF7AyUeO7mxQIpJGZaACF2cNofUGu2rIWOnl5hVQ7j+UHCVtm aXZSh0UfjJkFdCxK2yqoHb/VEFyXye/maCWcth7A= Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2071.outbound.protection.outlook.com [40.107.92.71]) by sourceware.org (Postfix) with ESMTPS id BFA593851C22 for ; Thu, 28 Jan 2021 15:41:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BFA593851C22 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mINoPPYpkfoUIPlv3rSc5TuZYI8+FJVTnDHAtKmBcqX9clMds0+TiloOYIAOiezTqqCwxEc8NwPTLJp/rWP9R6lPwoE2gB3XxQcJv6YFq+R+9q5L+ymruJnJvEzcz62246+HJcgejMq05w97gkiDdsw7Fb99SlozyXdR7KgVcH6kkdjk/vZ3VuOJzaSG45aoYY/LX98tPNnrSZfKla84JRh8NScnqxoVkVj3G7oATzS+MCvLPKYHlVFoU+3JgzUZJL9Mbx4ehtB/wY8aJ01ulPufSgNKhUkUanozHSo6Z7A5FLzqRB2oAHF/wQsmWuEcUZO6OVwkr56nyW4qCbdI6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/V1Euiz7s6MG0O9q2dwonH555TVSyngEgsz4ir1avms=; b=lR3J4qpmOy6kxgljl5GnujzklFDkvjroL5b8aSc4hLHGgIa6jsY2Jrm+JuhnwvZZa7Fccgax86PQfXMYlt4LA6GwM/VVd4q6WplprF6EitbR3mWZTuWG/Dt/Yjm7u6ovtsjYF3bVyrlqcoaQmxnoyk6740ITEfQ54OcCVtvIakgZw4yXrJehRL9oB96WnuH+waNm1dA1WObgXAPblVpNphx/4SbKn0vpw49zL7iuM6n877Q484PHZedwmGuiBmcnp3UYMAoN/69nnmBdfyyv+wmIipn5a8lPg3HmpRH4A6R0yYqpH5f1KEX1vZCNAs8iD0whCpOYBAjW59WKYT3VZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none Received: from DM6PR12MB2762.namprd12.prod.outlook.com (2603:10b6:5:45::15) by DM6PR12MB4076.namprd12.prod.outlook.com (2603:10b6:5:213::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.13; Thu, 28 Jan 2021 15:41:27 +0000 Received: from DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::31d8:f503:f7b2:f44]) by DM6PR12MB2762.namprd12.prod.outlook.com ([fe80::31d8:f503:f7b2:f44%3]) with mapi id 15.20.3763.019; Thu, 28 Jan 2021 15:41:27 +0000 Subject: Re: [PATCH 07/13] gdb/dwarf: read DW_AT_ranges value as unsigned in partial_die_info::read To: Simon Marchi , gdb-patches@sourceware.org References: <20210120053925.142862-1-simon.marchi@polymtl.ca> <20210120053925.142862-8-simon.marchi@polymtl.ca> Message-ID: <2d20d449-857b-0b1d-aebc-96ff07828342@amd.com> Date: Thu, 28 Jan 2021 15:41:21 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 In-Reply-To: <20210120053925.142862-8-simon.marchi@polymtl.ca> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [2a00:23c7:5a85:6801:cf:c92a:a445:6f68] X-ClientProxiedBy: AM3PR05CA0127.eurprd05.prod.outlook.com (2603:10a6:207:2::29) To DM6PR12MB2762.namprd12.prod.outlook.com (2603:10b6:5:45::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a00:23c7:5a85:6801:cf:c92a:a445:6f68] (2a00:23c7:5a85:6801:cf:c92a:a445:6f68) by AM3PR05CA0127.eurprd05.prod.outlook.com (2603:10a6:207:2::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.16 via Frontend Transport; Thu, 28 Jan 2021 15:41:26 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: bef6b6d4-b1b4-48d0-19ae-08d8c3a32cc2 X-MS-TrafficTypeDiagnostic: DM6PR12MB4076: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5797; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YTTlAie6ChcvPx6aoOMW89meLofRYdkIojQFESG/Ylqfe6IE9PXPic0Pf91jPQ6UM/m3vUdpcEFYjohx+yPN794IfRiEX5GuLOkoksxHiffpvMRKu/oMIUtLLGooRqqjBbmxBcdVv/7KRGD+3FNEu55x0B7DfZsuJTQ77ez8t7jakE6dWKOPAsVE1D+LAWkGFKvvxjJGNz91MDQIhwgCd0cl0E4MRffapjNd8XTrkaUwGji7um1xg5jUL6EhfmLVrnj7eT6sxZBktlu7yE2+i5yl5hyb/nSVRjWyIbroB1bQ+Q+ext3tTBludJfUR0T/ej7/+aULPRiEHrQGMJTNabwNxKVChOV0d8f/aa0AYisVMGwXbJz3piNGnHoT9E6ii6k1VPT7946+VpTIGXqOaDMpfiELvm5rjwAx+qRMBsJeVD7Z1Z7/rlIRQGKU1WCtT18aItsh8amqYf8IBE8PzL6Sg6jxr2+TDlZ2n3qFPeB4yj8WUwhcY7j6+adAsncla54ahrdGcaZnQQ+EHlwAaqWB3l6TYmejyQG3MWKC6s5ULe4Zf8cxMFyyDdY+lKwsLDyoEkRwdU9Y+D1yduQbNSdQwOJWxJLRu/jygX6XyaE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB2762.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(39860400002)(396003)(376002)(346002)(316002)(186003)(16526019)(6486002)(31696002)(86362001)(2616005)(8936002)(8676002)(2906002)(83380400001)(31686004)(66556008)(66476007)(6666004)(52116002)(66946007)(5660300002)(478600001)(36756003)(4326008)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?bVNBRCtBcklJYm1zOWd0Vks0V1VZaHFnbXNpNGg3RGZKclhKbEQ1M3BXTUww?= =?utf-8?B?bTVrc2ZlcGdFK01DOTRpakNiZ0JnRjRMMEVOSitwVWhhM3FMZ0VremRMTnVJ?= =?utf-8?B?WkluV1o2U3prc1dwUDhQUTF6VUswSmtmR3pDSXBsSmdoa0lscGVCdDE0Mm5n?= =?utf-8?B?VkpXUDdjVGZqVFJZZkdaTmJIQW9BaTZmVkpGNjdicjJmN25Hc1NJUFF5eXZW?= =?utf-8?B?V0t4RmZQazZuZkFtdzA0U2tBYm1PSWF3N3NaNUE2Y1JuSzgwNmxEV04xeFZL?= =?utf-8?B?MTF1bDFYOUN6azZoWXBKNVFWRDBFUnovSnRWU2ZDMVVnbStQeWNleDhrUTNx?= =?utf-8?B?NFJMcnVXQmpJWHN2cXRnby8xbnQybURTUTMzdzRISlFKQXRuV3JWL3EycGsx?= =?utf-8?B?RE9GTU1MUjJSamRoOUxUV1ZBUktVNjNYSUdIUDVGUURMOGFCd1NXWUt5NWg0?= =?utf-8?B?bG9Mc1plVzFpQktaZ1AvWGRDZFZUaXV6V01wZEZlN3M1NUtGeW9lTUJKajlh?= =?utf-8?B?aW5pZG44Mk11UzB3MG9NdWNOSGlwK2JiNVhEZW0yZWlwNkh6UGtXMy9odHJR?= =?utf-8?B?R2pmZ0liLzhuL0k4S2NFZUZ0UW5Qb1ltWjN0a2hjRWhoVmJicEQyZW1LUGlw?= =?utf-8?B?TlRTUzJ3eWdKbXhJYWtzb24xSTZDcDV1bjBWdHhGZ1MzcXJFbDJvK2NhQXRm?= =?utf-8?B?WVZ4WXBvSnFGdW9rb0RDeHhZeGNBSmhTZWhDWTR4QUFWWUZlUXhHMHYzclRJ?= =?utf-8?B?eXVTL1ZBbGlVQjRZVk1xeW5BVGU3ZmNoMis4VUZrTVpmT0szY3hMWVpMWjc1?= =?utf-8?B?ZCtBQmk3MXZrNzlkY0RpeTBjQkNsRU16ZkZsMzVTd0lnQVhNUVN3Y0grdDRv?= =?utf-8?B?SHJQNlhOZFA1OHg4b2JYQ1p4TFJqQm1NRXFoVzdaNERiN1BEMWxwNTZhTTJN?= =?utf-8?B?amhHc09jdFFncjJpWTFrVXZwZVdUd05ETjVmSzV5SjBpaGhObkhNYWxVSlk3?= =?utf-8?B?dTRkS1U2azVKVGR6V3JjdGY3NDBSOE1MODBJZFdpam9BeHRNSDU4STRGSzc1?= =?utf-8?B?STlUUWZpZ3c3QWxscFRBc1JlUDZnRFZnd24vdlhTY1RaTWlTUnk0blZMS0xT?= =?utf-8?B?a0ZCRE5lMnE3NVBCZU9WeWVSdlphWDBrZFhUNXZITTFHSkd3SE8wQzlqa0dq?= =?utf-8?B?MEtqV0ljdElxQnFCekNxNlZuSERzVThRZmNhWWlvV2tPL1Z4WmZTajQ5c0tp?= =?utf-8?B?ZVNUcnhIRERtSzlPcHFaTnZOOGZwYWJFMVhYWEVjVjY0K3RyR0E1OElvWDR6?= =?utf-8?B?Q1dFZW1JNmoxVG52aDViNDZDM1lRVHdrOG5pN0FUU3V3Ty9zSzM4TVpSR3VG?= =?utf-8?B?MjBMdzBQNGc5dXV3YW5XTG5nU0RiTkpYRjA2S3U2MU9vMDZpK2V4MDVHa1ps?= =?utf-8?B?azJwTUFycFRQOTQxOWgxSWlKSGhENEkva0IzTGFJalRaVDRzdDNqVDNtL2Rw?= =?utf-8?Q?w9lZDQP7L1Toh/wrm1ayGyVQD9y?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: bef6b6d4-b1b4-48d0-19ae-08d8c3a32cc2 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2021 15:41:27.2457 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: txobCDO1pyMzkbyiphQwUnC2BkJzV+JNx0eI9sJIJfU2gY20iBbb2EkFi/CEyiv4okCPeWkkkoUg1GoB3IbDfA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4076 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Zoran Zaric via Gdb-patches Reply-To: Zoran Zaric Cc: Simon Marchi Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" > From: Simon Marchi > > While writing a test for this series, I made a function > (DW_AT_subprogram) with a DW_AT_ranges attribute using the > DW_FORM_rnglistx form: > > 0x00000012: DW_TAG_subprogram > DW_AT_name [DW_FORM_string] ("foo") > DW_AT_ranges [DW_FORM_rnglistx] (indexed (0x0) rangelist = 0x00000036 > [0x0000000000004000, 0x0000000000005000)) > > And strangely I couldn't print it: > > (gdb) p foo > No symbol "foo" in current context. > > This is because of the `attr.constant_value (0)` in the DW_AT_ranges > handling of partial_die_info::read. Since DW_FORM_rnglistx is not > recognized as a constant value by attribute::constant_value, the default > value (0) is returned. Down the line, this causes > dwarf2_rnglists_process to try read a range list at offset 0 in the > .debug_rnglists section, which is obviously wrong. In the end, no > symbol is created for foo because we didn't find an address range. > > Use attr->as_unsigned instead. This is what is done for the equivalent > code in dwarf2_get_pc_bounds. With this, GDB processes the subprogram > DIE and we are able to print the function symbol: > > (gdb) p foo > $1 = {void (void)} 0x4000 > > Note that I didn't see an actual compiler use DW_FORM_rnglistx for a > subprogram's range. However, in the binary attached to PR 26813, there > are some lexical blocks with it: > > 0x0000d34a: DW_TAG_lexical_block > DW_AT_ranges [DW_FORM_rnglistx] (indexed (0x2) rangelist = 0x000000d4 > [0x0000000000005db1, 0x0000000000005e36) > [0x0000000000005e48, 0x0000000000005f3c) > [0x0000000000006045, 0x0000000000006053)) > > Their ranges are read incorrectly just like the ranges of the > subprograms. With this patch applied, they are read correctly. > Good find. Zoran