From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2077.outbound.protection.outlook.com [40.107.104.77]) by sourceware.org (Postfix) with ESMTPS id C0DF53857400 for ; Wed, 8 Mar 2023 16:07:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C0DF53857400 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=c8HJYSucB0AbRmz2tvf5vdH/Tgzj5AZYe4ZetD0u6jlacqbPM8QpM8EbZJHOukPj2UaT7CUdudKYeQnr/aCYBccpnz8RHXCTw8v3qNaBB3d2xR5IWHyahHPlrHEuVcRNEOZheAOJGN7TSvAOw1ox7wVadvf33v09ytl2I324SnPXXlFxk/l+x/Ih7IeCqOchoB6Nj4qh0aJ4OOw4tZAE6Eam5JkoXlCIyab9uWVJhL08h8fjjXGHGzXj8qxvCxRatrXRreFeq0jSkWm1RfpiALqkiwp1eSgNDgOoUCgQgvLt4t/D8h1q1Vwb/o8fG6UPwKSz1Jv0OAjejxV88w3+9w== 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=hXjhU7wZizy4da8GhWyJguaOjkehMEMEO97BouVEwbM=; b=mvWxt1rCSqfcCbszVIpLK+Qx4Sp7BlX/dEwEczHq89efRPcOH5iMrK1otrZMtxSHAue0pmpAF/Q24FZli/GaXQ3OA7L/lsOfkMXex7RNvHYMwlSgJrHYhoBiiF9vrqWmUhdc/unSvD3ltVdgvAlDgkTkxMwqN9DfXx4SlqsF2nzfL+rWrbMKHKWYseQwKcYuVQ+f57ASg8K/GxCLf5mwX5UzuOK56tRNJ0RFqvKI69JqhhDuIjMOOoubvXauZLAG2ploi13B6DCyjpHXmtxe6ZXbK6aqG33G0wNCPhFc9nDxE5HsP50fDKySB6ub4m3oVTYwWwrf73aDdRLyYxHq2g== 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=hXjhU7wZizy4da8GhWyJguaOjkehMEMEO97BouVEwbM=; b=IgvV4kGW1g3eR/ty+2ww5GopjNpbKivbB9uEN694pIHFVXfO4LvpRaLfvTB68B6eDZJ01i/vpE/hfC/kPP4hEChvoAbwGetNL6/sAra5Casb21OnHqwCbEjk3pB44k199RGtpE/Q625Tw0ZfdefoydVk/y5MhfGuH7ORhV3X1vTAmB+XRLEMUeLVxbvtvOFULnJcvg8tbef5N4i8sWqyfpDGTvip+W4S+vkMJS1wSIvyOvzrKPTnV0loW4B8X14y35kr5iBh4m/MP2ADRgA2gqxiYgvdIvYdAwuvsKCugI+YcIopRZYCXvQ4K2nUbRj61R8C/NCD/kPv6cZrCimD8w== 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 DU2PR04MB8630.eurprd04.prod.outlook.com (2603:10a6:10:2dd::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Wed, 8 Mar 2023 16:07:37 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023 16:07:37 +0000 Message-ID: Date: Wed, 8 Mar 2023 17:07:35 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH 1/4] gas: drop function pointer parameter from macro_init() 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: FR2P281CA0062.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:93::20) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8630:EE_ X-MS-Office365-Filtering-Correlation-Id: 5cf6e301-53d2-43e1-7222-08db1fef3c2a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SbeQ78XXmu8T5hJIsIW9EMv9r+X+Cz2XsVjrUpx+bjNfhKvMZH4hKGvO9m3QfEPVy7XD7BMEpChPd+jOnh1OiaZ0i1EgmeLa/gIRLH54VCHIYjUp2tXCO4CbO3rRrsWc/MqgVh8NWqvn8GMBhsj0bKpPwav6xz2JOG3IBpPzKVBOdOxM+pRkDMBqk+2FTKbM0kDdKbIK/T4e6LnXy+g4w4EUXrgyIkD3zbhje7XYV8MJQ1fqsoQs02lEoJcCwdCc2XyPpxC+j6Ho1xkLV/7HvWixV7A09bKL7Ya1ukE2gpv6niZ658FmPiIqUOm/czKKNVG+3Cc6TdVZYqhowCHvzo4yp3qA0IJ9Idw1NcHZB16LuZNJ6J3bJV2X/PteX/RLiXX/rG2t+T6u7HQEVI8/bOvtMlwoAlFqc08FMDtRllO03Ld8xItoH6aM3sP4YF/ZPkL98CINNqSlVdyF2b28K5VEn+cRgy93EfobdQu4YZwQHc6vwFUdJsBCeI/cwnjbsgQkTqO/GJ6MZaLhLS2Mb/RIzIxyOxiut663ASOz2+rSJ3xjo5YOeA1/GIC1OPMgPmTDNW2LgVK6Eu76Q7EdmDwgGUESRl7e3i+dC7auWBJKzkmtYRZnjWoqUPgDiIHse0VNDn2I67BLUsgqMn9E30OjakkcDXRaFB+N1/69VBPgBIKyPNZ5CfSPFZdgAj1/NkzcCOuEnVvL5bZXMD8ydBoTUtzzBoBsN339N+9rv68= 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199018)(41300700001)(86362001)(83380400001)(36756003)(8676002)(6916009)(316002)(66556008)(478600001)(66946007)(31696002)(66476007)(6486002)(8936002)(5660300002)(186003)(26005)(2906002)(38100700002)(31686004)(6506007)(6512007)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ckJzVC9EejkxNVlRY1hpRTg3VlhZazN0NzUwWWhjYnNrZzJTVUtGNmk4OWZ4?= =?utf-8?B?TjYyem1MNzlJeUZVTlpyMjdpUUZ0Y3ZXWUgvQ0NvN051dmRsdjJ6OWpQU0Uz?= =?utf-8?B?L3p2Rk5UeVhUVzRjVnpSVGlNTXBaTEFkSFM0Si9HNzMzeUk3eHpvZzhoT2hh?= =?utf-8?B?cUJabzJkbStkTXBra3pFd3JzcWVRRkhjYnlVVzZxYndMVkxyRUtuMEVad016?= =?utf-8?B?aGEwMTFkdUJKakY5RHRDcFNKb1Q2U29LWjhINHJVY3hGZDVuaDN3L2NFUW5h?= =?utf-8?B?ei9UYVdVaU5zK2VrZkRTU1krWklGc0lnSXZmWW9nbDRKNTJZZEtQN0hwZSsr?= =?utf-8?B?NjN0TUw4MGZCVE9URUNxYkVMVDQ3Qkpvei9RMHoxT3MzckhiS3BzZk8xc0VS?= =?utf-8?B?Uk02YTQydkJDNkd5T0Y3K3ErUlNjYy9YQ3RWV2EvYW9maWxuZlp1eWxYeEZT?= =?utf-8?B?TjBxN2pNUjJySHphS1FMTGdMK1RzUUM0NGFsdzNZTGlLaXZtb1Z1Ymh1YklV?= =?utf-8?B?YlVMOU9qTDBWekYvajVRL01WSzBiNXJjQXVtZ1FnWURDQWJsNkJrVVBvWThK?= =?utf-8?B?WS9FaVFuRE5qSUs1NDBvekEzTDlSZVBxRFRSU1VYTTNaRDJtaS9NV3lqVUU1?= =?utf-8?B?VjBYa1NmaEtsNlc1cWtXbXBGK3RyeUlPTldQWTE1eEE2NlZVcXgrRGZkRk9N?= =?utf-8?B?aGVkdlNyWXJzeWdPNUt1cStuQXp6RC9ZZEk1ZHVuUGJOeFBnZ0F1TUlOcEZT?= =?utf-8?B?K28zaWtRb0xrSGtUa2drKy93cGE3eWMyZ1RtUldKWXJkT0lzWDROT29tYjYz?= =?utf-8?B?Z0hieXVDazJYUW5WSkpBTDhKRWRYSDZkQTIzYUZ6RW95a0xTTHErZ3ZFSUF6?= =?utf-8?B?MVdWU1dtT2NDREZKM3Rjb0ZkeGtyNTFMNlJjVGRjV3JPakhBY3c4NXVtaXBY?= =?utf-8?B?bGIrQUNsUWd6cG1VK3c5LzVYRXpMZ01jVlpJZjhTSjQrQ0lnL21qWEJzd2lu?= =?utf-8?B?cHlUd2JHSFdJZXNkZ3o3K3ROYmQ4YXpmRVBVV21SOW84aGduSXdnOUFYM29S?= =?utf-8?B?cGdaVXlqUTAyNFRTb2dqUmpGekFYQ0JCZHNhbC9UdVZzMDVaWi9XVjVIaHhj?= =?utf-8?B?OVlpTDgvb3VjZkZXclI0K2d2ai9HUzdsWlZjR3NmcUlUODFUdjRKUDRlbFVh?= =?utf-8?B?S1ljQnRkMnAzWm1BekFtYXZvS0szWU9TU3pMUi9FZC8xa1htR1Q4em00eWVN?= =?utf-8?B?b2FqRWE5WGNWYUVibGNVT3hpM1hVTElUa05oUHVsdUwvbkFuMHc1ZWljeDVy?= =?utf-8?B?dXJ3cEhIWkJqbDVJWVp0bFFXMUZCbWR1d2dlRUtMeHJZTVpuTGYxeEt3WU5U?= =?utf-8?B?bGlPM3c3anJ5aUdTbUdWbFI4RkdmcGdQQ0h5YmpoRzlkYWU0TVA1dVR2Vnho?= =?utf-8?B?a1JYWVhKQnFXc3d2Nk55amN3SGtzSDg1bTB1QmY4NDVQL1NESVdSQ2xTZWRs?= =?utf-8?B?bVgyRHQ5MlpGV1p5ay91MFoyL0VXZXpOZEMzWTNpZTVDWWszQUJHRER2dXhu?= =?utf-8?B?V0RUVFZtTHpzQ1EvV0RkaitRc2ZFK3l1Y2lkM1d5MEl0b1pEandBTlJaOWJ3?= =?utf-8?B?dXJId1NtRGVzZDlvTmZCSUNPYUF1Q2xLQVoxUjQ1bDI5L1lnWG1VK2VGN0F4?= =?utf-8?B?ZityZng3VzdzalNkRjV3SzBPOUppQ2NaTGZpVHlNb25Ga0NuTHdXNk1MaUJH?= =?utf-8?B?aS9oSlEzVnBETk5rQW5sTEdFZm54dW5UandxMFB0ZkRWYnhlanpMeDZwZmJl?= =?utf-8?B?ZUE3RzZmQ0pZRkpvWjBPT3dqRUZWV21LZWxKSnp0b2ZIR0hOWnRQNGhvQ0Fx?= =?utf-8?B?eFlERXpVYmJoZURMRzdDbEM3MU1zL0pCZTd4cXA5cWt0R1J0ZDVEQ21lMHNK?= =?utf-8?B?ZmpELys3N3dzT25yNmxvSUxvckN1Q3lMR0JtaWFBVUZ2NFV1VkRyNVpwbGlv?= =?utf-8?B?eEROOG1KRm95djVXR1p2em1KZlQ3bCswcXJaRnZndDFpMUZhVXFWQzZHRHJv?= =?utf-8?B?QXNuNW1uQUZUWkdGNllIQkxFU2RuS29mTHRrdkkzSDRMZ2tBR2pQQlRCaTdB?= =?utf-8?Q?Z3+is9U7MhJT/Jdz92Or+J3U+?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5cf6e301-53d2-43e1-7222-08db1fef3c2a X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 16:07:37.3085 (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: 3UxIyAbdN0VmwqpXJT8VRK9VVK0Vyaz77HmJ9wOC7PZaFImM/3pw54g5zxcAAxXgoViE2ciig/uWGGFJs3WIrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8630 X-Spam-Status: No, score=-3028.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_NONE,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: With the removal of gasp (about 20 years ago) the need for this kind- of-hook has disappeared. Go a step beyond merely moving the to be called function: Inline its contents right at the sole call site. --- a/gas/as.c +++ b/gas/as.c @@ -1167,28 +1167,6 @@ dump_statistics (void) obj_print_statistics (stderr); #endif } - -/* The interface between the macro code and gas expression handling. */ - -static size_t -macro_expr (const char *emsg, size_t idx, sb *in, offsetT *val) -{ - expressionS ex; - - sb_terminate (in); - - temp_ilp (in->ptr + idx); - expression_and_evaluate (&ex); - idx = input_line_pointer - in->ptr; - restore_ilp (); - - if (ex.X_op != O_constant) - as_bad ("%s", emsg); - - *val = ex.X_add_number; - - return idx; -} /* Here to attempt 1 pass over each input file. We scan argv[*] looking for filenames or exactly "" which is @@ -1333,7 +1311,7 @@ gas_init (void) #ifdef TC_I960 macro_strip_at = flag_mri; #endif - macro_init (flag_macro_alternate, flag_mri, macro_strip_at, macro_expr); + macro_init (flag_macro_alternate, flag_mri, macro_strip_at); dwarf2_init (); --- a/gas/macro.c +++ b/gas/macro.c @@ -62,10 +62,6 @@ static int macro_mri; static int macro_strip_at; -/* Function to use to parse an expression. */ - -static size_t (*macro_expr) (const char *, size_t, sb *, offsetT *); - /* Number of macro expansions that have been done. */ static int macro_number; @@ -82,8 +78,7 @@ macro_del_f (void *ent) /* Initialize macro processing. */ void -macro_init (int alternate, int mri, int strip_at, - size_t (*exp) (const char *, size_t, sb *, offsetT *)) +macro_init (int alternate, int mri, int strip_at) { macro_hash = htab_create_alloc (16, hash_string_tuple, eq_string_tuple, macro_del_f, notes_calloc, NULL); @@ -91,7 +86,6 @@ macro_init (int alternate, int mri, int macro_alternate = alternate; macro_mri = mri; macro_strip_at = strip_at; - macro_expr = exp; } void @@ -412,16 +406,21 @@ get_any_string (size_t idx, sb *in, sb * } else if (in->ptr[idx] == '%' && macro_alternate) { - offsetT val; + /* Turn the following expression into a string. */ + expressionS ex; char buf[64]; - /* Turns the next expression into a string. */ - /* xgettext: no-c-format */ - idx = (*macro_expr) (_("% operator needs absolute expression"), - idx + 1, - in, - &val); - sprintf (buf, "%" PRId64, (int64_t) val); + sb_terminate (in); + + temp_ilp (in->ptr + idx + 1); + expression_and_evaluate (&ex); + idx = input_line_pointer - in->ptr; + restore_ilp (); + + if (ex.X_op != O_constant) + as_bad (_("%% operator needs absolute expression")); + + sprintf (buf, "%" PRId64, (int64_t) ex.X_add_number); sb_add_string (out, buf); } else if (in->ptr[idx] == '"' --- a/gas/macro.h +++ b/gas/macro.h @@ -83,8 +83,7 @@ extern htab_t macro_hash; extern int buffer_and_nest (const char *, const char *, sb *, size_t (*) (sb *)); -extern void macro_init (int, int, int, - size_t (*) (const char *, size_t, sb *, offsetT *)); +extern void macro_init (int, int, int); extern void macro_end (void); extern void macro_set_alternate (int); extern void macro_mri_mode (int);