From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50070.outbound.protection.outlook.com [40.107.5.70]) by sourceware.org (Postfix) with ESMTPS id A593D382890A for ; Fri, 10 Jun 2022 13:35:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A593D382890A ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lMp6EietdnnTIkmDKEE2FWxxBQD5RSD9kTGm5G3RJ0EXtBXrXZwnDtN9uD3PvOvEgYayHgWNntT04LyJrK0Bz620kw3yRqYQWdjiGbojBtNRLTBZfWbBBkhvcokHiNx5vlbGnoSEM5DLPtSev32oGg9E1MIJ+nVR4O02vNKrl9PS/Dgwpd+OQF55Xb4TRH9nutXMXNMS4u8nrInTf/VB8QhG4j0iAevnDBZ4A6eHKv3M+bcjYfGo8lCP7cA0ASg0BJf9eiN2z316ysqQsluIy+fYZEGFFgSaR5xVFihTYFVGppada8MfuF8pZWOc9ovuEBp60+t2V6wivcPei8WxDw== 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=/v99/XTycnWwbGIcBJyJnmPUo3oz+F2Sfzj3fKrB+i0=; b=Bg1aqqvkb9VemncURUcJ/AbZXc0EnOFlEr46TWs4QgzI4gu/hR+3MX9OzieUQPIcSI3ICPbU/3jGKDrBbko6LXGTM589+LdYVLPP8kDNV2jOUgh8KL7YIeuY9ciyZBUKY/l3S5MSnBgX+32aJJs3lpYdoYzJs+nLk0mFv8+UT+t+nbOclFeADvPSFLKcUuWvOQtiXDD/C/06x748jS7XCrUAGULgqPVtcNPCm0/BZITJBBc38458OR35tANJ1MXlNGYPGf0C2GnIUZ+yl1sXC6JKWPgMeU/AkfPUnGxzSNoDTTk4Orauw43iozeDXj853ZtaICvw9yGmRQedGWf0PA== 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 PA4PR04MB7806.eurprd04.prod.outlook.com (2603:10a6:102:c9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.14; Fri, 10 Jun 2022 13:35:53 +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.5332.013; Fri, 10 Jun 2022 13:35:53 +0000 Message-ID: Date: Fri, 10 Jun 2022 15:35:52 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: [PATCH 3/4] x86: avoid string copy when swapping Vex.W controlled operands Content-Language: en-US To: Binutils References: <6fd28ca0-2af4-7335-18d3-31036dea7a4f@suse.com> From: Jan Beulich In-Reply-To: <6fd28ca0-2af4-7335-18d3-31036dea7a4f@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AS8PR04CA0014.eurprd04.prod.outlook.com (2603:10a6:20b:310::19) 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: d6b52996-778b-4005-48fc-08da4ae6241e X-MS-TrafficTypeDiagnostic: PA4PR04MB7806: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: bGIeW1IQysBNSni/uhtVnlDjBXu10sRIc2kgsAua8qNxuNvGeRbeaPQHnvRs0E+AW5vyi0k0Li7J37pjdLt7g8yaKrDL4qZF8OkKnn0mTElOjNr1opc3MatRb5ARiHBGS0m7xeGW7rmmy2mrX1asuwV7bIrf1flVbfiIV9/jKGmbuGE6Kg8iBaY8xck0a/4kFisZ3AsCXVntkAP3c/R38sYSsmtQWkWR8fT2Osf18yP5n6OgXjBGbRlIiALI1IHf83wt5c/fcozAC2qNQuvxqwR5TF1/YlzulXuN9zsvd1bFgvyZA1o5F7nBLuxoAUeKtKcHrBUWosMR2tXzMoIfupKE/Gya6ht9yAplMu+gYpyy9Sql+csc7tGtDOHtnn44esLZz8w/985XKeSsByZClaKhRoBfpCSVTjPOm6n0iBvpvZ49PPC5wiIU8T7zaO68iqke4hgpiV9yOFc0nw5gVAnMBm6KQ+d3Xv1eCT/IwurL9u0DSVDOWUugzAnCzhOxa9SyahllAdRqxqd4hNdD6msiy1AqWxIGdw9jOoPYNl9u4BSC/WuA2iITIPDeusK1av7spIvt9IYxAA6hmrfcxumYP6Wl+o3tBotOPcjjzCZC6ZZThT0sGek5agXNUmjZE1RT7qLvxQ1WBRjsNtaVQvvedj/V7A69eVBO+c0WH/Lf/Vy8qY44gLmL7gOCUU3Y8Sm7HqMlyYAFat3uxNsbZKsPqA2KoR/ydoFYLnzzL8iN3sVHnmXS3rwZwVXt5w2E 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:(13230001)(366004)(6916009)(38100700002)(186003)(86362001)(4744005)(36756003)(31686004)(2616005)(26005)(6512007)(66946007)(66556008)(8936002)(66476007)(4326008)(8676002)(2906002)(316002)(6486002)(6506007)(31696002)(5660300002)(508600001)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RmlXV3lMb1pDdmlTWGdQUTdNTmJLejVlQXVXK25aZnlGVDVGamF0a2VlUmNT?= =?utf-8?B?SGZlNFB2ODlPcEdrV29DWkNhMkM4enZ1NEhTb29zbkxyTlZlQzZYV2VWS2Jn?= =?utf-8?B?ZUZhU2Z6MysyMEtBSGt6cEFaU3JzbEIzMVJ6dGhrSXFObkViWWt1cng4K0F6?= =?utf-8?B?SldYM1BJNnBPQTJVZEwra2R0SFlHVWdWdFlPeTNJbUNzQkdPYTByYXgvR2dG?= =?utf-8?B?bStkVVZWZmRZbjN2UUhUYS9CdjdROGttUG50SEQyQ0ljL2VON1RSekxmanRD?= =?utf-8?B?eXEvTTdtTld6b0M3RzE5ZXYxR04xdUZGQXBoRlNUTjlBK2NubUtROUppc0dv?= =?utf-8?B?QWk5TkFBVDEwMnc1UCtLcjBrN0JBRkMzM2NiUWVaNFYvbnc3aUFBVlgrQk9j?= =?utf-8?B?anVQR21GYk9abjNRZXJnLzlHQjl0OWEyRUdEdG5Zcy9HNVYvWk9EVXpGWnh4?= =?utf-8?B?WnJIRVoyaS9XL0VpTUJRV0JOaHEyNHZtaXZFZ0VubEpJZXB4cmZwTUxkb2JH?= =?utf-8?B?Wjk5alFERDVLeDNqWnVtalFsdGltdFFzVml6bXR0S29ka0k1bmNweUZReVVx?= =?utf-8?B?OGtHWk1hSlo4MXdFdlNPMXNRTzdCeEtXOC9SakN0amoza1JLdkpxbExidHY0?= =?utf-8?B?ZDROSlFaTFJYbWZMckRKMjZNMnRpMnBFTGpETzJmZ1JOckxHVTgycFIwUW1u?= =?utf-8?B?TW1hTjd2aU43MFBFa2RMT1pmZGpYd2tGc2UyTGNyY0dvam1rV0RyUGI4VHRo?= =?utf-8?B?VWhwMlczRkg4RlgyOWZqejBnUno3Wmx2RGNJeUdaWjhVdnJNRmxnckZkWCsr?= =?utf-8?B?b3UrM0NXWVowR0FjanVLZVduaXprNTVDcnc3bmxVQmRiNkgzNW5SbFZ0V0dY?= =?utf-8?B?UktvTTg4b0ppdkQvb3lyQ3lhVjJZckg1ekdoTmQ4QzN0bUNLSmJHMjRsWm5w?= =?utf-8?B?ZG1Jbit6VE5RU2hWd0djQTBIcnR0blJIOTU1ZTFiRmVhb2JNSld2RDVYbmdm?= =?utf-8?B?NXFwM3BtdDh3K0ZjWWtOb3d5YWM5UGNPZjFRc1lCVmovNHBFU0srUnRmVHBh?= =?utf-8?B?dlZpNVVuc1VVd0dWdXo3bnI5Zy9ta2pZdFArL3lRcENIZFNCVmkzaXpSS21a?= =?utf-8?B?dGVNS253ZXJSY1g1ME91NklKZ2FISmg0Y2dBQlZ2SW1MWjM3V1lzbGVOL3hC?= =?utf-8?B?QWNvODFKN3hvOGtVVHRRTkRSMTVzK0pZeWpVSkdUZTZKb3FVcU9uQlVBOXps?= =?utf-8?B?SzdGTnEwRUpsSjV0K3EzVjc4KzUyY2Fhb0lVOTlKbGFRU3J1NVliWVpMbTVZ?= =?utf-8?B?eWZtYmtzL3krblBKa3ZmdGFvQ2trU0JJdzhVOTR5MmhuTzR2RVNXVVdoc05o?= =?utf-8?B?NmpKM0UvYzQyN1piK2M0Z1hIRllMUk5vY21TNE9uQTBHdU1hQ3pDRUhIb2Zn?= =?utf-8?B?WXF1TVVLWjQySmJaKy9kTDI4U0RrbDdlbDdJalBDR3E0RWsvSTFqeURqUTJl?= =?utf-8?B?Zm5wUG5ORUtKV0ZGLzh2YytiQnBtRUg3U1lhUyszL08weEdNQ0R6NUg0Wlo0?= =?utf-8?B?ZnMvYUxKOWhzU01heE1pWEFQQ1JhMzF3U2FJd0JrNVVuQ3pITWdVUU1xOGN6?= =?utf-8?B?MFgrVkRWaVRnYml0dDdFRWk1dVJVYWE4YTZXOGs2N3pJUnhmaHBwNnBYOHUv?= =?utf-8?B?dktFeVpUalpKVnF2aGw4MjNHY0l4Uk44K3grTCtQMWU3ZmpWT1FlSmFKR0Uw?= =?utf-8?B?YkhNMk9QUy9ETlR4UUs0bDR0ZzNWWi9PQmd6bFFENGU5c2VWQVR4N3dvY3VO?= =?utf-8?B?U25BM09QOGdqdWw3SlNPc1Z5anZhZG5ncXNhbmxQTFg5aFAwV1l1MVRvSEFJ?= =?utf-8?B?SmNZdEk1YnBUc0NabEdJaytvcGtGRGRrWksvam1pOXZxUHZGa3JzNzFEbDRB?= =?utf-8?B?TlJyazVLMlJyRU9OaFpsbVlGa3hQVDZZUzNpR3MrdStXUC9jc2dEVHg0K2RV?= =?utf-8?B?Qk9kR21VTE10ZkRNRTBpRGZHdXBxc2pscmxPeTlnNkorOWloMmJpcXhHTjYx?= =?utf-8?B?c1VZd01XT050TDhiekloNVdLTE52UjZsQUIvYTZHTVdjNm4zS2JiYytha1dv?= =?utf-8?B?Mlc1bXlSSlpJWGw1Wm9Jbjl6dzlRNWJkY1lBQnlMSzk3R3NYUTUzK3VIZjVn?= =?utf-8?B?VU5ZTFFGWms3YUlEVi80ekdoNGQza0Yza1lqNDZRSjB1aDBic0xPRDRzdmJl?= =?utf-8?B?cVJwVFkzeTB6eVduSUZINy9sazBJNXMveW9HUUhPQ2hRNlJMeDRiU1UxaVZY?= =?utf-8?B?bGpaOG5OL053b0JJa1QvWitua25UT0hrTlljeVVwVmt4TldQYWJUZz09?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6b52996-778b-4005-48fc-08da4ae6241e X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2022 13:35:53.6650 (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: Y/62rUwWdlK02uHpVrKmE6nFAez4+/n8Hd3M5uQCK81gwswFe6EhOyntT+lS37cGtXWzmFe81S3kSW7qtN185A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7806 X-Spam-Status: No, score=-3031.0 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: Fri, 10 Jun 2022 13:35:56 -0000 Now that op_out[] is an array of pointers, there's no need anymore to copy strings. Simply swap the pointers. --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -13473,9 +13473,10 @@ OP_VexW (instr_info *ins, int bytemode, if (ins->vex.w) { /* Swap 2nd and 3rd operands. */ - strcpy (ins->scratchbuf, ins->op_out[2]); - strcpy (ins->op_out[2], ins->op_out[1]); - strcpy (ins->op_out[1], ins->scratchbuf); + char *tmp = ins->op_out[2]; + + ins->op_out[2] = ins->op_out[1]; + ins->op_out[1] = tmp; } } @@ -13503,9 +13504,10 @@ OP_REG_VexI4 (instr_info *ins, int bytem if (ins->vex.w) { /* Swap 3rd and 4th operands. */ - strcpy (ins->scratchbuf, ins->op_out[3]); - strcpy (ins->op_out[3], ins->op_out[2]); - strcpy (ins->op_out[2], ins->scratchbuf); + char *tmp = ins->op_out[3]; + + ins->op_out[3] = ins->op_out[2]; + ins->op_out[2] = tmp; } }