From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id pOfmNRiicmYfUj4AWB0awg (envelope-from ) for ; Wed, 19 Jun 2024 05:17:12 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=D3Ol5P+b; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id C8B321E0C1; Wed, 19 Jun 2024 05:17:12 -0400 (EDT) Received: from server2.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 ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 546871E030 for ; Wed, 19 Jun 2024 05:17:10 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D055B3884546 for ; Wed, 19 Jun 2024 09:17:09 +0000 (GMT) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2046.outbound.protection.outlook.com [40.107.93.46]) by sourceware.org (Postfix) with ESMTPS id 92D393883027 for ; Wed, 19 Jun 2024 09:16:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 92D393883027 Authentication-Results: sourceware.org; dmarc=fail (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 92D393883027 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.93.46 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1718788596; cv=pass; b=MqP2qAR4FcwUzOAJJ0JEqgQMOktWJBFVmVv3Ow0ZWwSrgmQqL7rBI9SCzLLlApHSnlR9JHHTJPwhplETSef2++TFaJ9cGe0V+/PSepQ0fwTn5r7x5PfKQxIctdIghnzBEu8xH8BVlzdNszPrZm+SUnJnnPqF5ih11W1xuInhvmI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1718788596; c=relaxed/simple; bh=vkYuArPpEqhOMXSR5gRfD0wYCl2QnjKyXYJoMQiiGcw=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=rAgPg0l6vQ+alCVW5JC+krZLyEChpNno5n6UFDxwYeomEBr8Ron6tlz4dW8UV5JXWwd28/wINr/6Cdne0h9GA6uxZgjLiwwlYMGbu8CxG1szKRWphw/0bgbEsopVgJGao3zLqM0KPlrQXyv6gUvpqB427vZ9NIgn7zaLScmgryU= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OGsPFIlwNwCQaWu/JjowNVcYfkOzygAcwLq6MD+ndmDqK7VxfqIRwGxwUr5qnJF5p+i6zVD/jEXqiA0HgGrZYfjGbhP4EBjHb0j68NoU09iG7LQ6GZIhXlW8PsgdK1hCcmXzdPU53/HwgWK9xZcWDp4Lf00RD+WVTT2V/440zpx4afSl/TZeNGn5/kMgUB2Hyy1TtiYv8qPx0gZ+j4N9xfMEdaQCvdnIFq7fqPXQSL2mxfycEO21923ib2A2iOaDVbduxb58U9jAcJVkj4a1heBpolQVYSxcxFhm8eM3DBZjHUHQ0Ew5Qe1SJoI9Qicae6nTaFifpW2tq9isJOx+5g== 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=KhRTN/F0/hIgmGAXTp7nKIqQfsGvos51vt7+6NHpIDA=; b=Gf195G4IvGSC/Sq2pR+xpqI/wmR/T/R6i4CnImViwfMD1pYwgwnGNs3Sdqf68+rWbfa7JoCnXE3PmmIebHdhfLMMJ5ZrSmA5gLRerMPlN1E4i5WfhwhMfmjflPhwznskY8qZhM6EB9ShxS7T1fMaLntR2H19diguByGKVOy+rNCK8XqdjpOAW+nDNRjJM3BskOoRm7VK0jhSwitX80pNEeQrMxZTS/kyX7p859Oq9mXaliOZuLbe0I1Ky5JowOGZQhVvokit9usFRxIYIT+cWCMs95y8vFJkfJWsnRBUhHqOMnSSTTZ1JtmPeFiOdNUInBdhK9OPL/2j7xmd98VJhg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KhRTN/F0/hIgmGAXTp7nKIqQfsGvos51vt7+6NHpIDA=; b=D3Ol5P+byj2+mgpAYyV/AEmRVLjIU/lTb1pi6NfEqEgV3v0+gU20IIvkSTVLof3it58wfZLiVtDEF1Lc3/70hPq2l30Munwbd2oHgS2sB7+niora5ZnNHQlsZR+kfoNyCI+KL1T9LtZjzLLGZEQ0acRm3mtbNqN2jndbIJGDfqk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH3PR12MB9079.namprd12.prod.outlook.com (2603:10b6:610:1a1::9) by SN7PR12MB6744.namprd12.prod.outlook.com (2603:10b6:806:26c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.19; Wed, 19 Jun 2024 09:16:31 +0000 Received: from CH3PR12MB9079.namprd12.prod.outlook.com ([fe80::8c67:8cec:7c4a:ccaa]) by CH3PR12MB9079.namprd12.prod.outlook.com ([fe80::8c67:8cec:7c4a:ccaa%5]) with mapi id 15.20.7698.017; Wed, 19 Jun 2024 09:16:30 +0000 Message-ID: <6c29a247-3b9c-4562-a4ff-1a0f502f647a@amd.com> Date: Wed, 19 Jun 2024 10:16:27 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] gdb/python/python-internal.h: avoid uninitialized constexpr To: Tom Tromey Cc: gdb-patches@sourceware.org References: <20240618090952.537478-1-lancelot.six@amd.com> <8734pacjju.fsf@tromey.com> <2317caf4-6fdb-46d1-b2aa-caffed3faffe@amd.com> <87wmmmxcat.fsf@tromey.com> <72ea54a7-b6de-42b3-8889-f8921c0d2074@amd.com> <87sexax8tb.fsf@tromey.com> <87jzilyeo6.fsf@tromey.com> Content-Language: en-US From: Lancelot SIX In-Reply-To: <87jzilyeo6.fsf@tromey.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: FR4P281CA0269.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e8::16) To CH3PR12MB9079.namprd12.prod.outlook.com (2603:10b6:610:1a1::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB9079:EE_|SN7PR12MB6744:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b77ee2f-89e8-4221-371d-08dc9040818c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230037|1800799021|376011|366013; X-Microsoft-Antispam-Message-Info: =?utf-8?B?blRlaFh2YlY5dFVaaUdQbGhyYWZXYWpNeGFDV3F0YVdicmRQblh4SzdjUERS?= =?utf-8?B?YXJaSjhyZFhRSmVxVzlvaU5HZUhPcExKUmRYUGk5ZUVVSUlTcmUyR05Zb3pJ?= =?utf-8?B?S2laUnNhLzY1VVFQMXVvZ0lmWERIOXdWb2U1WmhFKzJvRzBjOGlPZkx1dFU0?= =?utf-8?B?WnJNWEYvNjlBWEMwR0kwNlVpb2ZGTWlyQm1EQk5WN0ZiYWIyL2czbVNhQk1n?= =?utf-8?B?dkZQTW10cXF1WEh1eVpHNzBFcC96RmpIZjlpbHZNUmxyT0VaMmQwWGIxQ1Yr?= =?utf-8?B?NlBpYUdSQ2pIK0p5SWhhd0ZXMVY1c201M3F2VlozVXF2eXRqVXBXbFRnVXE3?= =?utf-8?B?Q2VUMEZ6NUpYMk9xTGZLb2FoRldnVVNxZUJ6VlNiRWRoMGQyUUFHQml2MFFF?= =?utf-8?B?YVI1UmJreHp1Qmc0cDJqRzNoWTNtMURTcnRaRTRUVXBwSjV5QmlOOEFPb0Nu?= =?utf-8?B?a3NXUkJFMlF2YlhVWFNWeUtLUWRUOTBQWlI4ajBPTXZjYnRsR2ZRQ3JuTWE2?= =?utf-8?B?dGlUbEx6ay9tUUhXRUplQU9xc0tLOXEvTGh2azlhbS8vTkpKbG5TY3lhbHZl?= =?utf-8?B?eXFKNVdHcnV0L2lDM2pQTUFLNEN4enlKb3ZOUTRtbDNpSjUwcHAwckh5TnNX?= =?utf-8?B?NmRzQzZvUVBxaDVhb054Qm1nTUtYdWVYVW9CTUdZZUlQYXRZRGhPWmdUVDEr?= =?utf-8?B?bWt3bnQvVk1TelhlOHF2cUhOTzByOXB4TC80dlYvL3RCYnIzaTcwd2pNa0dB?= =?utf-8?B?MVpOMlFoWEtyS3RwRWtzTHVQcjJqL3M5WHRsVVE0WFhLTzFXeGhPcXkvUlk2?= =?utf-8?B?U3ZIQzJUdXhjUEo2QllQdjRZbzlvQ1RlL1B1cTY1Slh6ajNsMzF3ODJCQWsw?= =?utf-8?B?QnJoL3dleUtRbm10ajBhNmNscCs5WWRmRkw2U3lPMXUxbjF5K2JFRENLQmg1?= =?utf-8?B?dWVFcVNybmc5ZTBLbkFxQUdWSHVLbjFod1Z6bElmbTJqUTllVXduRUc5bUZ6?= =?utf-8?B?R09nY2lVKzVSeXBwK1pkc3ova21ZUHoydFZCR2Q5VE4zMldKTEdka2F3MzVM?= =?utf-8?B?OEVBb2xtSS9zQU9abTVyN0NSOXB2Rzg5dzNVcE9vSEVQYS9RZmpjczFtR0Nx?= =?utf-8?B?dU56YytYdkdna1pXTDlsYzhpb1JxZnpMQzR2dDRTZnJSTURvdTJiMm4wcjVQ?= =?utf-8?B?RFJRUjJlQnhZa3NwUGVKR3ZkZFJpWGxJaEx6VHptWjZRTExZR2tTSjlBS3Y3?= =?utf-8?B?TXp5NC9vVnVnOXQ5a2pKbDkrY0hmN1VMTWFwbG5yOFJML3FqRjdYNzhBdXNq?= =?utf-8?B?dEVva3lTZ29NMEFIV3VuUVhMbW1MakN3cjAzZkh0K0VPMFBuM1RLbHl6a2xO?= =?utf-8?B?Y2g2MitPMm9wSy9vTHhXdEN0MGx0UTlTWTBTTGs5WWlZcWlIbmpEaGE0L0U0?= =?utf-8?B?anJSbzR1Z0dvVjJEZHQ5bWdqZk9pV2RraThYL1VHQ2pLZlRwNWpRT3VRVHZa?= =?utf-8?B?YXcvQkxkWEpXcUxua1RQcFozc1k2eXdvb01xcTVBWmt3L2YyQU9rTWdpNWhM?= =?utf-8?B?SEgwM3Z1ZU9aN0ZRaGhnSWFXWnNURDdRTWpCeDlJbXJmaDZZY3UwNHlnc3lS?= =?utf-8?B?VkRmZTlKSU5uMHIvTHl3eTcyQnBnV3AweFBEalR2NnlyemZMa1N2dFN1Y2Fj?= =?utf-8?B?bk1ab0RrU0VzL2dta3pTVzh0VzVqYkx1YWxwbnE2cjdOa25temNCTXlKNHpo?= =?utf-8?Q?r7VvBcVNbqwXEVyqFO28G21zGWrsXcJ9iPw+T+G?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB9079.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230037)(1800799021)(376011)(366013); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Sk0rSDUvdk0yd2hvUFhDRzhRSVBTZ2JQYm5zYmpyaFhaYlFCZnFNbTZKTm9X?= =?utf-8?B?am9Sc2xOVlZmVjBCNkc1bVh6YVQ2WW1oQjFyMXdXcWFYb1JMMzJYczNld3BX?= =?utf-8?B?emoyam4wSGNVMU43cU5odUIxdWthc2NpTEtLY003aHNLL1RYbGVUaGljZ2F5?= =?utf-8?B?Z0RPbWFxTTBkS1hhak5IaGRFb2xTVDBrRTRaNENhNEFhVHh5U08xR1pXb2cv?= =?utf-8?B?YThWbm5CdFg4S2Vldm5DZjE5SU5BYmZFV21iaEg0eGo5MEIzM0lrUHZQdzJz?= =?utf-8?B?bDVmQXQ2dEJRK3J3QUpVNWZmSWRjbnJrTFdEWk1kcEVsQS94OEdHZWp1amxP?= =?utf-8?B?aGRtdkd3c2NpVzUwdnllYnB6RkVBL1hCd0JLTVlNa2gvcEs4a0tvQWdPdTBs?= =?utf-8?B?dmkwckxHL01NbTNHTS9GNUw2Q2dqcEMvOU9Mb1l0QVRnQXFHbjhZbG5OL2h3?= =?utf-8?B?L3JUVmZaeWRPblNqTWFDOE9ON2RxeDNYdE96VnQ5eUpVR3NwdWRWU3JkbHVD?= =?utf-8?B?T1JQMkc0ODUzeTdvd2NhL3RqM3Z6MWNkL3lKdHQ0ajJQVzJ0UndXbHRMMklq?= =?utf-8?B?c29mSU9IdWF0WjQ4ZGNuNSsrUXJRcjFzTy9OT25XNzFySnVpUXh1RDEyVk81?= =?utf-8?B?RlpacEJ1Y255UjFxQmNaMkhodDZJZEp4eHJFa0liYnBoY3RTaWNqa0ZZbW1h?= =?utf-8?B?QWw5d0hxMEFUTTZaQjA4S1lCa3lMQWZNZkwxdGJGQlZsRlk1MEtzWTZUQmFK?= =?utf-8?B?Rzh3WDdwT2xSYWhHbFh2MWd0c3QvYzRnNEg4OGUvUlU2WDhLOUQwblJNaEh0?= =?utf-8?B?bGtHZG5Gei9Rbkd6ZCtJc2dFcGRTeG1Nd2l1V2xzSEdnRUhxL0RvUUE4NCtR?= =?utf-8?B?VmI5YTBMMG5qbFh0ODZKdVVIL3JBVkpuM0xEelp3bStpYjB4TWoyTW1nYU1s?= =?utf-8?B?M3BQa0d4TnpITTFDMkwwQU9vL0xTNnh4M1gweXlJZUl6WWNoM0lISkZ2WVBL?= =?utf-8?B?T2xyT2VobS9naWV3R2NGdjhsaU5yc1JzbkRKaUZnVDBsanZhVytoOHZLQmpC?= =?utf-8?B?dXg2RUxGQ0tsUVVpbDJJMFpBSHZuMUQ5U04rVVhmWUFJcURUa20wYnRMdUtt?= =?utf-8?B?V1YwTDNUQitTVGJINlBLWW5NQlJ1TUpDS1NHUmVGRVRFTjlwczVpcG9lSm1v?= =?utf-8?B?OUZYWnZUTEZ0VmYrNFp6MHV2ZHlXV1hCK0hLMXV0UXlTUDcvZkJJSXo1T242?= =?utf-8?B?T1dSNk54cXBnRjM3bXAxei9oUFdsZVR0NVd4eGNSYVFvbDVaZEE1ZTk4d1dW?= =?utf-8?B?eXdMY2hkdk1heU50cCtEU0ZSTGZ5aGhIc3NwYzJHSnpKWE9pbjdldWN1YWJh?= =?utf-8?B?T0hJQlZ3bGRIalgrZUtyT1dySFhmOVJwOW5JNTZ3TUt4UE55aWpUekdTYm12?= =?utf-8?B?THQwS3BQWnIrNEVQVVE0b1JLRXRQckFwem51c3F2SWNadGJlK1BTS3RDVjU3?= =?utf-8?B?eFFXRkxobnY1TWU5ZC9CQmlrZzRSNE9yNVZzMFQrSDhnWDVQSjRDRzhtVkFm?= =?utf-8?B?SXhUZm1QTXV0WkFqc2xmbk5UMUJiVVJhcjJ3L2RMKzRkN2YrZTJNaUVmalkx?= =?utf-8?B?bjVidVFFRlVDSU0wOVJ4ZHoxYXc1dkxYWWpmUUJ1bHpWcjRCMWNESktFeENE?= =?utf-8?B?Nzh6RmRBTHkrN29LVDlrSFBhWnR5WUgwL1hEZEx1SkFqQlRuYTFERUFZZSs2?= =?utf-8?B?QkxiNVhydlZEeFZheW4yRG9XTjQrZzk1UXVDdXhPN2lDNHBJVkdNb3FxeDIz?= =?utf-8?B?YmdFdGlWL3o4TEtVUko4WDlKVmkrWVhMaGpNNXdpR2Z5N2hyYzdnNmhNbmtw?= =?utf-8?B?VXhZcmpVMjU0ZDg3dWNyVjNGOVJFajg4clVwM3N3dmJta2dab1FJMUt5bmNn?= =?utf-8?B?R0pMOHlwVnlUbE96ZjUvTE9hZzV6RHZGUzg3blJUNHZteXh4bGxVWit1UC8y?= =?utf-8?B?cXFLWVRoNis2d2JZTWRvWGNLRTRJQjVzVVNFRmtxa2dvNS9vUjlkUXBSQW5H?= =?utf-8?B?UWp1Qng0S3preUFsZVNnZmNMZmRNVGxzMmcyZWgvY1FINXgyNG83RUNkK1JM?= =?utf-8?Q?c7ZenfL5PQ2bVXr2KS6IbIl23?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b77ee2f-89e8-4221-371d-08dc9040818c X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB9079.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2024 09:16:30.7935 (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: yj/MYBj5Bw5iTIw9CbYwO/cUTasYmwOmCh6YmZDcOfO5W4rBOjcY/0STQG5sPjO/aVYGEIcCbZEnIUIc+jMtRA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6744 X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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 19/06/2024 01:11, Tom Tromey wrote: > Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. > > >>>>>> "Lancelot" == Lancelot SIX writes: > > Lancelot> That works with GCC, but still fails with Clang. I still have > Lancelot> duplicate symbol errors (both at -O0 and -O3). My understanding is > Lancelot> that the compiler can still handle constexr as const if it wants, so > Lancelot> marking those symbols constexpr will not necessarily prevent them from > Lancelot> being materialized in the binary. > > Which symbol is duplicate? All the specialized instantiations appear as duplicates. With your solution, if I compile with GCC, I have: $ nm -C gdb/python/py-arch.o|grep gdbpy_method_format 0000000000000380 r gdbpy_method_format 00000000000003c0 r gdbpy_method_format 0000000000000300 r gdbpy_method_format 0000000000000340 r gdbpy_method_format while when compiling with clang: $ nm -C gdb/python/py-arch.o|grep gdbpy_method_format 0000000000000040 R gdbpy_method_format 0000000000000060 R gdbpy_method_format 0000000000000000 R gdbpy_method_format 0000000000000020 R gdbpy_method_format It looks like clang picks the "extern" qualifier from the non-specialized case, and applies it to all the specializations. It seems I can avoid this by marking the specializations as inline, i.e. template extern char gdbpy_method_format; template<> constexpr inline char gdbpy_method_format = GDB_PY_LL_ARG[0]; ... This approach seems to work for both clang and gcc. I can modify my patch to use this method if you prefer. > > Anyway if that is the case, then why does your patch work? > In my approach, it seems the symbol is not be present in the object files for neither gcc or clang. If I force it (by taking the address of the symbol for example), nm reports the symbol as a weak object ("V") for clang and "u" for gcc. Best, Lancelot.