From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id maf2Dyy22WnPhhEAWB0awg (envelope-from ) for ; Fri, 10 Apr 2026 22:47:08 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=bQrxeEZU; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 361571E0BC; Fri, 10 Apr 2026 22:47:08 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 556AC1E08C for ; Fri, 10 Apr 2026 22:47:07 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id C700E4BA2E2A for ; Sat, 11 Apr 2026 02:47:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C700E4BA2E2A Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=efficios.com header.i=@efficios.com header.a=rsa-sha256 header.s=selector1 header.b=bQrxeEZU Received: from YT5PR01CU002.outbound.protection.outlook.com (mail-canadacentralazlp170110005.outbound.protection.outlook.com [IPv6:2a01:111:f403:c103::5]) by sourceware.org (Postfix) with ESMTPS id 420504BA2E15 for ; Sat, 11 Apr 2026 02:46:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 420504BA2E15 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 420504BA2E15 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c103::5 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1775875599; cv=pass; b=ex+SXwR04pUkOq9vmY0ptNTUrTyf7nIKyDmBkXphh9bTdL7961Ppk0OuZ5jH94xMlq9OMET1M1C8+90a2LCd3v0Aqmat9sbds11qYEBv6/Uq1xxJxGQ0CeBk50Q0KIRVmn/gy3tXxirKhRTTHqY9BeVulvr/Fj6ijLnGOuzUDO8= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1775875599; c=relaxed/simple; bh=A3MckRYW59KE9AygGO6TOvSE8MTn2HoxLxyIGrubQKI=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=rVyk7QvOvdOzDYDeZeifEW7oK6RW9KuUXMAnPqWsHohMAJUflo+/aVYUmJEIn/nAtmvdRVZtH7hpeFqDy3U/JjXxil2pSQGc0ahl1773aNKxE9+chQCSn2+K2po+B1bbaw3v19uDbHdcO4SuOfWRynBE2jMyqBs4oQS7Brrdm3s= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 420504BA2E15 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sKkwbKcTmalmzU2aLaK1yjXJTqs8bP62Pur8F4rIDVuf1b4ClK1SGAsVntsvCDNCmRlxRaexUpZseIUPMSlZKsTzDRXFLEzvWvxrJUWs+r+DzWWIA34Qde4UF0RHFpGkKQyOtiDrRhpeAsbysATbUI/riSJTStoDM1ie4bqInxQmBJIpTMDPNFkVNV2tM+odDDlSwFXLvoLFN/ODpYwZV2MaxqQLkhXy6CfvpPssKdllqTSzepao/UNpeWEGjTqZcBs/W+fhNHUJCQgNz+3AlzHfePO6P8e/5deQ/z3kai1P9AN/r+3bGu/gDDdpLBAzvxkpwQgyz+2Mp52XlYqfwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=kGETPxH2QbvcAGia2tBXyHIJpC2IXWp/NmDGUvx6M6E=; b=q28Shol9SLsorBcW0GtGY/smnoq5n38YQK+jorrE61tZoKuqHzbZWG2ddiAskblpnKOqksBKQ3POLmibw3/TnoCw6roSXCX6iZIl9a0zgqJfATrWkSLl6imezKNj0Z5ans6LzvYXFJF79wUVfuH6W/AnOA+8OHetzx3S2GwUTu7jIew+RrWHe7CMaH2GcoXSDmasbwx1yyaIvSaVeJgmfT/Z27lSX2JHMbbhyECluGsbtYm3wNo39fT1gXsDF4s+w9v0bZs0XOnd9Yv1AlaJ/7Ob5wtbgR+OcZwc3gNjdxckIXA9P+rCBVLoGY8nlsLienha5UjRT+eK4K52oKzOLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kGETPxH2QbvcAGia2tBXyHIJpC2IXWp/NmDGUvx6M6E=; b=bQrxeEZUGnHNKDRcj+S0K41SX1n8OhHRE7RM7axTEKDXZsJlClHUqbqlPKLbATPyKpJuG5xtHzE7dvPLYzjqwR3WRV9m1gZivw0sqJACdaBfOWUChM7HfP6XQaBx8mVAppvS1T7KvJ0O02erEK1jTTOmnyzzs2xJfpDyDsttLTjRoamemljegIh5PLhxcUnhUqVqeDzoyWAs5D6S8XgPXGdhHpW/+jmrT5bLXQvNvVy8Sw8+CH1gbOl2zknNqs7TxvlD87nquACmX6rVe6jsdwpFY0S6NzZYqzYJV+UXOyY9lpgTFgJlykkhMJqpLh04kxG3ANzepIZrGCyVidXxIQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) by YT3PR01MB10590.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:f8::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.44; Sat, 11 Apr 2026 02:46:35 +0000 Received: from YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d]) by YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM ([fe80::bbfa:179f:fdc8:b15d%5]) with mapi id 15.20.9769.043; Sat, 11 Apr 2026 02:46:34 +0000 Message-ID: <36c9dd58-0776-4f39-8121-f7260112aa4d@efficios.com> Date: Fri, 10 Apr 2026 22:46:32 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 1/2] gdb/testsuite: add .debug_frame support in DWARF assembler To: Tom Tromey , simon.marchi@polymtl.ca Cc: gdb-patches@sourceware.org References: <20260316172239.349677-2-simon.marchi@efficios.com> <20260318202801.2030268-1-simon.marchi@polymtl.ca> <87tstox9sl.fsf@tromey.com> Content-Language: en-US From: Simon Marchi In-Reply-To: <87tstox9sl.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBPR0101CA0062.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00:1::39) To YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:2c::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YQXPR01MB5418:EE_|YT3PR01MB10590:EE_ X-MS-Office365-Filtering-Correlation-Id: fd5a8372-bd61-4f9b-cd7f-08de97748aef X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|366016|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: iUE3sns5v0hacCDm9ZJhm4VyWKMIrlWUh9TUBVqeiupvBvmg14zlye3S4qjOq7ldJvT/TdZQTsQSRQIhOUhN3mZr7/zX6av9QYsXUtKZt+kGvxAWnb6sAuumGW+LQYkb00oNqErHGQMj2spoLUUc4wqHRUWzaxjSdZ72/M3AQiKFKkyeIG6OSb09Ek1afov6xFBD7rLdHkdGdpI632d7O5LXh2CkPrG49S2AnTLk50bQ5TErBVcGvvPzsbDCw/p8FrnUDuqNDR0/Pak7/IO7jL2hPnOS4FJT+h8+YEnjbR71LBclpz53Y/nw8BNzF1dYomPq7BPMe9JIcfTtbQnAPXq2U7cT5Ki00oR8FWHZDhipe6PEQSiovp/RxSd1OdamWCaOqBY6bH7xn/FdwJHz1ZFer7jfWwb26c5r/2qQ0jZvNFJgEg+4Yx7mbU9PW1yZxoGwYFHgWDpmJe0xo3DM5YJZZMukEqq6kLEWYKJxw4kzdlHCj3tN66d5c++yrhCx+x0Dv2O6vlW4/q+OyKiQb0bMC4IMbHqYzjqCiqhzqyIp+b3TB2jZXVTpRg6XcShDzgCbB4+IoaE145jlw6dRPwo/IS4Wei4x8cG83h2pqMRZ54+XreUrOPw/P6SObAKdd4PmAewreFNHkt2QSJEXTMDc1MbqJ68AKK41kgw2tscDHYSN2MbQmp8wrI49L8SJP5K1IGVvdWsFuG9l0CMGULVGBoKS941IO0kJK/wXAN8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(22082099003)(18002099003)(56012099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MlZhNjJyeURvUUNjdjNkeVozVVNIQWIzTk1yaFd0alpDV2F0Q2ZXS0g0MWwz?= =?utf-8?B?Y016Y3B0LzlTWUlISTFURHlVLzEzVVowRmo5VkF3UFdTS0E5SzhQTDRUYVA2?= =?utf-8?B?ekNnNjBhYk1PTU5TVnp5bEYxaEQ5bld6cndjS3IxZHZZZG1pVHQ4cXBIc1VE?= =?utf-8?B?U2VhMVM5VGtIUjlWSXRxZFNsekVZWEtHOHB0RUh1ZC84Wk4veDEvQmc0RWJE?= =?utf-8?B?NGpFTWVkUzdBZDQ3T09HUWVEMzdFWnI3VEwvNFVLTUk5dFNmd3UwbzRWdisx?= =?utf-8?B?Z1kvTC9WbGhzMkgwZGNyTk9vcHByMmpHdGlHSDlQVVdXWi9oUUE0TWI3RDIy?= =?utf-8?B?aGw3UWloaEhQTFR2MTNkektZZGwxYlhKT3N5U3NXTXdMN3hLakROR1FFbkVH?= =?utf-8?B?NG1ySnZaV0w1b2pkazc0NnlkYWR2bUlDNmRRVUk1UDBOaHhTQnJNc2QrNkNX?= =?utf-8?B?RWhjZHZFdjN5SHVLMEJ4M0pIay8wajhjazhlZWU2bHNsY1lDZ0VtVzNneXpS?= =?utf-8?B?QTdER0dneDlGN3MyNytJQXo4MzI1TXp5dFFDY2Rya2JQZVNzWFdveDNaYVpy?= =?utf-8?B?R0E2KzRjYTVUOFhzNDUzVFZPVGtSZEhPRS9uZ2w3RHRzR2RXbzNidXVYWk1P?= =?utf-8?B?N1RGUWZkWXhTTUlpWDFSeXl6TWRKSXZZUy9UZGZWaE9CcDlMVlpydElKeUw4?= =?utf-8?B?SjNpQ29lUjVCVVNtZlhVSE1XekxranVhNlV3UTRHQkNPYXJ5WHlRSjRaZ1Yr?= =?utf-8?B?TkFDeEdWOWt5WXYzb0hGbTMwL0U3QndFdnpnTXhhSWtTTi9kd3c0cWZ6MGE0?= =?utf-8?B?WDQzRHZ6SWV5MnlpR0RqTmVRYWQxcHcrQ3lEZVg5QzY2UTV0WEM5Nzl4NXVS?= =?utf-8?B?enIvbWpEd3dNaHdKeGRPakk5Y01BeUJTVlpBbS8wbTFXL2VzWE5QVDBsL2lV?= =?utf-8?B?QkFlNm12bUdXUTlTUlFIWkJxZjdQWFJ6NWFuQlJRSmlUTGNFamNORFc5MmE4?= =?utf-8?B?cTFoN0grN2k1aDhHa1VDNGcweEpuVElCdXNnbnFtSVRZY1AzcEl3R3p2SFk4?= =?utf-8?B?OG8ycFF4NitEUlVHYVlZeWxRVUNEaFpkcWk1WFczdHI5cWdqdG9CNjhXWStO?= =?utf-8?B?UEdqQURhNHI5SFBhSUVTWWY2cGkzV21pN0xGeXBRSXhEOURqbFc2aDdMWEhN?= =?utf-8?B?K3gxZlFZSTFRemJGYS9HaHNpUXgzMXp3Y0Fldmc4VFdRYXE5aDNUNWVXbk5a?= =?utf-8?B?c1hJaTdSd1laTnVJZ005RUpKTk1ndkVzVFR6bUY1bm1jdGpnaEt4YXBNbVBU?= =?utf-8?B?TXlnempBOTlWM1h6b2hYTFlhUjRqcVoraHdQK1J6TmZnUG55U0dvNHVaOHl4?= =?utf-8?B?dHhjenpLRXcwMDA3RWpjUVdsM3VWTWVMR3htWW1zRy9BT1N6RjA0Z1U1cXEv?= =?utf-8?B?Zk9ScjA0dElDYjhxcXV0Z3NRYVVsNjVUYkV5Rm9VM1FhRVNpTTc3Yk1aMXhw?= =?utf-8?B?eG9FeTc2SmkveFJpaTNkYk45YTlZK2NraEFQUnY0ekM4L2lKVDRyK2d3NTFw?= =?utf-8?B?TU9GRGdsRzhwRVFhWnVobHpua0NWT1ZoRThwQitmaFJSbXF4Mm01Q2xqSDI2?= =?utf-8?B?K3M5MGYydVBNeUZQZ2E4dDI1Ris4ZzFNNVFNakVjMVp1czh3b2IzVlRJMmk2?= =?utf-8?B?MG9HTi9JSjRRR2RGc1FkRHlmMzVvWEQ2VUVGcG1JQmFZRWtYbUovdHYxbmdj?= =?utf-8?B?N3NoNCtsdnY0eEdZSmhJc1FBbHViY3NnUGtNdmFTSTdXTXFiR2NkTEJEN3d4?= =?utf-8?B?WEYvWHBGU1RRVlptM3gyTlYvOHMrMUlaZ3NZbVNwVHo5ZytWU3BhRHQvdksr?= =?utf-8?B?Q2FBVzhhYWFRc28waEZKZjl3YXhqdWFRNllraXhyUlZqbDByVU5WejFrN3d1?= =?utf-8?B?YU0zU2ZGT2tsVzg5bWcvVCtIT09QWnhSUnpYYnpUcS9INU9NdFBVMkszRE0y?= =?utf-8?B?eUhoaWcvby9ubUw2dlRwVHp0aUVKUERINDZWUkRtNkQ2SHNMVFpDU2ZiZHZ5?= =?utf-8?B?ZG9wcnNnZGhwWW5ad0ZTeGtPUllHQUxkVzRFZU9WQkQwYThtNGx1a0ZpVWsx?= =?utf-8?B?U3pHZmY3SnVWRkRveitqcUxDbzZyNnBnQWN6dmx0TTgrenpod0FHY3huU1FO?= =?utf-8?B?YWFEbWYzcHpIU0p1cC9Vcm1nUldtTEhzRUhIRkE0cjUwaklyYllHaXhSazZZ?= =?utf-8?B?c0hMU0JHNldyaGRycVFQdEVsdm13bVdMcEpVdkhIUmkyT09DSjhTc0pTeThN?= =?utf-8?B?VStpVi9xeUVTTzV3YkhlVWNZZkpiVjFnRVAwL01uZGYwYXJnKzZhQT09?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd5a8372-bd61-4f9b-cd7f-08de97748aef X-MS-Exchange-CrossTenant-AuthSource: YQXPR01MB5418.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Apr 2026 02:46:34.1428 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qlgvIisbh/mbkkdDV9nYdLnMucwPo9RzkL+hOD5LowkX/jxT7ASjDK2cdmQ92sVptk7H8tf7gHgnwJDu6Iaf7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT3PR01MB10590 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org On 2026-04-06 13:45, Tom Tromey wrote: >>>>>> "Simon" == simon marchi writes: > > Simon> Add support to the DWARF assembler for generating .debug_frame sections. > Simon> My initial use case is to reproduce a crash happening when encountering > Simon> an empty FDE, but I suppose that other use cases will pop up in the > Simon> future. > > Thanks for doing this. I have one little note. > > Simon> + # Create procs for DW_CFA_* instructions, used in > Simon> + # .debug_frame CIE/FDE bodies. > Simon> + > Simon> + # DW_CFA_advance_loc, DW_CFA_offset and > Simon> + # DW_CFA_restore encode the operand in the low 6 > Simon> + # bits of the opcode byte. They need special > Simon> + # handling. > Simon> + switch -exact -- $name { > Simon> + DW_CFA_advance_loc { > Simon> + proc DW_CFA_advance_loc {delta} { > Simon> + _op .byte \ > Simon> + "$Dwarf::_constants(DW_CFA_advance_loc) + $delta" \ > Simon> + DW_CFA_advance_loc > Simon> + } > Simon> + } > Simon> + > Simon> + DW_CFA_offset { > Simon> + proc DW_CFA_offset {register offset} { > Simon> + _op .byte \ > Simon> + "$Dwarf::_constants(DW_CFA_offset) + $register" \ > Simon> + DW_CFA_offset > Simon> + _op .uleb128 $offset "offset" > Simon> + } > Simon> + } > Simon> + > Simon> + DW_CFA_restore { > Simon> + proc DW_CFA_restore {register} { > Simon> + _op .byte \ > Simon> + "$Dwarf::_constants(DW_CFA_restore) + $register" \ > Simon> + DW_CFA_restore > Simon> + } > Simon> + } > > These procs could just be defined at the namespace level and then these > constants just skipped here, like > > DW_CFA_advance_loc - > DW_CFA_offset - > DW_CFA_restore { > # These need special handling and are predefined below. > } > > I think this would be a bit clearer. > > Approved-By: Tom Tromey Ok, I see what you mean, I did that change. Thanks, Simon