From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130080.outbound.protection.outlook.com [40.107.13.80]) by sourceware.org (Postfix) with ESMTPS id 7D167383E6BB for ; Thu, 30 Jun 2022 12:53:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7D167383E6BB ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M6j9xwpPleyNOxdCScEg1hTg+N5fkXNe1Bpbz9Kxcdxw3RC2xk6orFOyGknIZj6jfO6Mmz5C2v4ROPwwlCXSvbd6RRtmk4tIUPlkzCvFXOshKqpqkvPR+EOhcjV3dvHZGhwepSkRTMAi/zD1dN0+3Sf0QQKyxhqJ38gye4FEmU7I0tUDVil/HIYQJMYacQrsgrIkIsIUs6+bfksDgL0VebpUvE5Hj5nTn65wvObuOaS4kDOVA7QtwqQ8N0+wMpzD5q7+hrVFHWEj+5SMJPdNqQvw9RHdPwZ/h1MyrQxdWHEvZ8uBGU68UVBdZQ09l72zJbjcU8CQk0dRfpefEzBNbA== 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=XRezfrEQD25eolhA2wut5qkMu5TqHOkM5H8pYNmzP5A=; b=lbuaBKVRFQYKhFy3zWLrAfN78S3tFAK145TrePYdoC74R+y5CGn2mUNHjlL+wtuv0RttW8pRqXYTH8QyGEh0R8DsV9vVIR40Pe1So0SupryH/n541U3ZDvaq3XuKdp83rZW+jlxmgCzioxzcLZj/A273MzphPetZS3eHs/JaeYkCu9EAup3pktgHAmEd9D17WfpZm2ZCEeukcH+n/y3UO3+WJ67j5DSaN57h9lmkDrqACRgBW1O890Cd3Ub5OlW89VqaLsTgjBZfKTGGJP5mWQELbDDYK4SKGl2SUg5+feprhUg3logAmxFOi7S8s74GcZlp/qDE8f5mM2TK617lTQ== 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 VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by AM6PR04MB4629.eurprd04.prod.outlook.com (2603:10a6:20b:24::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.14; Thu, 30 Jun 2022 12:53:36 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::dfa:a64a:432f:e26b]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::dfa:a64a:432f:e26b%7]) with mapi id 15.20.5395.014; Thu, 30 Jun 2022 12:53:36 +0000 Message-ID: <736c0fe5-af5d-9d2d-d518-d5b3ccf8a4b8@suse.com> Date: Thu, 30 Jun 2022 14:53:35 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: [PATCH 2/7] x86: de-duplicate sub-architecture strings accumulation Content-Language: en-US To: Binutils References: <01f502ff-5b51-86d3-ed54-646df7d22037@suse.com> From: Jan Beulich In-Reply-To: <01f502ff-5b51-86d3-ed54-646df7d22037@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0088.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1f::16) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fb24a7ce-d819-4936-c988-08da5a978bce X-MS-TrafficTypeDiagnostic: AM6PR04MB4629:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fntwC2nFKZheOm+Y0TFC388Emx0+NGNyAKjea1TcUJ7yDQhmWAA2Fac1Akvyp6jXTAc/7VT5JzpkRiNoVKPcTTTBLYoLQqoFAGH4QKiWOIzUADMvRSXhjLCRR2NSaoAj9Mf9PS4qxMMRbDVH0my5z/McetRfp8AiMnrmHUwnMcRakiRsy7D0WgNqZKjA9LkZvcV0rKKcHoddZC29OzM/jPoQ55zrEkg0ziJ+/im9CR4f8f7VabSfcUGyDo0vSVicZbEdp3tIoL9q9HA145Okaipy3RefgQ1woRDRrhDOGuoKsTTDx3GWRBNWzwQx3fme/+pTgR9FhjpxaL58D3SUSheFZb3tFcABIEh5i9XggFooabc5WcR5MHqJNszr7dXN4SAgRl9FEktu7gEpFcpSC12d/+cGzYfgXOl/P8/mYjgebPyOCiu35STbdF2t9qeca7/xRuskGnQbH9iem7GzSBrcYPkfNenj6UJNzyHdD6uOgfxCEeWiBS33RO1WtjHHlcFPibKF5mf6j8P6WIuhSpkzy/n3a7JWEbPe3HmSQ+8raEVUJNIrFlivmWI63vfo/JcueyuzWhmUBFYoU0rC5xg7aY9py/wg+JtZ4wsGgXWg+6CbX64WfuzqoHqanU27eMFwUP7Hus7f/ui0+YRGNPA9ZC5pfDMvPKcm1N9RzoH6knL5EtK50I3ttBzfq1TbvxWvnZ4Y02ow41IyeoLyrNgm8h+MeOKHEF7vWU5FYjAh5UQ2pwVH73iqyc5zzNG7HBxa1xHXW8J5FfFjjO1dlK+3JTDHecSJA3Fkt+o0wfkX1mRWvMvHLMMcQiOx2Kqe18+ULQ6aUsbahZI+q6bJhJaKsdAGOQ1/N1HZir4nBCo= 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:(13230016)(366004)(346002)(136003)(396003)(376002)(39860400002)(8936002)(31686004)(41300700001)(186003)(36756003)(5660300002)(2906002)(31696002)(6512007)(6916009)(6486002)(8676002)(2616005)(66556008)(66476007)(86362001)(478600001)(66946007)(4326008)(26005)(6506007)(38100700002)(316002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Uktvb2sxTXlRTDRQS2FhTUxCWmwwc2xMeWNYOXpSVzZiNlNIS3hIbmFoazB6?= =?utf-8?B?UFo3c0JFTGs5d3oyU1RZTGxsSTltSVk4QndxbUFPWnlYM0psMjJaaGRab010?= =?utf-8?B?RkpZc2FWc0x0czRKMFE4UVdoU2ZjWWdzem1sMmFXOVZISFgvcWwrR3dTZ2Jo?= =?utf-8?B?UytaV2hTZ1JWd0E2ejd2UE9OdjZTVXJrOFFhWHlPOUhKMFMrTWpBenZSdHYy?= =?utf-8?B?aVh0N2JVcGhiWGlIY00vRDZBODYwV2RYV0RCQy9wOFRKSVhZMVJCQkNyWXd0?= =?utf-8?B?Qm8raXNCV3E5WlJDSi9zMzhLMzg4aWg3U3N3M3lQdVFyUjlJaExFajg2STYz?= =?utf-8?B?TkI3djVCdi9sVktqRDFuM2xxbXk2OUw4QnMrUU55QmRBcVcxM0NpMzYrbTI1?= =?utf-8?B?WjRiWXVSK25ONEYvYXQyTWtja01YTTlpN0hJL0hlZ3FHbGI2VGFiR1NPb25y?= =?utf-8?B?TGE5dHZubk93TXJURTUvVGpLOGdWS29qT2ZBYUpCUFd5VGY4MHMwRW5vamZw?= =?utf-8?B?VGgzWWZaWCtKRUExWGhhd1RNa0IvSG0wTlhPOHllSXdKc1laQUJVazVRQ1ZO?= =?utf-8?B?VWNqM2NkVmZSQzdrZUx1amRVVG5iQkpNNGVMcWd2NWRWWWliellmSmhlelhr?= =?utf-8?B?R1djcTBqOEpUOXR3ZStzNG9ZUzArZDdlS3RYRjZycVlRWEthSGRpaXdCOXU0?= =?utf-8?B?bW8yeUxKQ1hhOVJXeVJPcklSb3c1dFpyamM4ZjRsdTF6UXJLb0hVVERMczNj?= =?utf-8?B?YXZwaldSb0ppZVFUUDVuU0JPbnNNemxBSUNGT1hjc3k5QVZISWlvVnB6YVNE?= =?utf-8?B?dFRkYjMraGZZRmNWTUhJcWg1akgzWDhMbFZNKzczcWkvTmVmUXYrS2dCNTJy?= =?utf-8?B?TFNlcm85dHlEb0s0MzVKVEdMUThWR3Q3NTBXWXIzQ2QveldnMTVRRCs4cVVl?= =?utf-8?B?Q3BPV3pSdmJSSXViaUJJaXZwajVNWmZBalJIMlVDeVpUNjkyczJYNWVlbHBC?= =?utf-8?B?V21KYUd2UnorMVBDTDM5TFpyRzNYdkNnUGFNVTRLcUowTlVxNktkUzkxbWhv?= =?utf-8?B?TjZKU3hhSU1VMmlLd2dxMFBCNmVEbFFrS21GL3U1blhidHRPY0FaUzYybVU3?= =?utf-8?B?QUcyVVRybVZrRzk2d1B6NG9HQ2ZXRXZzMWV1SmpRNmRCRXJCQWxkVTgwd2Nu?= =?utf-8?B?RS8zeVVEczNoTTB3Qm43WVVNRmRmaENPYVVYMUlRRlNacGRDcmlGRWhOSTlJ?= =?utf-8?B?b2JQcG1mNytSeTdpbDlxZ2VZbi9XZlM1ZFBzSTVZR3FkYXFMUmI3eklXdlBq?= =?utf-8?B?ZHNJNFJVWEFsUk95eTZrYU1xOFBaZ0pjMnVQNmllUWZsTWtJcDM5WFFUajJj?= =?utf-8?B?b1JiMmRRZ1diQTh1ZG9kQlk0aXlZb3VRWHdjN0loWkxUd3E3NXl5M2d1OHpj?= =?utf-8?B?aFN6M2RxcmVNUFdScnlEQURBMlBUeVZKVGd5NDdJaGQ0My82amptMXVIM0lp?= =?utf-8?B?akJGbndVUnlYK2pld1dJVmpKR3d5K3B1TWxFTGdoTXNINHN6NnVyeGF5clhB?= =?utf-8?B?M3hYNm91aWRXc1U4eWZRVU9yQk9tbTZVV1Jxc2dPdzFraWlqYnNGNkN5QVJM?= =?utf-8?B?MERIMVhjUTJacitZOGdyaXVmVTcxaFJlbWtxYXFIVzUrY3lGeXRvSFNwUEsv?= =?utf-8?B?Zkp2NndpeWFnbkYrN3lDOG5xdzZmWWVMcG5vZ2o5TGczbW5ZVXF5UHBJYjBW?= =?utf-8?B?OHFuMUs0SVU2L0RSaHJTbUwxM2lNYmRpUW5VTWtPSm1XaGprcnduUEo3MEd4?= =?utf-8?B?SG1INWlFN01DZ0R5TUVyY0h2RzBKc3g3T3hzTHJRcHRjbk12VVJoY1pRQURy?= =?utf-8?B?dlo0eWp4RXJYeTR1MzNlYm94b0RKNmYwdG9EbTRmNHBiS2ZjM3ZNSHQ0a0k2?= =?utf-8?B?TWZ6SnNRTVM1bXBSNHc5aWhrRy91ZmhEZjBZQUcvbFJ6RkhHTXVUNmhpLzF5?= =?utf-8?B?aFMwNnB2S2hpZVc5N2FPMCtVcnQrckVuS3JGaHZjSEY3N1NtZDVLcTA2bkhv?= =?utf-8?B?OEM4VTVGcnlkdEg4UHBZYWJpTG5uRWNXdklHRklNRE1uSXcyQk1qZG1Qay8z?= =?utf-8?Q?EQvayAzaGc5JFC4gZ3UR+Aq0e?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: fb24a7ce-d819-4936-c988-08da5a978bce X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2022 12:53:35.9586 (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: qg2UWf8N4CN+2nIGD3c+oqsT/BcEEeOIlJ+IPmMbCf33ArVuN7as/xrEzB1I0EFcrKaeLeHvLJU5pixeMQpa1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4629 X-Spam-Status: No, score=-3030.7 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=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: Thu, 30 Jun 2022 12:53:40 -0000 Introduce a helper function to replace 4 instances of similar code. Use reconcat() to cover the previously explicit free() (which really should have been xfree() anyway). --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2851,6 +2851,16 @@ check_cpu_arch_compatible (const char *n } static void +extend_cpu_sub_arch_name (const char *name) +{ + if (cpu_sub_arch_name) + cpu_sub_arch_name = reconcat (cpu_sub_arch_name, cpu_sub_arch_name, + name, (const char *) NULL); + else + cpu_sub_arch_name = xstrdup (name); +} + +static void set_cpu_arch (int dummy ATTRIBUTE_UNUSED) { SKIP_WHITESPACE (); @@ -2899,16 +2909,7 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED if (!cpu_flags_equal (&flags, &cpu_arch_flags)) { - if (cpu_sub_arch_name) - { - char *name = cpu_sub_arch_name; - cpu_sub_arch_name = concat (name, - cpu_arch[j].name, - (const char *) NULL); - free (name); - } - else - cpu_sub_arch_name = xstrdup (cpu_arch[j].name); + extend_cpu_sub_arch_name (string); cpu_arch_flags = flags; cpu_arch_isa_flags = flags; } @@ -2932,15 +2933,7 @@ set_cpu_arch (int dummy ATTRIBUTE_UNUSED cpu_noarch[j].flags); if (!cpu_flags_equal (&flags, &cpu_arch_flags)) { - if (cpu_sub_arch_name) - { - char *name = cpu_sub_arch_name; - cpu_sub_arch_name = concat (name, string, - (const char *) NULL); - free (name); - } - else - cpu_sub_arch_name = xstrdup (string); + extend_cpu_sub_arch_name (string); cpu_arch_flags = flags; cpu_arch_isa_flags = flags; } @@ -13430,16 +13423,7 @@ md_parse_option (int c, const char *arg) if (!cpu_flags_equal (&flags, &cpu_arch_flags)) { - if (cpu_sub_arch_name) - { - char *name = cpu_sub_arch_name; - cpu_sub_arch_name = concat (name, - cpu_arch[j].name, - (const char *) NULL); - free (name); - } - else - cpu_sub_arch_name = xstrdup (cpu_arch[j].name); + extend_cpu_sub_arch_name (cpu_arch[j].name); cpu_arch_flags = flags; cpu_arch_isa_flags = flags; } @@ -13463,15 +13447,7 @@ md_parse_option (int c, const char *arg) cpu_noarch[j].flags); if (!cpu_flags_equal (&flags, &cpu_arch_flags)) { - if (cpu_sub_arch_name) - { - char *name = cpu_sub_arch_name; - cpu_sub_arch_name = concat (arch, - (const char *) NULL); - free (name); - } - else - cpu_sub_arch_name = xstrdup (arch); + extend_cpu_sub_arch_name (arch); cpu_arch_flags = flags; cpu_arch_isa_flags = flags; }