From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2068.outbound.protection.outlook.com [40.107.22.68]) by sourceware.org (Postfix) with ESMTPS id 9C1D13858C5E for ; Thu, 23 Feb 2023 13:44:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9C1D13858C5E Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=as1NwsE4kznDfmXbafO0QxGK92yDk0ZOMt9l65SvQJImABpRb1BbOWk7KcCNuZXikyyEYTPKT0KW2ZTMwVnXQBybjXqu7bXnisaRqcLVJKrGubSSDqqrbdji/n9436o2gCftAQBkoLUP4GrD2mHZ9RLHnLswYY/YGHS7P19SxA464uvHSKf/f2GM7ITmZw1yJw3KS+Qewm2iPSxiKJVbJ+fdHBUj6ooASBQA1Ol8PCDLaU9YJQ1QprM6M6VmX21tnpgG4KkRB58VONecAzH6CXBD/HLS8+FzAYPlklUixBr3Qne60xVhLpuWDtbeWGmCJzlmeLvxdV/HAxaXEcAhpw== 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=gCmhZKUUzPKzlToWXUNHdGBZwQWHhWvaZbTZUG65HPw=; b=MVJI4dGULr32XcBu0yFTkdjVHYny1f5OeGzdWT+yj4/QOJ8Ex20ou/aWQKz9NdmuC3Yc+IbnStagY4X8XCR4/lsl7VfQd0oCTNQmVRcYQmT6zvCbdFpz1T7+gGHRx2b5obG1qL1Mf9MsVccnDbSbNJS0RN76uULg8rI0NBYwrUCCd+5DYm8lZi1gLjPsJYT24fOT6O5Aw5oLkUCtVs2VuLbpHrZtIqIlwPOtzVNvSH82WJHgEYzR1lbbqv6ko1bu1fPzPaK8sBodt4sV9LseRg7M5BXKJLegYtJuCY27gxypFe8kRT5HFa6eU1AtaNwPl/4eg9d1KOYNQzFWbkgwKQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gCmhZKUUzPKzlToWXUNHdGBZwQWHhWvaZbTZUG65HPw=; b=b2BFYYo6T+KpEbV3wsbI4GFboYSoaFDDOamkn+fxWNyar8C0Wf9a+vEBfdLFtb2ltXp061hbJyUJ56G6PTYWhHanWPpqCkJOtJfkmW7+AwRdpLTJXnqrQrulN4/212s56WHHmcfdofPJmf5CZZSJSse6kAZ2w3nw7Qen/xgAXtUC6iPh95epHmmVl+DcgfzCV/mxMz02t7V9v95xJThz/k7LWkNxUexcdYIFbe2ME311uwm5WXL0G+XVzopQyVy4SitQw15BNyHwPQeg/kAasnV5o3ukWuPERtfYm1VGfFL0WbbFdOllaIU+OVmOdA1R7cdoU6C6I7sfx/GSuAUQog== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AS8PR04MB7749.eurprd04.prod.outlook.com (2603:10a6:20b:2a9::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.19; Thu, 23 Feb 2023 13:44:31 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6134.019; Thu, 23 Feb 2023 13:44:31 +0000 Message-ID: <819f729a-da9c-3b8a-3769-7995c009704b@suse.com> Date: Thu, 23 Feb 2023 14:44:27 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH] gas: Add --force-compress-debug-sections Content-Language: en-US To: Tom de Vries Cc: binutils@sourceware.org References: <20230223124519.4228-1-tdevries@suse.de> <7dcb7bfb-f65d-aed8-78d4-944211ef5127@suse.de> From: Jan Beulich In-Reply-To: <7dcb7bfb-f65d-aed8-78d4-944211ef5127@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::23) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7749:EE_ X-MS-Office365-Filtering-Correlation-Id: b569a5d9-d343-4fd3-0611-08db15a416fa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RRmhz4QrDL/i/6OewmpVkkJYZabari6ZvHnmRalMeeRL/3cDjDqvX2eg26phLozKwHVKhOg/nopJlFYRVrsQF/zT9MTYKI4ZtnvIb5nU4JgBBdfuQFfIRnOlDnmTvuIednHzovlvp/F6kAkP/8VCtdcxGNs66YWfWxBxNqL1r//zzV25BWn+WlqxxVqs8vJ7W8N819n2iuUfyGc/v7qn0aB9QvW6wMHXNXUjwo8pu551MNfJpz1LpegxbvZN/Bn81tMzM9BnRgbgDPi1/QHKz0Q2AjoZxuSDQDvQUAj2OMrwKiMYjyTLCeu5NSHtNmWRF4VD4K3SUt133HQMb23Ye7XyaXwZklDG8l/yW/4Q57W5UBcjwf9xHvXiM6Qcisce9LZXcZ9jKJG7cxsUi58G9Pr5sGltEgpsLT6ET+aoNXwWLVgz2pxK6aGA9TWvdjcvMlYmoArjdOeiYEYgQQ/sTpWmUyjOf0FieSYkIkljd17HYDzXl4So2LaVGMzuS1ixlYAtgdzapmJHk7k0F8gnqVF9yoEFARiQYtqedlPCY/xFjalWuh9THsub10iQrziO9IDKDiUwwA6HvAiPI7A24M2A0VvTJJ3Gsip2CRjpcQ5Bn292ASFvwmcu2KxjbxMhKXR2fzf2Us8TaAnR5Nqa1+1LQ72wiLwJFO2uK9OEbj5mLhAR6O7HhfpBjHo4rpuTmvicCTKIwghF1XskvaTJza38rIIUjBA6Nc+/KSI60t8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(39860400002)(346002)(376002)(136003)(451199018)(478600001)(31696002)(38100700002)(86362001)(2906002)(316002)(41300700001)(36756003)(8936002)(66946007)(6916009)(66476007)(8676002)(4326008)(66556008)(5660300002)(53546011)(6486002)(186003)(26005)(6512007)(31686004)(2616005)(6506007)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UlBjMkVGRlFZS2RQZkRyRnlNMmhRUVg2T2hGYXU1OXA3RTJzZ0VJSk5FTnlq?= =?utf-8?B?WkwwTTRUb2Zzc0VpQk9sdG5INjh0N0xtSXlMdncxMmxhcVhmSDBJVTVidFdB?= =?utf-8?B?UEY5QWtOQ0RCUXlEMmUrOGJJaUlwNjVnTHQyb0pXcS9WY3pvc2NwS0ZaMGxy?= =?utf-8?B?aTZBVGtOSnl3K09Nemw0aHpIelRPMXA4RVlCN2pRMW9XbTlQckY3NHhWRXFY?= =?utf-8?B?Z2EyZVg2MmRzU2lQbkF0R0pxZkZQd0djQzBQWHlxK0Z3QlJJYmxVUWRIVTBZ?= =?utf-8?B?N3ZQa2s5dzlldGZZUkhwdHRDM1JtNjJvVlY0OUIwN21ManFpdVN5NTZ2OVE3?= =?utf-8?B?bVpqNkNwRnFwWmFnWFNkZkFtMDJvWm44L2VqSHFmSS9sOFBmR0hoeThGa3h6?= =?utf-8?B?WThLZnB5RHJSWkZQM0pna3NUS2F3eWZqNTFnSkpCemNub3JZR0FzTU9ER0Jq?= =?utf-8?B?cG0zOGt3WGN3V0JMRGNyOThVdWx5QjIvcGFQWHdiYzZlK3Y2WEhIVDZMaFlJ?= =?utf-8?B?Z2x2S0RuT3dURU5nZWFXQ1JPcjBTcUhXTXFFcXdCYStSbzNHSkxsc2xpNXNH?= =?utf-8?B?dGdyMllvVUJlRyt6T0lOZ0Nsd2toekZJbGxKZXFxaHpacFMyblpTTURXUmYr?= =?utf-8?B?YzJpY1VDUDBsZDRIQ0pvM0N3a25ZY25qbWVPWjdSNG5ORVVIQk9RMEhsVkUw?= =?utf-8?B?UkVrL1NvcnpyNjRwc0FmSWRnN0wyRjlBZVk2NTY1SVErTVptTkFsTXhERU9r?= =?utf-8?B?Rk1EWEhiS2htZ2VnelNKdFlydHZMeHFBZDkzbGFHd1EvbkFmK2pRVUx5RkU4?= =?utf-8?B?TWYya2NRTld0N0dJdEFXTFRaMTRYM1BWdERyeElUUmhYMzIyN3FjaDQ0OWRs?= =?utf-8?B?RkJMa09DQjNzcVRCOXN3ejd2ZTV4Tm0wS1MrWDI1Q211SEpiZFBXTVFBVzNR?= =?utf-8?B?WTVOMmZVaUZHWmVoYWNaNmZPNDBrVVZGb29BbmV6L3YwaCt5TDJzMm9rQitB?= =?utf-8?B?VEFQNFhpS2lQM0Y3U3hWTTJ3L0NNcmxrUWFQdTJLaExXbU40UUpZVnpkMWhx?= =?utf-8?B?YW4yZ0Q5Ykk5dEwycVJDWjVNVzRIMFhjbnBiTTBXak1idHBxam5SdUlFNjFQ?= =?utf-8?B?blJVN3V3Yk94czh3MXlYRk5KbWhWOUVPaUFlK1Q0bzY2RTJqcVludjIzZkh5?= =?utf-8?B?Tnd0dW4zY0ZkNmpMSnp6aUVwVkRYYWNGcG85KyszcmtpeUQ1bmgzVERDVjUy?= =?utf-8?B?TWp6UVVZZzJ1S1FuWDVZbnh6OGFEaUhLWFU3akxUTFRiUXZZQ2tXU1JUdDgy?= =?utf-8?B?WmtUOGZHaHpPbkltZXBUVEErYU9jRkFUTEozNFJHOXo3UmJNNFRkMkF0TldZ?= =?utf-8?B?eWRLcDRwZGZHM0xrck1hVFVRbE9xMnZkaDQ5TUxuNjUzeGs4dUpVRkQ5SVNy?= =?utf-8?B?NUVmOHcwMmFhZEpFZW5lN1UxTE43SWF1aTlPWTF5WUhJZkhZbGRxc1V5UmlN?= =?utf-8?B?d0hzSVdHRFljUzhMbjlrMlptcmJGTmZlUjJoK1EySG10OHVpdEc1eng3TDJp?= =?utf-8?B?bnBOREpjY1MyZnlFY2oycVRrNm43dUdDRTFtd1JXQnIvRUpVMDZkdEplTGFV?= =?utf-8?B?V2R5RFdoNWlQdXdrSmpPTmJtdWVWSktUaUdnQjk0RWlpVGNVY0VtSUFrakVl?= =?utf-8?B?S1QyN0FIY1l2S01UWVozazZaWGlZNmsvNkxMdS81bitaSWJURkorQkhhd2Zy?= =?utf-8?B?QTFYWW1NZjZZcnFyck55UGdRQzFIWnZCNEE0TFJGVnNXMEF1YmlTZ3VqZVpv?= =?utf-8?B?bEI5anNOZjMza0dwZzYyMXppZklRNDNCOWVtdkJrUzdjV3VIZ3JKRXV0OStw?= =?utf-8?B?LzNIVENNYlhpZ3dyV0RTSFJQU1ZHczhZTm9KbFpJdEhFRzF2VWttcmlLWk10?= =?utf-8?B?RCtwY3BweTdjUDFWeEtxWlJpdk0yN2NQMjhCbndWanROK1RocVVwUUk4OHd5?= =?utf-8?B?WlFCb1dDZ09uVDdUSTIzMEdYZ29TM3Jmc0xZQldQeG5xMk5obXYvSThwK2p6?= =?utf-8?B?SFpxUi9jMFJHcGZwdGxsYXltdkV1QitzS0RWNkFLcVB0WDBPWGJ0WHpFZTFH?= =?utf-8?Q?Yl7Aok92DeOcgVPoUdfxQ/7D6?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: b569a5d9-d343-4fd3-0611-08db15a416fa X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Feb 2023 13:44:30.9236 (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: m3M9lE1kUDgH6RDfGURoyTx12xnlVJxG1j54YokSh8AK0p0PTDGpL7UqN2qAvAR7aznbEPSrk7LKc0nMovnXBg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7749 X-Spam-Status: No, score=-3028.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 23.02.2023 14:27, Tom de Vries wrote: > On 2/23/23 14:08, Jan Beulich wrote: >> On 23.02.2023 13:45, Tom de Vries via Binutils wrote: >>> Gas has an option --compress-debug-sections that allows it to generate >>> compressed debug sections. >>> >>> That does not guarantee that the debug sections are in fact compressed: >>> ... >>> $ gcc ~/hello.c -Wa,-gdwarf-5 -c -Wa,--compress-debug-sections=zstd >>> $ readelf -S -W hello.o | grep " .debug" >>> [ 9] .debug_line PROGBITS 0000a8 000053 00 0 0 1 >>> [11] .debug_line_str PROGBITS 0000fb 000025 01 MS 0 0 1 >>> [12] .debug_info PROGBITS 000120 000039 00 0 0 1 >>> [14] .debug_abbrev PROGBITS 000159 000028 00 0 0 1 >>> [15] .debug_aranges PROGBITS 000190 000030 00 0 0 16 >>> [17] .debug_str PROGBITS 0001c0 000039 01 MS 0 0 1 >>> ... >>> >>> Sensibly so, they're only compressed if that provides a size benefit. >>> >>> However, for the purposes of testing components consuming dwarf >>> we may want the sections to be compressed regardless. >>> >>> Add a new option --force-compress-debug-sections that ignores the size >>> heuristic, such that we have instead: >>> ... >>> $ gcc ~/hello.c -Wa,-gdwarf-5 -c -Wa,--compress-debug-sections=zstd \ >>> -Wa,--force-compress-debug-sections >>> $ readelf -S -W hello.o | grep " .debug" >>> [ 9] .debug_line PROGBITS 0000a8 000064 00 C 0 0 8 >>> [11] .debug_line_str PROGBITS 000110 000046 01 MSC 0 0 8 >>> [12] .debug_info PROGBITS 000158 000046 00 C 0 0 8 >>> [14] .debug_abbrev PROGBITS 0001a0 000049 00 C 0 0 8 >>> [15] .debug_aranges PROGBITS 0001f0 000034 00 C 0 0 8 >>> [17] .debug_str PROGBITS 000228 00005a 01 MSC 0 0 8 >>> ... >>> >>> Advertised as: >>> ... >>> $ as --help 2>&1 | grep compress >>> --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi|zstd}] >>> compress DWARF debug sections >>> --nocompress-debug-sections >>> don't compress DWARF debug sections >>> --force-compress-debug-sections >>> force compression of DWARF debug sections >> >> No objection in principle, but have you considered making this a new >> sub-option to --compress-debug-sections, i.e. compress-debug-sections=force? > > I did consider adding a "force-" prefix variant for all the non-none > sub-options, but decided to go with the simplest solution first. > > Your suggestion, --compress-debug-sections=force is more orthogonal, > though it breaks the pattern that all the sub-options are mutually > exclusive. > > We could have it be standalone, so you'd do: > --compress-debug-sections=zstd --compress-debug-sections=force. > > Or instead combined: --compress-debug-sections=force,zstd. Harder to > parse though, I suppose. I think both should be allowed. In a complex build system it may be different entities setting "how" and "whether". (To me "none" falls in the "whether" category together with "force", and it also can be seen as falling in the "how" category together with "zlib" etc. In Linux Kconfig, for example, I'd see this being expressed as first a "whether" choice [yes/maybe/forced] and then a "how" choice dependent upon "whether != none".) Jan