From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2042.outbound.protection.outlook.com [40.107.7.42]) by sourceware.org (Postfix) with ESMTPS id 6DE743858CD1 for ; Wed, 22 Nov 2023 07:37:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6DE743858CD1 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-Filter: OpenARC Filter v1.0.0 sourceware.org 6DE743858CD1 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.7.42 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700638623; cv=pass; b=PXxf67DcTtCIcmYw92XMvWgleAknPbh47Jaks4FkXjUv6LSAJ3IwHxTlH9JSCHC015SZ9t3kfVcYI/i2B7RcGoUtTRjuUeRM7tWoq+QGU8fHnInR6wm+Yp/F3gwRssfFEhaBG8MpKZBP4Owf6n6r7xhoJXAD5qt3TR1jfTCuDGU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1700638623; c=relaxed/simple; bh=Dw5vCKHfQgw/6lxifzT+AClaFdpddfcYOoBzqk10LuM=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=uTxyosshfzOTZhzsJAWpJEMz33Nkjkn4AYoU0NHt1uUld20qbZ+DnHZyNSoDiTvhYJim3gnK2pECFlwYb4d9Z3u/OGvrDmDrC+Zkl/t1/4tb1bOoStCAZ8oPEbKiws49kXzHjAM0Gu6XfcC5G7Vo4Z6pbW+Q6lpdhVam+Xs58IY= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JshZ5PlejbwBRtgb2w/JAWeL6V7jxxmf1OtIVxAVqCN9xGNyY9L1k/Lak9GELp97h9LQd8w2foX921NTuqSR16+4gZatS5NIfmHl4L7+IQdgAAU2mCLSEuWdHZiG6eF7q4hqRxtCoLzR4vP/28axVMlLONOKZLDFnqHG/Hs3tAEIH9fIUOdRxBiJGR/HHoM7spz89GPxf2Eza8ZhEOR5mFdlzLkGj6kw6myfzAukxg+xE7p/VTZ3hmYpsijWjjS7MDp+latKeITO7/J3dHJW08lrddGRkyaSwB16+SD2y07TREKPdS1OLwnLrPTqw1+yZ746DiRa1QUY7dnZsPLTHA== 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=WFq6MgZAcNl6UoO7uRb7VeL359UZbT01z3nZEJCX9MY=; b=oJLXaOEJNB4M4he6rCE81BxeNcagIqCYjz49mx5uSSLkxoOrbuX8cAbylaW6Aak0YfCPYdM+jCb3LIWN2AylunxH+6Gp95Onyv2YuXsARsNwgQ1Pw4+1MLSaPzdtT/dlhhiFNzIqmPKowaQF/sgiCGfJ9v+Kh0y7Vxy1A/WRbGgcvdy3xrqs7rx5SRTHhQlOs93wAopAbeNNP/C427KWqSxQ9X7OFrsa1N5gOcbTtoaH0Dl05d8pKSiUnR+O1cthm9fkMT9aHQPIMlBKt71jgF7ZqVuOLcF2tzgM3gdmdGZ5HhK7+BRYoSwjp8O65TZaGsXBlW4Y5J4JfWvPDe+6hA== 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=WFq6MgZAcNl6UoO7uRb7VeL359UZbT01z3nZEJCX9MY=; b=XXWo5unOY3XM6S+XTvzTp2A7XrjP9zhWtEqti15iuc9OS+ELMGN1Tr60lhPbnX1MEuOzzEbNmg+ZbufFExTacRTXEhwT8hVj6gvq/22K6cRM4fF46wv2QZ+rQYReGbcMaO9FEj8hAztOMqlTxg5RrTDztms+sRmX5GOVH73nZrXQZxHArQYpnj6np5T+oHRJjKlWFRhH9Tidf/PjeYDyH+2vVPVJUcH5Dbcavfq9AIIAZp6jD6nvCxmVFsBmFLR1mI61UiPkgmLBDt8EAGa7GaQdO2gVPM8sjBQ/+aVF5eyR6PMCwk/8xNpVpCdrRIrags3GQSOYcQMiPWOwcM28iQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by AM9PR04MB8399.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov 2023 07:36:59 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023 07:36:59 +0000 Message-ID: <9b758b17-3aec-4ac3-b313-be084a6f7e0a@suse.com> Date: Wed, 22 Nov 2023 08:36:57 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] binutils: v2: experimental use of libdiagnostics in gas Content-Language: en-US To: David Malcolm Cc: Nick Clifton , Simon Sobisch , gcc-patches@gcc.gnu.org, binutils@sourceware.org References: <20231106222959.2707741-1-dmalcolm@redhat.com> <20231121222019.646253-1-dmalcolm@redhat.com> <20231121222019.646253-7-dmalcolm@redhat.com> From: Jan Beulich Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: <20231121222019.646253-7-dmalcolm@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0189.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ab::20) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8399:EE_ X-MS-Office365-Filtering-Correlation-Id: 265235b3-7837-4acc-c45e-08dbeb2dcf96 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BhbXh1KXxaUas45EmkD1gINdBqbDRVsOXYe8xrUCHKsFQ0tAZQWx+xyBr9SDNhgp2DubKrjGmmD29HXBxXD5FgGeSGmOfDQhUi80PtGzshJo+l1Z2Ng9LajK48jhXmLNVHAG8KT3k1273F5TbIkJw3UC69Cug5J9c+a+8rszV00P9TCV7sVexm9Jh/l7f+p1/rbxrdLLnlmH24DQv2S4jNcUricvlHTpA51PBHxVG2VTwbiYnrxrIf2HiJSNgDcegzPReyh4ULH2iBWogLfxb2ouZJxox3zxHoiDvyhuukdk96UOxze3kXuuN+zTa5iqw9MvQ3Yu4OWvj9ojqaH8F0zq+9AyT71sPRfPWQymkAOXbtxaC2Sc3v2v1I/6Ztifmo+hQK5pxEXOk5rjhSIwGLcCH2d1faq3SN6CrZIR8L+Fzl4xWQQ4L0jkutOkGIZR87pIkMGKdiAhcnGTdVuNGYz18i7b+mz3PEfhFMK9OLOc7Z/Qj0Dq6v9bezp9CkUipljfrQOeeiz+CeL40uzGU97NXI+JdjCnSSVbnvhPLP+UQpwz8edwWj0o5gT+OySqFx3IVLaRWWNwey//AomFlasus7pq6zOhiTqdDLLfU2OQN35RBrXZIHd7Ci90GLIKE1OyBGnfCzaIfKNUxHesiZawpgkBaxRIlCn5XgM4FUzvofQYnjLgSb1kLhgckFP1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(39860400002)(376002)(366004)(136003)(230173577357003)(230273577357003)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(31686004)(41300700001)(8936002)(86362001)(31696002)(2906002)(5660300002)(83380400001)(4326008)(8676002)(6916009)(36756003)(66476007)(54906003)(66556008)(66946007)(6486002)(53546011)(2616005)(6506007)(478600001)(316002)(6512007)(26005)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dFI5NlBiRFkxQTlnRG8yc2R3Y2VtejVJR3ZQUE5KdWd1NjZIYTFEeXNtdWI2?= =?utf-8?B?WC9QalJPZjVoK0dzRHRscTNRTXdWR3NPeE5uTjZLTHJRL1I3T2VEeklhY1Zr?= =?utf-8?B?U0YvZGM4dk0xdmZDRVRHcklpeVVCYmdIUzlvSlhSa1QzWk8zam4rekhndURH?= =?utf-8?B?NTROcHZFS2gyTElpYkQ4U0lqNE5PV1k4Rk5IdUdaR1doK0FESHh5ZCtTTCto?= =?utf-8?B?aFB5MURSckNMaFRPZDdXK3NSZXFCWXRxdmRqQldBWHl3eFl6OXB6a1g1aVlV?= =?utf-8?B?SEVZakVwNEswNmNTZlQ0Mm9PMnQrQWx0d2JrRXZUcWo2eWdFaWJ0K2ViQ2xt?= =?utf-8?B?MTBaVWNwWXo1R2xsOUw1UXlRcmRaMHdOSVVJWUVyWGlEa2hzRW5TRlNXNENN?= =?utf-8?B?bnNWeStYSzM2MG95ci9HdnZuZ01nUmNlREtiRnhMNnpKWVhScEdOL2JkdFZz?= =?utf-8?B?aDhQZ0FzMmN6THZRa0sxeEJUeDYwUHJSNElPVWpCOHl2RXR3UGFZR1BoK2FM?= =?utf-8?B?MjhLeU9iMVBFSkNUQWJOR0NjVXE2RUdZUnVhenBNK0dzZndRTjFVVVlvRGVj?= =?utf-8?B?bkJvMGlUOHhVY2JSd1JBQUZ2SVQzOVFaQWgzMTdmbVNkWEhITEMyZTNNMkY4?= =?utf-8?B?cjc2L25meG42VE1BamhYMXF5YThUNE5kRUVvMFViYXpZb1ZFZVlYVmZ5dGEw?= =?utf-8?B?SStYeUc4S0E1RzM5Y25sdEtXZlo0R3MwbE9EK0tMZERKUEZlWEtDbVArNHJw?= =?utf-8?B?WHYwdkZlRUo5NmczYlJvUEFDUmtXSUs2V3owYkZBY3NxSzhENE5KdlRQRGpL?= =?utf-8?B?V0sxRmVKTnI5b0prRHdSWjEyRndoTnMvR1Y5NW42aXdoU3VUYTRZeXRlb200?= =?utf-8?B?Y3kwSk1NdGtNY2R3QkQ4VTNYMGphZnN1WDlOMWQvdm9WUGRPT2k5V3FrcjFl?= =?utf-8?B?NzB1SHFnQmxhekh4U0RrUjhSVEZ5RkEvck9lN2V5S1ZobHZzdi9UVHZmYXlT?= =?utf-8?B?S09XNGMySHlVNzh4NTZ3TDNDcEcxSDFUNHl0ZU5xaWx3aWpMVkNseHpVeFRV?= =?utf-8?B?T2kzTHlRRUpTUXc2anIyeTgwckJaeGdqcENLOEpNU1J5cDJmTnFZSFZlWWh2?= =?utf-8?B?QlhjY2VrT0JDeEE1SytnRVhXamZFRjMyZUhpR1A2VjlzQ0pEWGJkVlhWOFhS?= =?utf-8?B?UXYyS2dkQVgrOEFZYllIRzcydkRFRjk1YVArY25MNU1YNWQxbXBhS1U3ZExy?= =?utf-8?B?M3h0MHZiWUMrY3kvbW51RWUvOTZGYTRFMG5TM2hrTWIyYXJObWxIemk4TUwz?= =?utf-8?B?VkdwMkVJN0ZUc0ttbEoxbnRTQ0FhanpGU3luTFByb0FuSE5EYWJiY1lCSG1V?= =?utf-8?B?L0tHUFVjb3BPVnM2aGNBdmFydm9iTHE5ZWFDTERrMWRKWVAvQk9scVhDQngx?= =?utf-8?B?WFIzd1BHQTBvR0s3M2JhdEFJNnpUcnFHT29hdkwvSmdTOEVBYWFtRitWWnpt?= =?utf-8?B?eGZFQUtiaE8ram9XQ2k0bEhUUCtpOTdyVmdjRXpzUVErVXcwM1B1MWVoZXJj?= =?utf-8?B?TFRreWlnQXhZMzFEZE9WNmZIdXUrblpCWGQ4ek5jTVlIeXRwMHh6d0RlbXlp?= =?utf-8?B?aGdJS0gvOHZ3QWNVQkM3dzdaQnUrMnh0WHVyT1d6WjE4eGNDWXB0RFlYWVBk?= =?utf-8?B?Ty9WV0xoZTVEa0VLNVVHUjFSa0MxckhDSmdOMVJ1Mms0RWtzeFVXOTJ5MUxm?= =?utf-8?B?Q0dlTGI5ZXIzcEJ1NERSNVFFcHFOWlA1R0RUNkZmTERtNmx1am1JWTI5aEx4?= =?utf-8?B?NUVzTUxZUEQrUURTOWZjanlPUSthWGtDclhmTDFBSE41dU9wT2xnWnFzbEY4?= =?utf-8?B?RjExcDFHc1ROWDJjcWNXdmJFMGVPREdPZjk2dXYvYU5OWnkyTk90WVBGanBC?= =?utf-8?B?Z0ZFalJTb0ptdHYzdzJpcnllQSsrR1NZL1MxUndMYytiTkU3VUNzV0pKY3pi?= =?utf-8?B?QWd6aDFCbHdCQWRTZHdrNkdhdXhMZjBiNWZkM2NHbWFGRk15ckw5cUdKTzdH?= =?utf-8?B?RmpRVGg5c0RMbHQ1akcxVk80VFFVSFlNVXRlYm1IWHVaZVZVRmdmajFBYStL?= =?utf-8?Q?XmzgmmC8lJA5UKVLHmwMj7K/x?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 265235b3-7837-4acc-c45e-08dbeb2dcf96 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 07:36:59.3472 (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: PQ3DUn2T4DvizfW6Wn60X5bMsi5KTF5xgN687zU4G5W814b1cMDykPoGicuoBQeAoX6L7Ntw5XvZCm2lqYY2Fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8399 X-Spam-Status: No, score=-1010.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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 21.11.2023 23:20, David Malcolm wrote: > @@ -101,6 +109,29 @@ had_warnings (void) > return warning_count; > } > > +#if USE_LIBDIAGNOSTICS > +static diagnostic_manager *diag_mgr; > +#endif > + > +void messages_init (void) > +{ > +#if USE_LIBDIAGNOSTICS > + diag_mgr = diagnostic_manager_new (); > + diagnostic_manager_add_text_sink (diag_mgr, stderr, > + DIAGNOSTIC_COLORIZE_IF_TTY); Coloring will want to be possible to turn off (or maybe be off by default, and be possible to turn on). As to the #if-s: I think they all would better be #ifdef. > @@ -182,6 +213,20 @@ as_warn_internal (const char *file, unsigned int line, char *buffer) > context = true; > } > > +#if USE_LIBDIAGNOSTICS > + const diagnostic_file *file_obj > + = diagnostic_manager_new_file (diag_mgr, file, NULL); > + > + const diagnostic_physical_location *loc > + = diagnostic_manager_new_location_from_file_and_line (diag_mgr, > + file_obj, > + line); > + > + diagnostic *d = diagnostic_begin (diag_mgr, > + DIAGNOSTIC_LEVEL_WARNING); > + diagnostic_set_location (d, loc); > + diagnostic_finish (d, "%s", buffer); > +#else This looks identical to ... > @@ -256,6 +302,19 @@ as_bad_internal (const char *file, unsigned int line, char *buffer) > context = true; > } > > +#if USE_LIBDIAGNOSTICS > + const diagnostic_file *file_obj > + = diagnostic_manager_new_file (diag_mgr, file, NULL); > + const diagnostic_physical_location *loc > + = diagnostic_manager_new_location_from_file_and_line (diag_mgr, > + file_obj, > + line); > + > + diagnostic *d = diagnostic_begin (diag_mgr, > + DIAGNOSTIC_LEVEL_ERROR); > + diagnostic_set_location (d, loc); > + diagnostic_finish (d, "%s", buffer); > +#else ... this, except for the level used. Put into a helper function? Which would the further want using from as_info_where()? Jan