From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by sourceware.org (Postfix) with ESMTPS id AB6C73856DD9 for ; Fri, 6 May 2022 06:08:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AB6C73856DD9 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01lp2052.outbound.protection.outlook.com [104.47.2.52]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-33-2BONh5puN9SAYyBO-GdpMw-1; Fri, 06 May 2022 08:08:05 +0200 X-MC-Unique: 2BONh5puN9SAYyBO-GdpMw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WR7oQMej9dFs9EJPrxcy9wzNtS455XH4IN8DzRiOlip95RUTB4JPVTd/zet9wv9lwezFAjMEwc1MF7f+/YTrR5qEtXHtfMkPN2ELXJ0+4pHfRBsQpC3SC3Lu02KCgi+mH2iuGxgNkGuQKUlq3iknvLe/L93QArTCcuITLc0nuL/vLB28D7Tu7cx2uv0G83X42LUUEuQzbNHjWcVUAu1M9tMIuqqddzZFCydxnPlxlU4LjN1a4kVm1/jXvJee+hFnBRt3WshpThcBat0IiAWO0Mwhh9g7a9uX+5quaONk56PnMeg9w7xlZZni9kqind3DvNCnc7DkFyH8C1ozx9CVtQ== 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=rGCBAKFQRXmPaTuixy/K+1+nJidbxFu6T6AUZcff40c=; b=Zf4pypABo7Dt+/yfFsyGnuiyi4jsLppfsjGTTm5FgLvGhvUGmr8/kwX2g2HDe3IulcdAzRaVXTmn2mAwpo9+D5Uc9gc55qYjbb3YqVXm8JbOOa+3hta30bq14D4oM3T7Gjg3O/7/3F/3nN8XR2HuGZgfHtGzo3KAW3LCI0aP6EKCkqPgOATmIAHc7A5/46d3NCKZf3QQVx1Z4lpJ5B2UnjFV6EUs8FDxrmbsK9ft8wQ6CHJysdoQVQen0zs4HXUqTbidKe0IfVVEvXtqaBYG4eOCw48zqLkn+lShyqJvIRpKSM3JkkSg21cfDSqN48RLW/3EbVWPrlDKbtg8/YkVyA== 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 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) by PA4PR04MB7871.eurprd04.prod.outlook.com (2603:10a6:102:c2::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.18; Fri, 6 May 2022 06:08:04 +0000 Received: from DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::84b:e9d3:8906:8b9c]) by DU2PR04MB8616.eurprd04.prod.outlook.com ([fe80::84b:e9d3:8906:8b9c%6]) with mapi id 15.20.5227.018; Fri, 6 May 2022 06:08:04 +0000 Message-ID: <84dddbf5-abcc-6e02-d64b-ad641a6ee300@suse.com> Date: Fri, 6 May 2022 08:08:02 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: [PATCH 5/6] gas: avoid bignum related errors when processing .linefile Content-Language: en-US To: Binutils References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AM7PR02CA0024.eurprd02.prod.outlook.com (2603:10a6:20b:100::34) To DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9dc72e3f-cd8a-4a62-1c24-08da2f26c840 X-MS-TrafficTypeDiagnostic: PA4PR04MB7871:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ju6s/u6m99mJiYvElK7VYgYjtBK+D4RZD58AuvApTdsHx6mcrJPmS0BlyHhBp5bkjMLWAsBQLyo9EPxG6ObQ2W0tBIqdA7WswLj9yDXfh6EwnEAoMdAfpMNYa53VVmoE0ONLaV/9S3GYQLRlZz5xrpoV4krwYHQ4sBoBZ13oazteqJTrYGlTnJ0iKz4VZz+Vw2dYWRFfMIVYa2/aXBMxmy1JpFpggxaWMDKvxY2AtFnF2f9VnoLE+K5ibwnrCKHWgArcC7L6YD3ExEm2KViuLY66Ah7Kpqp1bG6SKabBCBcW6s5/s2ypUGhTh4sZSM4++vW5Wf5TtgZxrlULx16b3W7zqSuZ+cGJr+8OXOTokd2x0FU5HMLD5j6idbSHXPT64ZzKrggwGIY/SgsrBCNwrSZPUAuISXQcuGcFqe+6v2o5Foqn4qriX6140GVFUpufrDjsn2M0RuNMJVsoiek29/QajzTlAuxbqdJ91hNCRmD3dj2jO4PxnNoMVM9OeNGo1cM5HxDxyJaBWA9rVy/6yiyxXz90h0AOQndx8mNgXJ3SAxFFzVhMbk4toZuo7V78wPgFsx0HWFVwmQdVUyJlj2uhPdLHoQahO9Q7sadvzroVfLTsbHD2iyCKTLEkZNL68q1ydRCrZSXYzts1u9B0ZdYCX1XGJ290+WFQ3Exi+Knc7W3GJZ2SdQoKx+hnp0opNf95klBOUGGNcyhnja4+zlvy/DajnLes/GFWTD4sNZ3TqcLaFTwvquWyJqqc4KI5n2XfAscdQ9lTG+28xxHKZA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR04MB8616.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(508600001)(31686004)(6506007)(8936002)(2906002)(38100700002)(316002)(6486002)(186003)(83380400001)(2616005)(86362001)(6512007)(36756003)(5660300002)(66946007)(66556008)(8676002)(26005)(31696002)(66476007)(6916009)(142923001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SlVScUhOdlNwZnlUSnBjaGZreERsWi9qVXNTbDNaSTAyYkE2L0pUKy9KZHp4?= =?utf-8?B?ZGdnWjBUaUJMaWI0ZlZwVi9vMFRROFhYRFBBVURreVNqeHpEWTZEbnU0SDhr?= =?utf-8?B?cU1qMW1MZkxrOUI3Uk1ZcHIyekt0c2poZGlkdDk2aG9vN1huYTVWSTdHSWFL?= =?utf-8?B?L3ZYSjJ5RzEwclFQQXZtOVdmcGNvdmRXajU2cXFrMGYrMFpvNVhDRzFodnV2?= =?utf-8?B?ZlFldUV3aXhhZ08vVXhzMVRvWW1QTHlSbXFZenVNa014T1Z5V25vbU1CL2JN?= =?utf-8?B?eTFWRmJPakxwM0g0N3F4ZTVPRmJyWEduLzRLWFhXRXBDR2VwajNiaU1ycENs?= =?utf-8?B?TWRualR5cWhCb1ZVaGM2blVUeEFJUGRLMEdYWnI2aDYyYWpULzJVd0dNZ0V1?= =?utf-8?B?RHQ0Y1BWVElXampaVGlWekY3Z0N2N0lDUlhkM2pIWmJITVpNcDV0ZzhBTWV3?= =?utf-8?B?YnNOWFBvemliL09ad2NEd1N3Uk1kSFJYWGgrSEhiZFNuWmdxU0UvUjJBUkpW?= =?utf-8?B?RXB5eFZTdE9PVlh4d0lzVjN0cm1uZ0FRUjRaUmNaUDBIc0NhRjR1TUFrWi9v?= =?utf-8?B?TWtvTHBFcytQZEhhQnZqUnBUWnlXdEk4TGJxY2wvUS9seE14Tm9jRlA0ZlFM?= =?utf-8?B?N3lVT01OU1hhbkxYTEljeUpnbEFIRmEvN2Vjb29lSGxmSGpIT0ZNZncrbUUr?= =?utf-8?B?WXB0cHFhS2dsQ01URWJHNk1ESjgwYmoyUzg3aFU0QlVzZXNLekg2SXpTYU9p?= =?utf-8?B?NitQU1pwZGMrTlFENnh0dDVtcGdMNUtPdWN5N2pYcGtBZ3lnRFliT1RlT3VH?= =?utf-8?B?eE9pa0NoT0NaaWF0N3U3d2NENXBQRDY1VE1kWkxqbzluRXZJVWtxbkpOZ0RS?= =?utf-8?B?ZFhpU2tUKytpVGh5Nm5lMW1YRkR3d0M2dy9IN2ltTjZwbklUdEJkTE1oRnR5?= =?utf-8?B?clBGRVZqM1IzWlYrL2lBS1lRK1hudzI4OTUwcnJQLzkwdGovUXdXQXFBQm5R?= =?utf-8?B?SXpCaDFyeldxMGE4QW0zYUhvQWxLelRNYUc2WnIxMlFlRmlOdW9BR016SElH?= =?utf-8?B?amE5TzIxWW84bDQybWE3eTJsSDdCM0Zrei9JRzc0bXlSQnBGTktJUWJLZWF1?= =?utf-8?B?aGI0N0d4K21FMDMvYmlwdEo1NTFhZHlySXNQRmEzbzI0MVZtSmd2SzlYNm1H?= =?utf-8?B?WWRnSGZOZ0syUUY0YjR1ODZndW8xQW9iYUkrVFRsTGk1NTRhSmZ1anJIaU5t?= =?utf-8?B?ekJJUUlKMEtkU01Dcktqb0dTRTkxNVJ3VEswQytxVXhENDgwRFI3eC9DcXpQ?= =?utf-8?B?cDJjUFlmZVhQOW0vTlh0QVVOMzl6ZHQ4NDBVTThPcEZ6VVVvZVpKeHIwSWdH?= =?utf-8?B?clNuWERGaUdDN0xseXh0c2pjWWoxRzlNT3IxK0pQanJsai9US2FGK3lVWEhX?= =?utf-8?B?UGxhSGxLR3dMSVlKcjcvZ1V1dTg4Q2ZKc0E2Y3dVeUdFVStlNVp3Y1Q0cnNZ?= =?utf-8?B?bjMvOVZLYlgvSExtanlBaGRrTkRqbEhxYnBmUGE1Q1JUTjVvYlBuN05iU1Qv?= =?utf-8?B?cGtDaG5ScGNPeXBrNTJhV0J0V2tLZFhwSVlEOTh3VG9hM1l5anE3a0dsZG14?= =?utf-8?B?dmhKMGlhTXZEOWgvQjZPV3oxT3hzN1FHUndwd0pZdmtHSVZOd2hZbmI4UlJn?= =?utf-8?B?dkd4SzNHTUZKU3ZWWWFveFV4UWdVK21CbTZCdUtSZXFQa3k0MUNBOHgwUFFj?= =?utf-8?B?eTZjTjlTVGdWYy9MVXBqblJGUXFIRW1BUVIvVkVVSklqMzBZTWVIYVM5UWV0?= =?utf-8?B?TUxjcWVQK0s5Y0dhY0JPbCtNUjhiWjFmZEl5dTdJQTd3aERKNU11ZE5DQlly?= =?utf-8?B?b2hadjZobEtrS0NSVXdnRkJhelZIUUM1MVY0VEVNVjRRY3pEdkNnMENTK2Jz?= =?utf-8?B?S0daeUxlOUN1LzVwWUVwdjQwWkF4SUxLS3JHb0JtRlZtUi9mVkNmVmlSVExo?= =?utf-8?B?Z3c2ZXJKVlU2YldDbFFHOWZzU2NPK3FMQnV5VXRLbjMzSmZEUWo2UmhEYW9O?= =?utf-8?B?akF1bjZNck9QZEFML0ZCaFJVUXRLMHpBTExiUWp5aWtoUkJXVWhySWRQekRl?= =?utf-8?B?NWw3aXJGR3hHTlJVMlp0V0prenlBYTFGdGtqbC83NHBXM1Z2UWN3cGVhUlps?= =?utf-8?B?M0dkQW53cURXVlhPOFhlS2ZMem1BKzgrL2NGY0hXTWpuWHB6RFBqajFSVGdo?= =?utf-8?B?RkEzTTJ6bndiTGtKNGdqTHpVckFFRDhwV0VzdUlGQ05MdzFnWTZmdnF1ZjRk?= =?utf-8?B?MW1KVW1qOWpsVzU2eXQ5TVdNZVFmU1NUc1ROeitJdjJENVpVL29Rdz09?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9dc72e3f-cd8a-4a62-1c24-08da2f26c840 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8616.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 May 2022 06:08:04.2347 (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: FohtIpMlkLkxD0UdonejlJbQ+JfX3DJjnu1+a0MGUKqpmiUC6LZInZPT55/FCn0JxHEsEDYEm9JrXmJEmacE3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7871 X-Spam-Status: No, score=-3031.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 May 2022 06:08:09 -0000 Any construct which to the scrubber looks like a C preprocessor line/file "directive" is converted to .linefile, but the amount of checking the scrubber does is minimal (albeit it does let through only decimal digits for the line part of the contruct). Since the scrubber conversion is further tied to # being a line comment character, anything which upon closer inspection turns out not to be a line/file "directive" is supposed to be treated as a comment, i.e. ignored. Therefore we cannot use get_absolute_expression(), as this may raise errors. Open- code the function instead, treating everything not resulting in O_constant as a comment as well. Furthermore also bounds-check the parsed value. This bounds check tries to avoid implementation defined behavior (which may be the raising of an implementation defined signal), but for now makes the assumption that int has less than 64 bits. The way bfd_signed_vma (which is what offsetT aliases) is defined in bfd.h for the BFD64 case I cannot really see a clean way of avoiding this assumption. Omitting the #ifdef, otoh, would risk "condition is always false" warnings by compilers. Convert get_linefile_number() to return bool at this occasion as well. --- a/gas/read.c +++ b/gas/read.c @@ -2037,17 +2037,28 @@ s_file (int ignore ATTRIBUTE_UNUSED) } } -static int +static bool get_linefile_number (int *flag) { + expressionS exp; + SKIP_WHITESPACE (); if (*input_line_pointer < '0' || *input_line_pointer > '9') - return 0; + return false; - *flag = get_absolute_expression (); + expression_and_evaluate (&exp); + if (exp.X_op != O_constant) + return false; - return 1; +#if defined (BFD64) || LONG_MAX > INT_MAX + if (exp.X_add_number < INT_MIN || exp.X_add_number > INT_MAX) + return false; +#endif + + *flag = exp.X_add_number; + + return true; } /* Handle the .linefile pseudo-op. This is automatically generated by --- a/gas/testsuite/gas/all/gas.exp +++ b/gas/testsuite/gas/all/gas.exp @@ -465,6 +465,8 @@ run_dump_test quoted-sym-names # "# " into .linefile (PR gas/29120). setup_xfail "tic30-*-*" run_list_test cond-2 "-al" +setup_xfail "tic30-*-*" +run_list_test linefile "" run_list_test macro "-alm" --- /dev/null +++ b/gas/testsuite/gas/all/linefile.l @@ -0,0 +1,5 @@ +# This should match the output of gas linefile.s. +.*linefile\.s: Assembler messages: +.*linefile\.s:2: Warning: line 2 +.*linefile\.s:5: Warning: line 5 +#pass --- /dev/null +++ b/gas/testsuite/gas/all/linefile.s @@ -0,0 +1,5 @@ +# 12345678900 "LineFile.s" + .warning "line 2" + +# 123456789123456789123456789 "LINEfile.s" + .warning "line 5"