From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2064.outbound.protection.outlook.com [40.107.247.64]) by sourceware.org (Postfix) with ESMTPS id 85B5D3850408 for ; Wed, 8 Mar 2023 16:09:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 85B5D3850408 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=JHtvYN+Yy7NOFXAKVpu3W8/nCIlAInPCwwaW/Q/J7cG2VlUPyiGj7WDECUSCDAa10h394tFKWWDtLknSTGgo+I4j4BKbZX2xXSdmOpwat2w8Es+Ca4d1mn1+cPb5w99OBuETgoThXQXwZRgNg9uBSabx3q9xlZBsKlbrTJHzsEfO59/dnLiIwM1Cml3nwyWs1nRAVAv64olyPpyis9V/ML+u9wx9W7nLKqUPXVoxEjyIVwPV237vTexk3Ek+YRPpAukSNJIHwcfnVQOTv0LZ61va5htHzUwWdNJ4h6zw1WAm2nFM4UCyHvfICteaoHHGcL5um8scPeRkga6uv339jw== 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=BjMJyWhdZaRkKypqGE6YZvhf+8PJBL9elLwgm3Zy1bM=; b=mSkbmdVV0fX80SSfmm1Z+6lSRgphzilFKCWx+rEobDYesv+7dAg8aecLpqjBdHriZzNZPSCkuoW441MOGSzPZxEL//XMui2UfI/BozrLewUXG1WHd3OwXeGQf4lq/6SCnqNwyjKJMj3pVBTq5p3mTCy4pb0mn9xBJtWaIGHDmdpvPd/xy0bRCq541hVsoQ3hE3oJSK5KmelP14T/3rtJ7gsL5daBNR+CPZP2QaDB8ncyP8ovxddbOkfHk9L3FaCJAW0xCoNDfL6XCqFxT1KjzEDQax8Og4lLOS+KqSBtRuVC1uNydpS6bjXx6Qp31byz8DznuBKGQRzxuTuOfrgZYw== 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=BjMJyWhdZaRkKypqGE6YZvhf+8PJBL9elLwgm3Zy1bM=; b=Ucav11x4Kzg6HlcDYgZdxip2Bly/IKVXnyvb39BWIci3MbiZP9MBCuENAPWy/78ApxMvj4Z7cg/5//T3KRTg504WJIszHHn41nFhABwpFPFW06GcyycYhYCBP/Alvqbq26w66W2MUHGJJ4MrX0iMhL2FrGd1R46QfGEQqYlIj9n7l+FWRRZC6IjruLZoNnQdsS1JVpdvj7/OUQt4gBhvfoQT92OqnM++EWLAtkNr0eoP0vwQIXbibfx1xWXPVyRNDrfHKJDzCkmL1St7GXcV50qVxMMrg7a4PMTJV9RYFhNHcLPzrx2YrR4DS6xUuMjtWrskRy75BnAQKXuNGMyqrQ== 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 AS8PR04MB9079.eurprd04.prod.outlook.com (2603:10a6:20b:446::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Wed, 8 Mar 2023 16:09:24 +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:09:24 +0000 Message-ID: <06908d40-8d11-9540-6932-efb4f54dba0f@suse.com> Date: Wed, 8 Mar 2023 17:09:22 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: [PATCH 4/4] gas: expose flag_macro_alternate globally 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: FR2P281CA0131.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9e::14) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9079:EE_ X-MS-Office365-Filtering-Correlation-Id: 433e2476-5c0e-4d1b-529c-08db1fef7bf0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q0l55l58lEUeDFpueUOmVhxsHEv6YSCVBTp8yOPwrRZM+WSGiSbUucI9N5JyuR10mv/3XVI2rex1DsWAoRut2e7/MHkj2IP0OjNCWUTdgUmiyiVTa7QxH9gbRGaktNk7OI47QwZ8XoBzeMA7OikHWWBduGRKbN4zQBWF4JJyTIcujgx37KzNG6awyUKT1sPDz6Bq+kXyU+5cZzBaD2r9ShSAEdn2XiZqYgpNs0eORTfNZ5pm3q/edadXwIs+B7QAMRdKRnIrl1VwjgGoS7fVwElArAF41f8Idf6w0+fMd6Hko2gVgekiBweNukHfTwkf+49xGBMOSnfTQUuCbdiNjY3O52LMSf7BqW30J+Jeajth9tWtkcOgyuknLpdFjpus3L8Y2VE2jP7JVFvqjbAU15W9K+0gniNLC8z55ua1L/v3bjDaTp1l3tajXkyc0JcIXnC3yxZdA+Eml7oaTDjIICLXPiuPnu5XLzkzs+iyzmajE2VLI/aPdnZvyUTbKc0T7RdFWKFpaXFAY8A+S4FtlcY8sPSQU0QQufB1z5o5jl0AWGyCvF1Usi6SGIQgaQShB+1KhHxEGhwwNrs+tV6hWoycUyYwWerGsZf14JFxJ/1a94LzUgvBQLGCrWk4iPk3Vqf9afSKWjkfWSIV7C+Y8CpFuTaeF1VJjjxlToSOXhvCBD0qgFT2dv7wMcXzLtSfWVX4uW6ANemlatx47irXLSzA4XjkF6mEeP7bbUzc+wQ= 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)(376002)(136003)(346002)(366004)(39860400002)(396003)(451199018)(2906002)(186003)(38100700002)(5660300002)(6916009)(8676002)(66946007)(41300700001)(66476007)(8936002)(6512007)(26005)(2616005)(478600001)(66556008)(83380400001)(316002)(31696002)(86362001)(36756003)(31686004)(6486002)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dENFVmo5V0hyckN2S252YzYxaFZadFBwckpKRUlRU2J3S2dDdmd6ZWxOTkVE?= =?utf-8?B?Q3BZMEs0RFJZeVhlWERFVlRWRHhKcWJpdDBwbHd5R0trNkp6UzQ2V2xsVTc2?= =?utf-8?B?dzBnTG1rNUUwMms0c0h0SERZY0Rwc0VjbXBQTG51Q1JmUjlaeVpRcVZObVAz?= =?utf-8?B?TzkrNkxJSjZHdytGeDI2T1U2UERRMlJlR3IrNTcraVNNSmswdEl1QU03TnhF?= =?utf-8?B?bE1aQkN3NnRLaXZ5bnFCK3ZMaW9QM2dOUU9GejNSLzZ6dERZbU8rZHBEdCtN?= =?utf-8?B?ZHpGWWgyTFZvWm5obHEyS1V6NFJVb2VabkRNRFJmN0hFbXVhQURpWWlFcnVu?= =?utf-8?B?T0YxbzJhakZvbzZhR1dvSjd4dWk0ekoxTm5UOXBKcVFCYkhpS0JDZDNjOG9C?= =?utf-8?B?TGlYSDFubWRGbnNUYVlmMjNXbG1uR01GUnJRaHBEVXV6Y3dOOFdzUWR5YUFv?= =?utf-8?B?cGZhQ0NqdVVYaDhjZ1AzNm4wWTVJY1FMMUdBNHdPVTZmR0NqS2Npclg3cGJV?= =?utf-8?B?OFJxUzd5WEhSaDVnejVPeGIySlJMWFVFSWZxbmdtR3QyT3JiVFhvaUpmM0lE?= =?utf-8?B?LzQ2VkFRSnpkR0ZGNVJod3F0N24rRU1rVUpGVFhqZEJzQ0hUOFZlcnA4eDBk?= =?utf-8?B?ZFhPcTkvWXBVQy9POXNGZ09VZDdQdUZOYllQYnA1cm96STNoa3JPZmVqYXNT?= =?utf-8?B?d3R0d0NtOUw3ZGZDMk9zWlIyMFJTZnFFUDh2YnlxRjgvcnVoWktYdDdSUkkv?= =?utf-8?B?ZzNOTzlKWFVwLzVnVldGZzVlWkJYTFdaNUxnaGR0NHNWYm1uMDcza1VUQmZk?= =?utf-8?B?T2VuRUcxVVlPZnhlQ2dvcU9WSytYS3NVcEpNQ25UZ2R3UVM1VG0veGFMS3BK?= =?utf-8?B?NU9meDNncXowTUVZNlVyNnpnbEYyOEY2MlRBcHAwWTYxWWtTTUdzS0VERVZ3?= =?utf-8?B?cHhHNmdaRDNMak4vWUpsYzlUcERvZlFiMHZ5Q0RmMm1RNXNBMytoLzJvMXU0?= =?utf-8?B?RCtkUU1xTXg1Uy9NNHhpWXZtZXJ1ZzRJdkFWamJLUGRwb3BTVTZqNWdWVDRK?= =?utf-8?B?Vlk3NFpvZXdYZTNRRnlSM0xXWDJ4STJPcDlpS0ZSQW1aTFVuQWd2a2ZRS1Fw?= =?utf-8?B?VE5HalI0bnQ2VjRTai9UUkJIdURSTlhiVk5kam9TRGxna3hsMlgxNDFpU1Fm?= =?utf-8?B?eStHeHdpTThuVlZxUExYSzMvazUvdmltMkxZUlRBa2xQV2F0S2FPSUFOZlJp?= =?utf-8?B?WWEwd3Awc1FSaUl2MnB6Q25QNWMrUzRtMitNVzltRkYxVFBYcWxBM0ZYWXFB?= =?utf-8?B?NjRuZDBRdHBQSnJkN2VYWTNpd1hacVpLWm5TZEIwODVNckhCaDNmM1E5UXNo?= =?utf-8?B?bTMyTHlBUEtnSk5JQXNQSFFsRzc0S0FHRlBHK3VKZHRBaUtoTzhhQytoUURV?= =?utf-8?B?TlVWTkZlSTRlM0pLc3llc1k2NHpCTHk5VGQwQktkQ3R5RHp5NklNTnRnTDls?= =?utf-8?B?dVoybXB5THhyb3ozY0p3Q3ptWVRSdTNLNG1qMElRRTV0R3pveFZObVEzcXdq?= =?utf-8?B?QTI5TUtuZHJsUlJHbFBFSCtVeWx3TGlMVGl1NGJNVkE5ZHZIbXU5bWZJK1hI?= =?utf-8?B?Vmo2c3BjaFNyMzZITWs3Ynp1MU9mampSbUZiRGFPZlZQVjdnRG5hZzBiREF3?= =?utf-8?B?Q2hVVkpEaGl2NXV1TG9JOTJaM0U5dVpVVC9OVGtlWTc5R00yM2RQeEJxdVJm?= =?utf-8?B?V291elF1a3NxcW84dzFDb21EMVpyemYxTEI3OXJ5QkFmS2RlUmpxMnpVSHN2?= =?utf-8?B?bHV4bCs5UjkvVCtLdUk2Q0R6Qms3dWdkZWdSY3c2SkFXMW5OcnZXMStiSGZp?= =?utf-8?B?WnpZejh2dS84WXV6eGc1azJKT0FiMFFGLytrbjFKMVZhVWMxeDFDZFdLQzZW?= =?utf-8?B?U3RXcW5IRm1JdkR6U1V3eUlBUEJSZFZaSHpJWEVFSG5PZzM4LzZJS3JpTzd1?= =?utf-8?B?UElYUXhLbUZEaFE3MkltWGdQVDE2ZFFkM0kwT3N6NzlEUlByWHNGU2c4Wnow?= =?utf-8?B?NEpWQ0UzQzJPRE41aWJTRm9QZURuWlFoS2QxRnk0VU11SWVuTEhiNmRjSWEy?= =?utf-8?Q?XBBF8So0Ifbsmn3YwYwyuZElm?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 433e2476-5c0e-4d1b-529c-08db1fef7bf0 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:09:24.1455 (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: gPRgjpwX3J9Fdufm8WVg7C3mKLN1wUyWMizyMfQhbdGz2VBkE5T7yAykXK1Mx+Uf9IGp7WgohNsNAyOSXL4vmw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9079 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_PASS,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: Yet again with the removal of gasp about 20 years ago this extra level of indirection isn't necessary anymore either. Drop macro.c's local variable and make as.c's global. While doing the conversion, switch the variable to "bool". --- a/gas/as.c +++ b/gas/as.c @@ -125,8 +125,6 @@ static struct defsym_list *defsyms; static long start_time; -static int flag_macro_alternate; - #ifdef USE_EMULATIONS #define EMULATION_ENVIRON "AS_EMULATION" @@ -1307,7 +1305,7 @@ gas_init (void) input_scrub_begin (); expr_begin (); - macro_init (flag_macro_alternate); + macro_init (); dwarf2_init (); --- a/gas/as.h +++ b/gas/as.h @@ -305,6 +305,9 @@ COMMON int flag_keep_locals; /* -L */ /* True if we are assembling in MRI mode. */ COMMON int flag_mri; +/* True if alternate macro mode is in effect. */ +COMMON bool flag_macro_alternate; + /* Should the data section be made read-only and appended to the text section? */ COMMON unsigned char flag_readonly_data_in_text; /* -R */ --- a/gas/macro.c +++ b/gas/macro.c @@ -34,7 +34,7 @@ #define ISSEP(x) \ ((x) == ' ' || (x) == '\t' || (x) == ',' || (x) == '"' || (x) == ';' \ || (x) == ')' || (x) == '(' \ - || ((macro_alternate || flag_mri) && ((x) == '<' || (x) == '>'))) + || ((flag_macro_alternate || flag_mri) && ((x) == '<' || (x) == '>'))) #define ISBASE(x) \ ((x) == 'b' || (x) == 'B' \ @@ -50,10 +50,6 @@ htab_t macro_hash; int macro_defined; -/* Whether we are in alternate syntax mode. */ - -static int macro_alternate; - /* Whether we should strip '@' characters. */ #define macro_strip_at false @@ -74,12 +70,11 @@ macro_del_f (void *ent) /* Initialize macro processing. */ void -macro_init (int alternate) +macro_init (void) { macro_hash = htab_create_alloc (16, hash_string_tuple, eq_string_tuple, macro_del_f, notes_calloc, NULL); macro_defined = 0; - macro_alternate = alternate; } void @@ -88,14 +83,6 @@ macro_end (void) htab_delete (macro_hash); } -/* Switch in and out of alternate mode on the fly. */ - -void -macro_set_alternate (int alternate) -{ - macro_alternate = alternate; -} - /* Read input lines till we get to a TO string. Increase nesting depth if we get a FROM string. Put the results into sb at PTR. @@ -284,7 +271,7 @@ get_token (size_t idx, sb *in, sb *name) } } /* Ignore trailing &. */ - if (macro_alternate && idx < in->len && in->ptr[idx] == '&') + if (flag_macro_alternate && idx < in->len && in->ptr[idx] == '&') idx++; return idx; } @@ -296,8 +283,8 @@ getstring (size_t idx, sb *in, sb *acc) { while (idx < in->len && (in->ptr[idx] == '"' - || (in->ptr[idx] == '<' && (macro_alternate || flag_mri)) - || (in->ptr[idx] == '\'' && macro_alternate))) + || (in->ptr[idx] == '<' && (flag_macro_alternate || flag_mri)) + || (in->ptr[idx] == '\'' && flag_macro_alternate))) { if (in->ptr[idx] == '<') { @@ -336,7 +323,7 @@ getstring (size_t idx, sb *in, sb *acc) else escaped = 0; - if (macro_alternate && in->ptr[idx] == '!') + if (flag_macro_alternate && in->ptr[idx] == '!') { idx ++; @@ -390,7 +377,7 @@ get_any_string (size_t idx, sb *in, sb * while (idx < in->len && !ISSEP (in->ptr[idx])) sb_add_char (out, in->ptr[idx++]); } - else if (in->ptr[idx] == '%' && macro_alternate) + else if (in->ptr[idx] == '%' && flag_macro_alternate) { /* Turn the following expression into a string. */ expressionS ex; @@ -410,10 +397,10 @@ get_any_string (size_t idx, sb *in, sb * sb_add_string (out, buf); } else if (in->ptr[idx] == '"' - || (in->ptr[idx] == '<' && (macro_alternate || flag_mri)) - || (macro_alternate && in->ptr[idx] == '\'')) + || (in->ptr[idx] == '<' && (flag_macro_alternate || flag_mri)) + || (flag_macro_alternate && in->ptr[idx] == '\'')) { - if (macro_alternate && ! macro_strip_at && in->ptr[idx] != '<') + if (flag_macro_alternate && ! macro_strip_at && in->ptr[idx] != '<') { /* Keep the quotes. */ sb_add_char (out, '"'); @@ -437,7 +424,7 @@ get_any_string (size_t idx, sb *in, sb * && in->ptr[idx] != '\t')) && in->ptr[idx] != ',' && (in->ptr[idx] != '<' - || (! macro_alternate && ! flag_mri))) + || (! flag_macro_alternate && ! flag_mri))) { char tchar = in->ptr[idx]; @@ -904,7 +891,7 @@ macro_expand_body (sb *in, sb *out, form src = sub_actual (src, in, &t, formal_hash, '\'', out, 0); } } - else if ((macro_alternate || flag_mri) + else if ((flag_macro_alternate || flag_mri) && is_name_beginner (in->ptr[src]) && (! inquote || ! macro_strip_at @@ -1093,9 +1080,9 @@ macro_expand (size_t idx, sb *in, macro_ while (scan < in->len && !ISSEP (in->ptr[scan]) && !(flag_mri && in->ptr[scan] == '\'') - && (!macro_alternate && in->ptr[scan] != '=')) + && (!flag_macro_alternate && in->ptr[scan] != '=')) scan++; - if (scan < in->len && !macro_alternate && in->ptr[scan] == '=') + if (scan < in->len && !flag_macro_alternate && in->ptr[scan] == '=') { is_keyword = 1; --- a/gas/macro.h +++ b/gas/macro.h @@ -83,9 +83,8 @@ extern htab_t macro_hash; extern int buffer_and_nest (const char *, const char *, sb *, size_t (*) (sb *)); -extern void macro_init (int); +extern void macro_init (void); extern void macro_end (void); -extern void macro_set_alternate (int); extern macro_entry *define_macro (sb *, sb *, size_t (*) (sb *)); extern int check_macro (const char *, sb *, const char **, macro_entry **); extern void delete_macro (const char *); --- a/gas/read.c +++ b/gas/read.c @@ -1578,7 +1578,7 @@ static void s_altmacro (int on) { demand_empty_rest_of_line (); - macro_set_alternate (on); + flag_macro_alternate = on; } /* Read a symbol name from input_line_pointer.