From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by sourceware.org (Postfix) with ESMTPS id 930783857034 for ; Fri, 3 Jun 2022 10:46:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 930783857034 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04lp2057.outbound.protection.outlook.com [104.47.13.57]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-39-sDUGWzNQOBmuhbv34cUdTQ-1; Fri, 03 Jun 2022 12:46:16 +0200 X-MC-Unique: sDUGWzNQOBmuhbv34cUdTQ-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WCtZvyn0hXz4laYZxXnL6xp4OnjtFUElgE5NtHJKMHMcYHVOzh45XrgZ/X5lQPuLbziiVcA5eRa+EYn9r8RkcXVgiiSGs6u2DF4wXtiBLoUCGXWOv6GmzdDIrvNvSoVFLrhvrzMTyu+7eo7yW9p3TDt2UJ5etm+Gwhtj/j2Kl9ZsuuZMla79olX4nCQ5Yw9A2ZcWOyoMXy++0CyPUKhno1Icubn8bw+CmDZeXA05WfkwxxUg9dzGMtEduqzDB6HubVKe7l+60RoAGtjSrAb8wZZufj120q2VHaUJ797EvXs1DnNUjLwpe1lAdCg5cjseRshNAvYj/AuEuZbSxh8aKQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+cZiepvSE02873/5OeljNSOhZLSwoOuRUBso2p2Z8P8=; b=HnKbYyaY1S3clLEyli74sBs8RlEIwtMIeLHP9r03bKb5kCq5TI0avWbaLkeICdxCE5/MZXfBjFRkvhKhnh+VZXmID9M8++8ChQqyPlKkWetlVCSvhB/kU0LIwBSaGQiZkoQDDlLfjmDDW0XlO4a46rFF5g0Xh/7npjCYneYLdRTqzF7euoRlhQM1hFMyGWj2+LhntoA4UrLwIOS3d2pkc8D4sGx2ew52PuU6XHPXuFqychkUkI5TocXoSL41Tx1PP4jY9zROMhXmuUn5sLVv3swyrOw291lUopM44m1sKJVdKzC1vgDKwgfTKM13vEYgIhA/24NM/JImX7qqEBff1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20) by AS8PR04MB8707.eurprd04.prod.outlook.com (2603:10a6:20b:42a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.15; Fri, 3 Jun 2022 10:46:14 +0000 Received: from AM6PR04MB6551.eurprd04.prod.outlook.com ([fe80::7577:8567:33c7:685b]) by AM6PR04MB6551.eurprd04.prod.outlook.com ([fe80::7577:8567:33c7:685b%5]) with mapi id 15.20.5314.013; Fri, 3 Jun 2022 10:46:14 +0000 Message-ID: Date: Fri, 3 Jun 2022 12:46:13 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH] Binutils support for dwarf-5 (location and range lists related) Content-Language: en-US To: "Kumar N, Bhuvanendra" Cc: "George, Jini Susan" , "Natarajan, Kavitha" , "binutils@sourceware.org" References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FRYP281CA0004.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::14) To AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 481e5c8f-9e7a-48b2-abbf-08da454e481c X-MS-TrafficTypeDiagnostic: AS8PR04MB8707:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: I7P/6cJ4ywYtKRuL43cuwPjNj6Gwu5SG4vz5BLEYppkQdkavIEiLc4br6zQdDRBsr/StjXa/Rmlbk++9T6DjYm86ZEV6SBa3sfEMykdtw4KSiaq4AKA4C3nh9mxsrNUfl1dyUZ3gTsrLbGgchGSXOPZ1VHOFUapKtPAQeI1U0J5W2lwUGOAuGH+EAuFFFQTpCzSFiRDlWAUCKXz29UCe0Eu909V1oxhvwlsyPyVkD2jdAwNb0GkNLNRJ8emZWjh9UYepgcJEYunzc/iECu9lLz7s/QholruXoRjEhOaEqqYDcDXWZOKSD9Ncv8wdo78YTMTnr0utFO2an57f9Bst9djdC+RGiy3cT4/9pIQKHzRjF/Bc9+1HzO9cYUbHDcBUYPBlXCceXeQvsVRcq+LFXT4zb/e0v9efzVLbVfmy2puG8BMP39BFxbJoCKlEPxY9DnW/iKA7T9Tg7t8D//jeKuUvtFOIyYZ3Zvq/8GFDw505aVOEbYXf5wuQ51btER/5SWz7L7mo0rEf89/rXpmAmlvU+LUaRSlT5gt+odgL9NkTmHYjtluYx3+ysnj1ffKOAzH30MxRJn6x8nx48b/AVJ0TuJTwFykfsulz1I+As3/xwXao3ZqzSeD20UV/rgf1oWtf+RKIWhHwKw7+2cNifRTAw0JTmzM2ZSpIMIkJ7LB4o494vUqQAHgOQge15wOCFXurU2TOyhNgxcTnPxmrKK9U5pUR2ZWeDVoeIqaVaOo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR04MB6551.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(8936002)(5660300002)(2906002)(6506007)(316002)(6916009)(54906003)(86362001)(53546011)(83380400001)(15843345004)(8676002)(4326008)(6486002)(66946007)(66476007)(66556008)(508600001)(6512007)(31696002)(36756003)(38100700002)(2616005)(31686004)(186003)(26005)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZlBEYVRLZllIMmVGQk5JcllHRXJrblhlNnV6Rml6dFNvb2VYcXZDT25aOXdR?= =?utf-8?B?Nit3bFFKaHpsNWlSbXlXNHFnRHBhN0VqaEVkb0hTVi9IbW9qTmdqeWIvSGJK?= =?utf-8?B?OUxPSlExV0VFZExZSjNOREhhdmJXSnJBZVBpWmhUMmQwa3dSTnBXMlNza2tR?= =?utf-8?B?STdORGdENmp1bWVleGF0WDlqWHJmMU1yV3Q5TDNydjVLZjArdlhSSnlRMVJV?= =?utf-8?B?RUJmcUhkZW4yWHY0Z3NHMXY2OXBaMXlNSWw5YmU0V2g4cG9XOG9kZ1JCVlFl?= =?utf-8?B?MmpZQlN5T2wwYUZlT09HanFjVk9QTE4wL256U2IwNHVUa2tqc1NUT25QY0dK?= =?utf-8?B?V3VrZTVzR3V4Y2hTaitXcXdpS0NveXpUaVoyV2N0Y0p4UHRQUGFvMWlnSFVM?= =?utf-8?B?R2p1Vy8zZExLd1d3dnFNbDJ5QkR6VDljbmtzUWxpQ1NhaVRxN21JSURGcnRm?= =?utf-8?B?VUJEcjhJSlp2cjQzeEh1OENHV1JRWHpPTDFRTVphWVJxbFVmaFpETUFKc1RQ?= =?utf-8?B?RVZtZUo1TlAvWmdCRm8wemhsd01mRDRyNTluR095U2N2aG42aUNERnJ3S1d4?= =?utf-8?B?Qll1Z21nQ3FNakI5ck1oOXVmWkQyY3piUEpyYjE3b1ZZT0RkUU95MUlwVnA1?= =?utf-8?B?cHBxT2FQSTJBWWcwaE1pTXdEbDVkQlI4SmJMbEYwRHQvMi9JUGVaOEhUUjYw?= =?utf-8?B?L0dXbVVwSDBlMG9JVGN4bHZEZ1c1aUV1OWpSaU45T0dUWGo0TXZiazBwMHA4?= =?utf-8?B?MVN6a2doVUtMTVVCYzNBNjk1TUptTko1QnZIcnRnQXJsNzFCVVpsNWxST29K?= =?utf-8?B?cHJvcCtIVW5Wa0ZQdnlFc1lKZ2ZlU2p3NkZWTy8rSktLNlpEZUMxN1luUlBy?= =?utf-8?B?VWxvYXpqYkd0WU52QVNoRFdkbmVIbXp3c05FOFhOTS9mU3lNQzZWOEJCWlFu?= =?utf-8?B?QlN2Ry9RSEdnNGk5SWhXTkhNTXlXa3FqQkIzZ3Zud1Fzc1RFSE1SZUplSWdB?= =?utf-8?B?L1lGSzMwZUQycEpUcnpDWFRsRnZ0YThCSEJmbVlLZTAxTGJnUGtvZFFwMGhR?= =?utf-8?B?cTd2bFI3dUJ2ZVhiT040WGpDQXlONHBwSG45WnphWU8wd3VEREZsd0RTd3Z2?= =?utf-8?B?OHJsOG5nVzlXRjRNbUtPZkY1R0ppTExRMXdDSnJkRDVNdVFiMXZIeENMQThs?= =?utf-8?B?TS84OFVodDF0bkpXUUpPUDVBUkk4ZVl3OHhuNllZU3E1TmRjWXgzcnVqM1Jz?= =?utf-8?B?T0pYRktmWmZRL056eVpJUUlvOEhFUlY0cnBzWnhKL01LcWFVZ0VUQnJyU25a?= =?utf-8?B?TmNJTzRjcCtyUHI0Tk9lZ0VsUnVwTEFBNEhlU2tGd0JpQjRrclBZcVNjUzlJ?= =?utf-8?B?b3dwYXl6dHRwRG8vMUhFMkVsMGhudnJNQ3dXZ285RmU2YXQ4N2ZEUHJqUWlp?= =?utf-8?B?R0dMRWF4QWU1Zm93NERaRFF1NjFFeTRuSU1HTDZMeGFwRDdtYjlrd1ZDWjc4?= =?utf-8?B?Z2ZPK3RPTm90VW1KYlRZVG5PQ1l3MC82NU8xVnpCWHBoRDR5NGdwTTgyc0c2?= =?utf-8?B?bmVyU282bzEzUzI0R0RrRCtTRTd2djAyeEN5dng2dThiVkJDTmZ4cFlBekdz?= =?utf-8?B?NFEwUkRUOEZrN0RHT0FTTVVvRFJWZnlOb2I4cng0UTExTFRhSUNqR1J4amw5?= =?utf-8?B?a2NjOHVyT2ZSclI5cU05N3VsWTFzRHYyMWovb0loQ0Rpa3owS3U4dHl6aWlk?= =?utf-8?B?d2tuNVdLMTBPSDNOeEtxaW15c2JzUmlLdWd6RFo4cStCQnhGY0s1dHJLcjBO?= =?utf-8?B?SmpsYmszZUtHYk81ai9sdFlVNGhlK1NLVWVoRjAycjRqdnVHMXpWREN4K0hJ?= =?utf-8?B?SDdGeXluQWlHMmFCamlSTXpMcTJEZlV6VWN1czZXQVY1MUxBRTJTclJSRjI0?= =?utf-8?B?OEVXVWM3Rnhpd0VhL1FGellHdlhFYXJyZk9SVkkrN3hWWmhFZUpmejFUWHZ1?= =?utf-8?B?R0RkWUJ6SXpZVmZYakYyVkZHM2lFNnYxeWNoSzJjQW5XVWR2TFZLamNPRnBO?= =?utf-8?B?M0lqbjN6SkJGRE9uWHkvRWNmZkpCUHpIKzVheXBiaGVvQkRZYmcwNzVmSDVN?= =?utf-8?B?MFBBZVBqOGNhY3J1bDVuc1FsR3ptREdqYkxod1VKanUwb2dWcTZLQW9jY09z?= =?utf-8?B?Y1JNandyNVpGVGlmQkJKV1AraTl6bFlEYXFJMFpSTlNLeDZPbDJVaWpmZDdk?= =?utf-8?B?OCtvOWVDci8wNXdzTjZSMUcwMUFUazVZbGNHQW5xcG5mb2tDbHVTSlhoVHpC?= =?utf-8?B?MmIrV2UrN1hNTHU4ZHlIT3BUZXYxU040RURLb3NCdTZEdyswd0FyZz09?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 481e5c8f-9e7a-48b2-abbf-08da454e481c X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2022 10:46:14.7200 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fuW46v3Z9C8nEY33RYWclzuT5ZWb995+l8F/y4HYb/wPVy3pvW45HKz7ehWuGAmdncflyAPXJwNbN0KuTlrMjw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8707 X-Spam-Status: No, score=-3031.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jun 2022 10:46:22 -0000 On 31.05.2022 13:06, Kumar N, Bhuvanendra via Binutils wrote: > PATCH 1/2 inlined : > > From 96ce32f762803a7d74ca30c3930f1679afc0100c Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?=E2=80=9Cbhkumarn=E2=80=9D?= Bhuvanendra.KumarN@amd.com > Date: Tue, 31 May 2022 14:07:17 +0530 > Subject: [PATCH] [PATCH 1/2] Binutils support for dwarf-5. > > For clang compiled with dwarf-5, multiple issues are fixed which are > related to .debug_rnglists and .debug_loclists sections and their offset > address dump comprising single and multiple CU. There are 2 patches > and this is patch 1/2. > > Issues fixed in patch 1/2 are: > Issue 1: .debug_rnglists section dump for single CU. > Issue 2: location list offset address dump under DW_AT_location is corrected. > Issue 3: range list offset address dump under DW_AT_ranges is corrected. To be honest I don't think it's helpful to put these all in a single patch. They're not directly related, and if I'm getting it right the code changes are also independent of one another. This would also allow to approve one part while another still needs clarification or refinement. And then it would also help if you could send multiple patches properly as a series, rather than all in a single email. > @@ -2788,7 +2794,15 @@ read_and_display_attr_value (unsigned long attribute, > offset = base + uvalue * pointer_size; > - if (do_wide) > + if (form == DW_FORM_loclistx) > + printf (_("%c(index: 0x%s): %s"), delimiter, > + dwarf_vmatoa ("x", uvalue), > + dwarf_vmatoa ("x", debug_info_p->loc_offsets [uvalue])); Aren't you risking an oob array access here? And isn't the ordering of elements in loc_offset[] an implementation detail, i.e. using a value fetched from debug info is effectively meaningless when used as an index into the array? > + else if (form == DW_FORM_rnglistx) > + printf (_("%c(index: 0x%s): %s"), delimiter, > + dwarf_vmatoa ("x", uvalue), > + dwarf_vmatoa ("x", fetch_indexed_value (uvalue, rnglists, 0))); > + else if (do_wide) > /* We have already displayed the form name. */ > printf (_("%c(index: 0x%s): %s"), delimiter, > dwarf_vmatoa ("x", uvalue), For both special cases, how come they don't respect do_wide? > @@ -7976,9 +7990,6 @@ display_debug_rnglists_list (unsigned char * start, > case DW_RLE_base_addressx: > READ_ULEB (base_address, start, finish); > print_dwarf_vma (base_address, pointer_size); > - printf (_("(base address index) ")); > - base_address = fetch_indexed_addr (base_address, pointer_size); > - print_dwarf_vma (base_address, pointer_size); > printf (_("(base address)\n")); > break; > case DW_RLE_startx_endx: > @@ -7990,7 +8001,6 @@ display_debug_rnglists_list (unsigned char * start, > case DW_RLE_startx_length: > READ_ULEB (begin, start, finish); > READ_ULEB (length, start, finish); > - begin = fetch_indexed_addr (begin, pointer_size); > end = begin + length; > break; > case DW_RLE_offset_pair: I don't see how these two hunks can be correct: You're removing the indirection through .debug_addr. And at the same time you're keeping similar indirection for DW_RLE_startx_endx. Aiui all x-suffixed items are to be dealt with identically. > @@ -8243,7 +8253,7 @@ display_debug_ranges (struct dwarf_section *section, > (unsigned long) offset, i); > continue; > } > - next = section_begin + offset; > + next = section_begin + offset + DEBUG_LOCLISTS_RNGLISTS_SECTION_HEADER_LEN; I'm afraid I can't figure what 12 bytes you're meaning to skip here. I also think that _if_ an adjustment was needed here, the preceding if() likely would also need adjustment, perhaps by way of actually adjusting offset. Jan