From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id lYDDDenrEmDzdwAAWB0awg (envelope-from ) for ; Thu, 28 Jan 2021 11:52:57 -0500 Received: by simark.ca (Postfix, from userid 112) id 30B451EF80; Thu, 28 Jan 2021 11:52:57 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [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 187531E945 for ; Thu, 28 Jan 2021 11:52:56 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AD3A63857C56; Thu, 28 Jan 2021 16:52:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AD3A63857C56 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1611852775; bh=JvOZiWahgUdRfvL2A1nR7wFn2x1/5nW+LUuBMRUcn/4=; 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=gQasBYlolyENkn+hULIYYISOMEfVYwQ6epwzqPb8rORcsz5wYg7mKRzcvYQKF1FMi eXcqIw0WF2rKlssAZ/njKo3gwENePQyrIi+NX1hggYfwk/x+z5//i4AGWPU6q3V4Vw sXsNz6XfgNw+bhfsFgvm507Pivlal6Sm/xp6gG+8= Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-eopbgr760057.outbound.protection.outlook.com [40.107.76.57]) by sourceware.org (Postfix) with ESMTPS id 1B5C93857C56 for ; Thu, 28 Jan 2021 16:52:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1B5C93857C56 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b4IUjywVqd/9d51liIsggfDh5cvoSzJlzdrF6fAPFRCapz6xRUu07ibY6ZfnpVZjzATiaC+PAwbzqXNA7NFXCKdT0kLBdfLFQcGJt/S1Iqnp85x+qA0JTnK0j4rZtb2bGy1p1S9YZpGjFjbjVZcR7GAXRw4I+i9cuVk7BpioqVlRUAitAgj6XYLGNiGE+LMd+ruv2By3VIuEE4FMDzX+vvC0W0MeULAsN7HSNVLnAjM1GRaki4HfYJpjlYsA29bcbLdqlmLIzx3IvoBsz5gpdJS4AKIJ+YcDoA3vYnluRQIQKNbMTzM7ULzyP7HFyczUTFl+iD7ZO4SpADK0ghz1PQ== 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=JvOZiWahgUdRfvL2A1nR7wFn2x1/5nW+LUuBMRUcn/4=; b=R3TH8h/6Y91YH0xlBdcLbq/df01gU2OcEi/y/fUmxMJLTuHLimz/mp6mspbX3nWSp9N+dyG1anf4V+dPVWpKW3SrndyXPfxcTzgTqRIi3BCToiGEIKfBkahY+90bTmZ14s4cJbK2HtgmOebc9Y8cmJzRvboZWLlXPIQ8P6oEcmeQTxhbfYXK91GS09qNjTWazyZQ6YYTxOwsSAkIux1gViUeqMO+1udBHdWx+v54YmBvmzayoeiYB+zyvxrQzDF9xLSyJq3TpCbI3wgJBslj2mgnHA+f/xUlQcS/OgabeGMGq39lN3+wfhMnaEhg7u4ZUyjz0A1Tsd0Jqr8SLvjphw== 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 DM5PR1201MB0138.namprd12.prod.outlook.com (2603:10b6:4:56::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Thu, 28 Jan 2021 16:52:50 +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 16:52:50 +0000 Subject: Re: [PATCH 10/13] gdb/testsuite: add .debug_loclists tests To: Simon Marchi , gdb-patches@sourceware.org References: <20210120053925.142862-1-simon.marchi@polymtl.ca> <20210120053925.142862-11-simon.marchi@polymtl.ca> Message-ID: <6fe96ff5-3f11-585c-0331-62d1fe234bd2@amd.com> Date: Thu, 28 Jan 2021 16:52:44 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 In-Reply-To: <20210120053925.142862-11-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: AM0PR04CA0010.eurprd04.prod.outlook.com (2603:10a6:208:122::23) 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 AM0PR04CA0010.eurprd04.prod.outlook.com (2603:10a6:208:122::23) 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 16:52:49 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 991e7616-64b6-4788-ce1d-08d8c3ad2576 X-MS-TrafficTypeDiagnostic: DM5PR1201MB0138: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ANGyWQEyRCkvwlW+pjuxZy6tbE1RgRUWFvFKX4XWy0fmOKVP27cUqyKcGfJAkPAzHptVYsBifmCqTed+1TxXNstIJu4qVjmUyNlmv/hEr+1JmIQKvFtfHN+ny5CvOJu3OpJZlnDwu0Typvu80kfxPifJutzSGJC5XEgkc+PATGexuE972DQP4kbYSTifJStaFuL9CdYcLmldWod5PVsGXSl/awNCpq8FG3l5XFA0L/jQBYrAKXg7nryBGunBaFaZnQ7qFrfcyuKJFzY8PH86V6ULB/RKIv0BYIvXr+8OegXDdpX7QnNZS0+0ku+gG1qN1wCAAdv2dURMSMCs7vFxWmpnswkRSU3W8MY2N8BXMrEaijHJFzDE1ieJYAjobORzXw6VQwzC8KtNp/kCNIeYFdSspW+rQyTfJutCLj1nVkvk39kbJGF3nu6L4zXXTpk3r87C3LjK5KcX6KITaCZtk6BPuiWR3ysOhL0ZmefQVEM49VK7vKEojGhcVtWzcBK97BhYnplz5O6stocHk6hu4m9JwCUgHYCQ4Gh8fJwmZaY5NGBJnaKuC4SQqynblumsbdbX3810jL4DgrMVE2u0SHJF7FpwHNecO5pvcbPy4bxK8wz4ihvgm2nGyUiwi7aUeFvyouNIxMgegU8EnIn8mw== 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)(346002)(136003)(39860400002)(366004)(376002)(396003)(36756003)(2906002)(52116002)(4326008)(8676002)(31686004)(66556008)(66946007)(6486002)(66476007)(478600001)(8936002)(5660300002)(31696002)(2616005)(16526019)(186003)(6666004)(86362001)(316002)(142923001)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?dVlLdzFuVGRBWVZxWFc0alZwdU03K0g3aEp0aEdDbkd1RHhyb1JiYUZNNGNH?= =?utf-8?B?c1VoNnQrcHBrZllneHlDa2Vqby9xcERBQkhObExHR2YzTWxET1A2Y2FjY3JN?= =?utf-8?B?QzBObVJiUVpSYk1vNzZmVG1HSjNzeFVWdk1MTGRGS2xmQmlKSWRjN0NITExn?= =?utf-8?B?QVpBRXR6R2tIeitlcE42aUtQYW1WMXpYaTFmSytxUmdqV1hNOWc4SHB5YTM2?= =?utf-8?B?Y0tPdUVBQ1hxZ3dNRnhKTnp6Zjk0bVY4WEN1NkZuZmRMb1I2VmY0N3ZNaGNP?= =?utf-8?B?SlR3OSt5b2JiNTlldjRMTkxUZVJxOGY5MVg0RWxKbnhGVnRDTU4xbGpaNTN3?= =?utf-8?B?U1NwNEdTNVd2ejFIL2N1ZWd5L0RuNWJwOUFZd05jaS9TR0dWU3BuZGZ3L0ZT?= =?utf-8?B?dkZNWGlEZGw3SlQ2cFJ6bE0waEtzblhibDhPZWpWVnVzNW9tTjBsWDE3VGxi?= =?utf-8?B?TFBydTBZSVZsSlB2aUM5OG1BVXMvR2o2SGRROXBTYVZTRnBOUmpvYUxLRUZx?= =?utf-8?B?Vkp1QUswRjROK0FSa0pNdFV1aC9uRHhTNWZZVFpEYlNnRG1kbkpkMkE2cklw?= =?utf-8?B?OVM1WEtqN1BUNm41WUNGYk1hcW1sRlpHbitydVcrdkRwYnI4dmJMTUhUMHZN?= =?utf-8?B?amVaQ3MyRis0ZkhSYVVMQWhzZmxkNWFmVGlZNCtNLzIvRkVZclIrcDNkOWlG?= =?utf-8?B?bDRpRUk2UG5RMlZUekx3cjdMQkdXMUx3dXBaYUhKWkdEem5XTTI5Ri9KNlM1?= =?utf-8?B?REVrUEhXM1VScmhvcEZDNlRyRFBtRXZMeGtWMzR0ZTl4dC9WZlJleERrK3Uz?= =?utf-8?B?aDJFc0xrbXhtNStNaytiLytqeFlQQ1l5MWQ2aGN4Q3A4OWt6elFNQVhxcjRE?= =?utf-8?B?aFZHUWtlSEZMc3Z5WW84cHFiRHk5bzI4SUk5blFnUVpGTzJSMDlWUklZd0dm?= =?utf-8?B?dEVKcC8vNklKNTBEYk9NZnd3aURGUUxLV2pHUEkzTlhQandpbXVoZ0JtZXhM?= =?utf-8?B?aTdhZU4yWWQ1c0lnYTgxLy9iemJOT01ZbzhqOHpNZjQ0ejB6VFJTTkJZWEdO?= =?utf-8?B?S3loV0trc2gwbHEzbk1uYTFPRFFBck9raXMvanltOGNsZTc5NjRQWWpnbHJZ?= =?utf-8?B?WDBSV1kzZ2ZQajJnUk1BdVFMT0R4QWdHcmptakR2Qk1LOTRwQ0MxWlZJd1Nh?= =?utf-8?B?L3UzcENCNmQrUSs5eG5sOSs2aVZNa2haTmsyZEFuTlgwQ1A3TmxYdVpCaG1o?= =?utf-8?B?MXFzYk5nY21RZUlHYkE3ZnAxTXdYemxIcDFyeFNSWHNLZ09KN2w5UTRUcTZF?= =?utf-8?B?cWpGbk91YUlPR0M2YjQ5L1F3SDUwbjJRbVNoZzVhdFBId1BnbXlXQW9VL1pN?= =?utf-8?B?K2tmMFhZTGtQTkdqUW4zVGdGb2o0NzNuYXViUGdzV0NIZDdwc2dCdTJCOWtp?= =?utf-8?B?OUZCL211NXBYWVNvclV5SUdPM2tvZU03UGtkTkJmSjhUWmpsU2hYTlBFSytx?= =?utf-8?Q?Aua6BsLdTjG8+R66jZ0GetOlXVv?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 991e7616-64b6-4788-ce1d-08d8c3ad2576 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2762.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jan 2021 16:52:50.0995 (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: 6v0UCXeUvLO5FYaJ8oLHHvEQL83GlsQbDKhZEsEw7qqbwUz1HNds52yqZ1kOxhuDDIxXQxLaUPFPwa9ppAqAJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1201MB0138 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 > > Add tests for the various issues fixed in the previous patches. > > Add a new "loclists" procedure to the DWARF assembler, to allow > generating .debug_loclists sections. > Thank you for this contribution. Having a loclists support in DWARF assembler gives us so considerable testing flexibility and decouples the gdb testing even more from what compiler is expected to generate. The only thing missing now (at least in my mind) is the CFI support but that is a big project for the future. > + > + proc loclists { args } { > + variable _debug_loclists_addr_size > + variable _debug_loclists_offset_size > + variable _debug_loclists_is_64_dwarf > + > + parse_args {{"is-64" "false"}} > + > + if { [llength $args] != 1 } { > + error "loclists proc expects one positional argument (body)" > + } > + > + lassign $args body > + > + if [is_64_target] { > + set _debug_loclists_addr_size 8 > + } else { > + set _debug_loclists_addr_size 4 > + } > + > + if { ${is-64} } { > + set _debug_loclists_offset_size 8 > + set _debug_loclists_is_64_dwarf true > + } else { > + set _debug_loclists_offset_size 4 > + set _debug_loclists_is_64_dwarf false > + } > + > + _section ".debug_loclists" > + > + # Count of tables in the section. > + variable _debug_loclists_table_count 0 > + > + # Compute the label name for list at index LIST_IDX, for the current > + # table. > + > + proc _compute_list_label { list_idx } { > + variable _debug_loclists_table_count > + > + return ".Lloclists_table_${_debug_loclists_table_count}_list_${list_idx}" > + } > + > + # Generate one table (header + offset array + location lists). > + # > + # Accepts one position argument, BODY. BODY may call the LIST_ > + # procedure to generate loclists. > + # > + # The -post-header-label option can be used to define a label just after the > + # header of the table. This is the label that a DW_AT_loclists_base > + # attribute will usually refer to. > + > + proc table { args } { > + variable _debug_loclists_table_count > + variable _debug_loclists_addr_size > + variable _debug_loclists_offset_size > + variable _debug_loclists_is_64_dwarf > + > + parse_args {{post-header-label ""}} > + > + if { [llength $args] != 1 } { > + error "table proc expects one positional argument (body)" > + } > + > + lassign $args body > + > + # Generate one location list. > + # > + # BODY may call the various procs defined below to generate list > + # entries. They correspond to the location list entry kinds > + # described in section 2.6.2 of the DWARF 5 spec. > + # > + # To define a label pointing to the beginning of the list, use > + # the conventional way of declaring and defining labels: > + # > + # declare_labels the_list > + # > + # the_list: list_ { > + # ... > + # } > + > + proc list_ { body } { > + variable _debug_loclists_list_count > + I guess that the table and list procedures from loclist and ranglist support couldn't be commonized in some way? They do seem considerably different. Zoran