From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2073.outbound.protection.outlook.com [40.107.104.73]) by sourceware.org (Postfix) with ESMTPS id 4ABCB3858D33 for ; Tue, 7 Nov 2023 10:04:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4ABCB3858D33 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 4ABCB3858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.104.73 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699351444; cv=pass; b=gwSAPlGF7d2mJeWfxkLIeBdBo2u6kkabuVTpM1ZpNW8e4ID3h9fAyzoKXeJOAD/NE8ukpGsJ4esPJHvqlw+ZdScTmDRs5bqT8iR0NnqFgVuDByVVtQylfOBQFUa+niwzg7TT2e7sasN1s6c+luiF+d4+m5zci30m53/vknz8DRI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1699351444; c=relaxed/simple; bh=eoJYwe4tFpJ/uIHyBGwBFPkiZwoQm8e8qryVPg/ZF10=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=J129uW5y8qRQp57Xmxv2sTxRRZOGo0EfP1QyZhfVyZ7ymKoAanZtsv6+SRC4djLjxZ85QOS9SRHhMAs0kwk3RhMNJVpSPdK9b+RecxLrcq6wtFUOZq11/Zbr+ZAp2SlTM/pG/feLUEdNWQbjVHg0yvVoecGMCDGJlPEfZmBGUYA= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cQ0oh4OzupfiZcD+qjxrvcFsJfoUI2AK/yzVSf9I7JeBXshogw4hFBkzEjO+7d9fP96O3TnMjHQ2rO33a4RVLSNQgFIeAETrXZ/yPAR9unEjTa3aWS06tCzK5itOjGRsXb93HYheCaLAB1tvbadKxDQlraUB6HtkNwwXBXaP8PS7mywp7TElyOwApJuYIV9RMOBsX/pTmg47wBeXerMaPbExcwTMn5Q2Fqcqs9QrvJ+RLvwz5+CD6bj1P63Xl7larcvv4Wle9AzcDSTpN/r/e4cEdMuoHFj2EF5/093RBtodDyYw1QKU0f1eUz3frGZLwe+ElwxBK/o1SsIoWVpQDQ== 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=lZBY9M8bZvfQg36+j7lKkAt0dJVPeXhFQAytE3NxXeU=; b=NBTbjSpfpRDxsYioC8QzUnz4lxwcCfF6KOzF+0aPYNjEdT6V1uYPFqAZeEycce85dAzQGB4c2LKrN3+3MK06VtIzWiJktJIJdtvn4pyZf4ZukIlHEaHyyaFFWV8pqAsqyfXmxgQ2/asYhYQHDk1tUuzunqZThjprBxFrisg6skMlkzNQacHnCARZv0hkOSzaMKCpzmMffUJ9aspXoHQ5HpJJ0g40OPea3FX2LGlIrCTr22UGRRsFx+BL0REuMDR19yxEWx1zMB7aWlAJ2Wulg3r0vACnxuoK54zJyEKg/nmZcQkOULNe/BxJ4kVJ+4Wg3+se4hFrsehuLeCurLucKw== 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=lZBY9M8bZvfQg36+j7lKkAt0dJVPeXhFQAytE3NxXeU=; b=Rqx8ZWhvVVxOhz8erSnQNJ9ydkXUBF2TYX7lL2/rlYP/PGkEh1sZR0W8zcqBpKSINUQ9BMitoWv4T3E+6CV1Sm/ZKb8i1K1p6hN0XQdThUYG5d7RfGJj49Ke/uiQx6nx/x1Hoa8ZQwQu0SfPLPIFl1wC6zj02vX1FTu8gzsiMVASoyu5WZrYmW1Y4RNDCSgU66uNGoZPAUi3REC33MlYk+ffG1VaMfNFhVhhs23lYEGrbZOLHQG1nye2O/+h7TDtidY+gjEUEche6iKbrzWq28nh0MDEDxjksVx0Weba65tf4uSQYb9ZEqKvA8KOCfi15Ai0s9j5OuLFjhLlzGDTiQ== 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 DU2PR04MB8903.eurprd04.prod.outlook.com (2603:10a6:10:2e2::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Tue, 7 Nov 2023 10:04:00 +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.6977.017; Tue, 7 Nov 2023 10:04:00 +0000 Message-ID: <4994bf91-8cd8-833b-80c4-9e4890d67840@suse.com> Date: Tue, 7 Nov 2023 11:03:58 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH] binutils: 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> <20231106222959.2707741-4-dmalcolm@redhat.com> From: Jan Beulich In-Reply-To: <20231106222959.2707741-4-dmalcolm@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0265.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e8::8) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8903:EE_ X-MS-Office365-Filtering-Correlation-Id: 68aa8102-b21c-4d9f-6732-08dbdf78dd02 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F7K0yB/YWhKc52OhQVkEV1UaJvmaZix8lzQTmQoLIgJtD8HUVW4M1Qg7tUjwRFNTfY1ShKgIrRjwERT/VZT+FN6UEPbSTF21Y3yVvH3kRdvhlGKkBkWnTh0VuiE8fhcq8fyMWEeNzB7jp64ph+3uQTX0WDNHJmCSdT1/efEq/vBY4WtwASBEIsr9ZEpgjVe0J3xBkgMa+oc5PkP1naEtZo31tG2T3N3qUxXS7UXRT+9o5Nd8TXbiI6378BI0CAHze3D5a8svJUA5r5yQ0CcLp2bdPk+jvYdF81oqVbKbxGlXBuyvh+aq8xJxEeB5iUbCIe5RgDlbKa+LN+DLi7smo0uklv1KoywFF5gKLGS3SzWczc315KT0aTkjFbTGLjfO7Y5YrRFKoLFC293SJb6JbFVWlJqJ/IyEI2fleHBGmv53+s7r8ztMo4FKXv0DcUzL+CUFor2kmxJ67a733qv5QidI3NKJaCTcS+wKe/cIFJpLU/ViWSsYXeM3JlYRltpgX6F3vB3ElVDy0dN0XY16g92LDKOXDYQQVjJlzKjOx8D6DUAi97vkjfmfVNiqU3HiQjiMlkGrK3KUi0wwt8CsHJzlWYQdfj8uEvmGv/WUl9iTAeAPuOdYUDyvGV3PkzvPMc8/IHjdUCvDuz7kF1R3L0lid3HaHkUlGbEK0Co5D/dqV2FYDI3tcVlP7XWtQvXs 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)(366004)(376002)(136003)(39860400002)(396003)(346002)(230922051799003)(230173577357003)(230273577357003)(451199024)(1800799009)(64100799003)(186009)(26005)(2616005)(53546011)(6512007)(83380400001)(41300700001)(8676002)(4326008)(5660300002)(8936002)(6916009)(2906002)(6486002)(478600001)(316002)(54906003)(66946007)(66476007)(66556008)(86362001)(31696002)(38100700002)(36756003)(6506007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NktVbjFIYU1leXY3TE9lZ1UwcmtESVpMMW9QOEFZYk5xSExUTkg0ZHVWcUdU?= =?utf-8?B?a1ZEc3E4RlRJTE5xNmJoQzdWTGY3NjZUc0poZEVaMlFIc1RQV3V2L1FuN3Zu?= =?utf-8?B?d0ttbjRUOVNQMmVnYjJleEtFcmR0c3JKZjROUFpOVFhrMjROYVRFSUE3Q1Yx?= =?utf-8?B?bHRXL0tGTlJXem9XTkxGNyt1cEdMWTNvQmlSdWp5NW9ETW9HZEhZVG1MOFln?= =?utf-8?B?L3hYTDk0UGpVaFlWZmx2bkkyREQwaW53T25jaytpMElEd3hrM09YV1hrVmNZ?= =?utf-8?B?ajVpKzNtanQrZXJmNmxVUHJEMXphNFRuR2piWkxVRmorMWNFVmN2VGM5VDdm?= =?utf-8?B?TDZRNE9iNXlyRlVPQ3VtdkplYnJIZVBZYTNNSENoNzZlRkdXa01LV2xrRGx0?= =?utf-8?B?bHJsT0JiT1RqMyt6cWR2QXhjdnVTcGJmejQ3SWJER25Lb2pWVEZYeko2RXM4?= =?utf-8?B?d201NHlydEN3V3RhbklZYXh1MGRTSmRGY3paL1ZRcGJqZSt6dWh4WkkrMmND?= =?utf-8?B?YjNxNlNrZ1huRnJobXcxdGQ1bEc0UnlIMG5KQ3NoWFZ2THlla1BBTVdDbWww?= =?utf-8?B?WlNmdjRzaHJIbHFoVGFsZzJhQ3MveVZLakkwU3loTFRicDB1bDU3bnFObGc2?= =?utf-8?B?R0l2czVPOVJGYUR4OThHQmdoMlRqb0J3SHRHN041Z2FLS0YvWHZkTjBRMlI4?= =?utf-8?B?a0w1eE9EK1dEa0ZYTzVjMG03Ymg3WkFObHAzV3RtczRHK0xSMlhKeVVlQ1dQ?= =?utf-8?B?Mk4xRjRTU3RjcytibndlMGU0ZE5BYitibGdvQ0dydFZuKzhUUVN3RjRlZXRp?= =?utf-8?B?RWFaV1pPdGhidjhLWm9Dc1ZTMC9jMG84dnFQbk1seXRCYncxM1hya2Rub1J1?= =?utf-8?B?RUg0K1RqcjR1bHkxaTFpMHNZcXMvR2FwTy9xMkRZY1duUzJoZlpxMi9EV09R?= =?utf-8?B?UkxaZjQyLzBkYmJwMUNxRkNJdWNtZ1ZtTFkvVXRST25pVjNqTDF5WWhTNFUz?= =?utf-8?B?amtlM2c3QUwrS0VhaEVwUkV0MWFMZ2k3YXN1NDkwT2lFL3ZvOEoyWUdOZTNu?= =?utf-8?B?dkx2UGJMbDVqb05IWEdQcjN6c1B0UEZMd09WRmNMbXNCRlEvd0VROUdXczBv?= =?utf-8?B?Q2pDeTVWbzBMZzI5TVhsell6ZzFRV01oaGs1b2NTaW1uVVVyVm9uOHBDSjdr?= =?utf-8?B?Y1h2aUFMYTN0UFdZdkJRZTY5Q0FhVFVxUnUwLzlHa1ErcER1Njg0VWlTMlpJ?= =?utf-8?B?cW5ZVWxZajYzWlo3YlBPeHRMWWtxWnFSc0VHTVZUNENSVkV0OHI0elZKNCt0?= =?utf-8?B?UHV2aVdzU3lVcHBSano0ckNyTUdmQjlQdy82TCt1eUU3eVVieWcwZ2dZTlB1?= =?utf-8?B?RmV3K3lIZkp3TGZXMFNlRndWakNCL2pZQjlPREFZcUo0RzRQUTZhVFNJRVU5?= =?utf-8?B?azh0cndwY1A3V3ZFQ296TGVFL0VmSHhWR3c3VC9KVUlXU1Mrek1Pc2diOUEx?= =?utf-8?B?QTA2RE5QR1RGVUU1OGd0MTEvd2U3dUdnazZCK2RaVXRNYUtxVHFzV3AvODk0?= =?utf-8?B?NjVad2VVb0t2TjZBVHE1UHNORFRjd1BmYWJFWWRQK05IbFBwNjVIVU0wK2tM?= =?utf-8?B?WThpMHpDNU9ESXgvY0dGRXZHM202Mktiak1lYmY3K0VDcTU5enloN3gydG1Q?= =?utf-8?B?NFA4RVhycnh4Z3BrYkNyMmFjNGlZYkw4Z1N6REcyWU9OWExhcjdLL245ck1E?= =?utf-8?B?OTJ4dklHYTVrNFdaZXEvRDZUNmtZU0FMQVZDbDJUU0lTb3BWcWppV3F0L1Zj?= =?utf-8?B?Sk5XZTR4bWY3QStobkE3b2htakg2ZGo0a2ExdnhkOXVCOTRGUXQ4RzJZa3la?= =?utf-8?B?UEtpME1EMktmOFN4dVJtNldFNCt0eEhKVFF3MmEzS0pVMXlJM2pWQklVYTZv?= =?utf-8?B?MHJ0WmxVeGcwS1JWaTBISE5hdW42cnpXS1d1aW5oUktZcG10dTQyRzRNRzl0?= =?utf-8?B?bnFMa2JRd3ZBd1IzeXkwWjhRWVhsZjVsaEVQWjk1RTdqOUMySHh3c1B4WnVr?= =?utf-8?B?UHpXTzZBblFrcGxwZnB1d3VnTFZCVlU1NGovUVJCaHV0R1hhRkRsT0dRUmZx?= =?utf-8?Q?n5BjS8F5CzteWkALmGiEV8GqP?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 68aa8102-b21c-4d9f-6732-08dbdf78dd02 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 10:04:00.1490 (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: y7qdDVnThsZkQiEX3wacjQY+JkgJ9zkM5+2cpXX38s7iwuhNmghr3JrkRs0+JRDOMQ8pAJ9QyW3wBunIBrSEBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8903 X-Spam-Status: No, score=-3027.7 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_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 List-Id: On 06.11.2023 23:29, David Malcolm wrote: > Here's a patch for gas in binutils that makes it use libdiagnostics > (with some nasty hardcoded paths to specific places on my hard drive > to make it easier to develop the API). >=20 > For now this hardcodes adding two sinks: a text sink on stderr, and > also a SARIF output to stderr (which happens after all regular output). >=20 > For example, without this patch: >=20 > gas testsuite/gas/all/warn-1.s >=20 > emits: > VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV= VVV > testsuite/gas/all/warn-1.s: Assembler messages: > testsuite/gas/all/warn-1.s:3: Warning: a warning message > testsuite/gas/all/warn-1.s:4: Error: .warning argument must be a string > testsuite/gas/all/warn-1.s:5: Warning: .warning directive invoked in sour= ce file > testsuite/gas/all/warn-1.s:6: Warning: .warning directive invoked in sour= ce file > testsuite/gas/all/warn-1.s:7: Warning: > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^= ^^^ >=20 > whereas with this patch: > LD_LIBRARY_PATH=3D/home/david/coding-3/gcc-newgit-canvas-2023/build/gcc= ./as-new testsuite/gas/all/warn-1.s > emits: >=20 > VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV= VVV > testsuite/gas/all/warn-1.s:3: warning: a warning message > 3 | .warning "a warning message" ;# { dg-warning "Warning: a warni= ng message" } > | > testsuite/gas/all/warn-1.s:4: error: .warning argument must be a string > 4 | .warning a warning message ;# { dg-error "Error: .warning ar= gument must be a string" } > | > testsuite/gas/all/warn-1.s:5: warning: .warning directive invoked in sour= ce file > 5 | .warning ;# { dg-warning "Warning: .warnin= g directive invoked in source file" } > | > testsuite/gas/all/warn-1.s:6: warning: .warning directive invoked in sour= ce file > 6 | .warning ".warning directive invoked in source file" ;# { dg-w= arning "Warning: .warning directive invoked in source file" } > | > testsuite/gas/all/warn-1.s:7: warning: > 7 | .warning "" ;# { dg-warning "Warning: " } > | > {"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/mast= er/Schemata/sarif-schema-2.1.0.json", "version": "2.1.0", "runs": [{"tool":= {"driver": {"rules": []}}, "invocations": [{"executionSuccessful": true, "= toolExecutionNotifications": []}], "originalUriBaseIds": {"PWD": {"uri": "f= ile:///home/david/coding-3/binutils-gdb/gas/"}}, "artifacts": [{"location":= {"uri": "testsuite/gas/all/warn-1.s", "uriBaseId": "PWD"}, "contents": {"t= ext": ";# Test .warning directive.\n;# { dg-do assemble }\n .warning \"a wa= rning message\"\t;# { dg-warning \"Warning: a warning message\" }\n .warnin= g a warning message\t;# { dg-error \"Error: .warning argument must be a str= ing\" }\n .warning\t\t\t;# { dg-warning \"Warning: .warning directive invok= ed in source file\" }\n .warning \".warning directive invoked in source fil= e\"\t;# { dg-warning \"Warning: .warning directive invoked in source file\"= }\n .warning \"\"\t\t\t;# { dg-warning \"Warning: \" }\n"}}], "results": [= {"ruleId": "warning", "level": "warning", "message": {"text": "a warning me= ssage"}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "t= estsuite/gas/all/warn-1.s", "uriBaseId": "PWD"}, "region": {"startLine": 3,= "startColumn": 0, "endColumn": 1}, "contextRegion": {"startLine": 3, "snip= pet": {"text": " .warning \"a warning message\"\t;# { dg-warning \"Warning:= a warning message\" }\n"}}}}], "relatedLocations": [{"physicalLocation": {= "artifactLocation": {"uri": "testsuite/gas/all/warn-1.s", "uriBaseId": "PWD= "}, "region": {"startLine": 4, "startColumn": 0, "endColumn": 1}, "contextR= egion": {"startLine": 4, "snippet": {"text": " .warning a warning message\t= ;# { dg-error \"Error: .warning argument must be a string\" }\n"}}}, "messa= ge": {"text": ".warning argument must be a string"}}, {"physicalLocation": = {"artifactLocation": {"uri": "testsuite/gas/all/warn-1.s", "uriBaseId": "PW= D"}, "region": {"startLine": 5, "startColumn": 0, "endColumn": 1}, "context= Region": {"startLine": 5, "snippet": {"text": " .warning\t\t\t;# { dg-warni= ng \"Warning: .warning directive invoked in source file\" }\n"}}}, "message= ": {"text": ".warning directive invoked in source file"}}, {"physicalLocati= on": {"artifactLocation": {"uri": "testsuite/gas/all/warn-1.s", "uriBaseId"= : "PWD"}, "region": {"startLine": 6, "startColumn": 0, "endColumn": 1}, "co= ntextRegion": {"startLine": 6, "snippet": {"text": " .warning \".warning di= rective invoked in source file\"\t;# { dg-warning \"Warning: .warning direc= tive invoked in source file\" }\n"}}}, "message": {"text": ".warning direct= ive invoked in source file"}}, {"physicalLocation": {"artifactLocation": {"= uri": "testsuite/gas/all/warn-1.s", "uriBaseId": "PWD"}, "region": {"startL= ine": 7, "startColumn": 0, "endColumn": 1}, "contextRegion": {"startLine": = 7, "snippet": {"text": " .warning \"\"\t\t\t;# { dg-warning \"Warning: \" }= \n"}}}, "message": {"text": ""}}]}]}]} > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^= ^^^ >=20 > which I see: > - drops the leading "Assembler messages" warning, > - changes the capitalization of the "Warning" -> "warning" etc > - quotes the pertinent line in the .s file >=20 > All of the locations are just lines; does gas do column numbers at all? > (or ranges?) It currently doesn't, which is primarily related to the scrubbing done before lines are actually processed. I take it that the lack of column information is why there are lines of this form | in the example output above. Them uniformly not carrying any information would make it desirable for them to be suppressed. > @@ -172,16 +203,34 @@ as_tsktsk (const char *format, ...) > static void > as_warn_internal (const char *file, unsigned int line, char *buffer) > { > +#if !USE_LIBDIAGNOSTICS > bool context =3D false; > +#endif > =20 > ++warning_count; > =20 > if (file =3D=3D NULL) > { > file =3D as_where_top (&line); > +#if !USE_LIBDIAGNOSTICS > context =3D true; > +#endif I can't spot how this context information would be replaced. It works for macros only right now, but the hope is to eventually extend it also to .include files. > @@ -199,6 +248,7 @@ as_warn_internal (const char *file, unsigned int line= , char *buffer) > #ifndef NO_LISTING > listing_warning (buffer); > #endif > +#endif /* #else clause of #if USE_LIBDIAGNOSTICS */ This listing integration of course needs to remain irrespective of which way of emitting diagnostics is used. Jan