From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2083.outbound.protection.outlook.com [40.107.104.83]) by sourceware.org (Postfix) with ESMTPS id 4DC543865C36 for ; Wed, 27 Sep 2023 15:47:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4DC543865C36 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=WRRN+65ospvV//55MtQB7eT4XkULmDXwaQNd1/cmWG3nKHwDVVZQvqZUhK/LVoKTBPHuAENfMD0Ul8QZlbSKnVLmxoCqicZJY7ZUH9BVFtrlzc+lWLLjQfBjpdYRAe5zgOelm3z+sb4QjbvrOF5EekwsQ43iCgh3ujs8PwP3RpqU2dSrmdT2g9R+YVI8srYMVsOq5ajtNBh+r6F0C43MkGg+TFtOJ6T9KMeG0m+UXcNsZYltSAO1OFOyz2B1Eu5x95v+IrKltqbEVm97pngOjkPJZ7RwFVtXwFqYzYK1kgnl2n5mFKdkjzqMsTn7DpMt+XJN8GwmKgZen6L819Rigw== 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=Re69Sb3VglOWKEl0s8jud/aO4ZFdVhCSDbh2/ooSfDk=; b=od/1mNbyDwtB6pnmF9xEBVPDNyyrocIbcvRka9cp633yMMwwlmCaHBJWQm0M3mLoXTNiHjEhkx29BHHvrOSj1WsJQNrPTbMzV+Z6KNj756fzYzMage8s/n4uit4IH+NJNE/gQA58fy8oTAhlzUp0367guxWealyxAhhqfopKNt8zGxgSCXUJTQd+WZIxwBQo/irARpT06NmMMbQL7kpx/1NlcAcPVJEZlWuZE5HeDCWENGvLztsOn/3i3O99yT62FNwn2UME6ybaBF57CM+3vP2yVVE0eHixeYWQlFvIFcGAKE8cB5bG9Bp9rqygpKNvDPueypm5GN28Rs9kZmkJ6g== 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=Re69Sb3VglOWKEl0s8jud/aO4ZFdVhCSDbh2/ooSfDk=; b=RTVQE98KShPc52ZuQq4zyEh+mxpMjjSewdLMl7m4l/FXk6Ss/+InK856AXdksZLlJc/jCW7iAu8idF8QABC7Nu7RHYVbEbl5VvqHUUtgim3NHJ0lJpcoNx+FHq/hBDfmJp00cLbMX7X5FwQYzkOcg0bIm21buXAGC6vuPysgNxkSkwnf08x1aPsAw75xcJ2ymkm5vO5VJxa2vDQp9sFSyJayMAIhsI7qDwNF+/t7EVbvkPGb7krt06G86Nce7y9KSMWvdqTbhP21i4iamBw7W2L2kpnDdsZx6J6Rt6YeQD/lc8w3RMdbX4YmQbl3rGNS+LSA4qJ40CUZSDLblPbE2Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) by AM8PR04MB7812.eurprd04.prod.outlook.com (2603:10a6:20b:245::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Wed, 27 Sep 2023 15:47:29 +0000 Received: from AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::afae:3fda:c84d:bcdc]) by AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::afae:3fda:c84d:bcdc%7]) with mapi id 15.20.6838.016; Wed, 27 Sep 2023 15:47:29 +0000 Message-ID: Date: Wed, 27 Sep 2023 17:47:27 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH 01/11] x86: record flag_code in tc_frag_data Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <7ce54bc2-fef2-d2e4-21fd-202fdead0c20@suse.com> From: Jan Beulich In-Reply-To: <7ce54bc2-fef2-d2e4-21fd-202fdead0c20@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0109.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::9) To AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|AM8PR04MB7812:EE_ X-MS-Office365-Filtering-Correlation-Id: a68b6f01-befd-4c36-ff76-08dbbf710e15 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4jXA4fV0BkM2Q9QpgaHtKai0CcJPkJnjoPbBgkOFMWkIlyWqqaCHkBVYX+XXiPzTDXhwl/+vjJsiVmcMa5z7+u+QN943AlC5kgHVazGWDGWq+m/LbR754SaCl2PeCLS6ebGyBSguIWtKf983AtCRO98Ibu5TE/YYRFm+WF5fS4FAqMIxdtHQ07cjS5QOmN4qgvfD9acJXrGaCJviUaopcvu7i0dsAzd3WUcZYg5qIbbFuLrMsYeaRNzjcNcuOluepcKwsevspNhwJJJLbyh2aCBLGRwShuiZAWJj9tKiOPViwewhHLUhAUx0Lg2cVXRaKfZyPs8iUjwhFrX/r2Vuu8LL/nDwKi4oxwcEN4UvObeRU30pl/1d/r2Q+9k38zcWxjcKv6V1kfM5sV/iAZZL/1mUyDrtRnT776yqWOc6LTQWsI1T+Mze4TZo5S8HC5In1p43LzCUFlVXYPHHKoZqAz/HdSFlWYEcVm34huP9e3nX21XvO4ljK3Oxf2y7cLblSMKHwAaFh+fAM9digdiablNR6FMaF45c2gjBr4HRwUsxoHT4lMdSgmyKkT1rZt6VANUDfENkG5w5zOeBq6M94IeKiFGcUFJNGwm0mXB5qfzMHCz6xtQEh5IWSXVhyu744bs73/h35UeNj9zXzTgq8A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(366004)(39860400002)(346002)(136003)(230922051799003)(451199024)(186009)(1800799009)(31686004)(4326008)(83380400001)(5660300002)(8936002)(41300700001)(6916009)(316002)(8676002)(36756003)(66946007)(31696002)(66476007)(2616005)(66556008)(6486002)(6506007)(6512007)(86362001)(2906002)(26005)(38100700002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YWVoK2lPU2N5emdXbU5zMXFBV0dLRWVEazRwUFl1eXBJTlFFQnVsYitpV3lk?= =?utf-8?B?dVd3VHlHYXQ4K2w4WUtWTC9IdVBjdWlSOEFnUFJWSVdrNGtZTitBS3lhb0JK?= =?utf-8?B?YUdxRC9kalZsamlQOWIvNnBZZVR6c0hnZDBpMm5oa3RhNUZRS3pNVkNmSkZU?= =?utf-8?B?b2Znak5TT1dGVnFFSDdaWUZJNmlKd2g3cVlOSWQvVGtFS2wzMTN1bHZweWRl?= =?utf-8?B?clRKQUpJUGJUYnVWamdvSmVZRlA5bVE3RU9ldk5qcG1zcmZUUE5mOGpGNUZn?= =?utf-8?B?VnRMOG9LNzdYZ0N2cnlGNTVTcWJhZ3QrQ3NlZSsvZnB5ZkU2d0M3WmRKWXZK?= =?utf-8?B?VU1YcUNqM0FIVis0N3liZ2tCNG5abmV2a2pWQXFaVnBxSXdCMFl5eDJLdFRF?= =?utf-8?B?enlRYThlNXY0a2VkNjdEa0FzSlJGK0xVWWJwM2R4emVZaGNYQXhDZ2g1bEEr?= =?utf-8?B?MmF3WlZ5T0tmSHNrVnBBcVNQdk1SRDhXcmtudCtiNW1XT2MxUzhuRTN6aG85?= =?utf-8?B?MnE4RjZwU0dWcVBLV0FOTnVScDl1bW00bjIwT1VyYk8xL1BDUGNTdzArOVJS?= =?utf-8?B?aEd0ZE55MVdxS2VodDJ1NkkwNGg0OWkvS2RIcGl0Kzd1UmlPbElyWnhxajFK?= =?utf-8?B?S09XMEk4Q0ROdE5kai9sQjN5K2hYQWFDc2p0MnEyNDM5bEN2TUhTZXp4Nlg5?= =?utf-8?B?WThsZVo5OVc5ZllMVFFQbEZrZXVmVFBvcUlERWxyMkQxT0JWbi9MN2R4M2p0?= =?utf-8?B?aE1NRWljSGZXWDREQlFWSCt4UEZwWTJCN05nSzYvTjlVSGpEK1FoMjlDOUkw?= =?utf-8?B?b1hFL3htUGpsNVFlMUNFcmRVeEF0WEthWU1zWmlzL0FJemZsNlp0S3ZmSFNE?= =?utf-8?B?V1hjODFwbGRYR0dreEtnK0MvU3o2WE85YkF1Uyt5V0RWYzBzMUt0aDZscG8z?= =?utf-8?B?WHp0ZXhNL3dtU0cxNFBsT3BPT0xwMzEyT3dtU1I0clBqL1p6UWtWNERFMlJP?= =?utf-8?B?ayszeWp1eVFTMmNMR1dkbGpSaFE4NHJ6Y3k1UmxqQSsvbStselhJKyt4WUVO?= =?utf-8?B?R1dsMWJ5ZkJVUDZITmxNYXR4VmtqT0tuZzNNblpJWmJRbE5Ic0JWRnU0Zm84?= =?utf-8?B?REdONnBZWk9PTHY1ajl2Y1ZFTXpXZUtWTXBPN0o3aENEMlhrMkpuTTdSajd2?= =?utf-8?B?UlFZNlBWTFVQRFhCQ2pNRDRkUGtZd2kwVjNYZFYwMmJLQWdrZy9yb24zd1ov?= =?utf-8?B?cXkzdmd6QzhrZU5iZk43c2w4Ky9EOWpyR3pGeUpPMFVDc0hLSUZSUEhpUTU0?= =?utf-8?B?SllBeE9aTFZNZWgxY2hjdXFjeW01YkEvWE83MThheU1iYjNubUJmSURxeWRB?= =?utf-8?B?azB1dVBIM2tXanB2MGY5aWdvZ1FES1k5WjkzejVCRXRPeURZbk1XTFZzemhm?= =?utf-8?B?U3VqT21qL2gzQnV0blZ1RWtObFlFQzVwWi9KRXZ6dzc2bXR6UXhOdXg0MHF0?= =?utf-8?B?aUdNVy9YcXI4UFowYnFsTWZ3TWVwKy80L0RiRHhleUptblgrci9JdkQzSkN3?= =?utf-8?B?TlEzaUg4a2FsbHM1S3U2M0Z2QzBoNGJpeGowcFRSaElWVkdHY2cyRmVqNDc1?= =?utf-8?B?TTFxZDh0aDlaSWR5RHUrTjlhejVLK1pWRE5Hc1F1R093cE1jdXpvV1J2NWM4?= =?utf-8?B?YmkxNGRWZmx4NWNhOE8xWDZ2dHdHL0xtcmlpazI4Vk84RmNER0U4dktSaDJ2?= =?utf-8?B?YnRNYmd2Q3FWRjN6QlVVT2FkRm1qNC9UM2gyM3ZDUk03S2MzRGxUaFUyTmk0?= =?utf-8?B?c3N6S2VVdlY5S0tkTm1ML1RrbWduRW1NbEZUSnFJS0ZLZ1JzRXpsd2pPTEFo?= =?utf-8?B?Zk9yMEMxMjBjcHVpek50UWczK1RLZDNCR05YbXlPMlVFWWhpRlZYeGlPLytx?= =?utf-8?B?VVYrNWZaMnhuTDhBMjJnYnh3NmNiWkM1TkJnWHRXRHFUSi9ncUZpRWxyZ1lV?= =?utf-8?B?RytmcTdZcHFiRmFlNjdpaHpjVTF6RXBHdVc3cU03RVFTalFuV0ExOTYxSGZP?= =?utf-8?B?c3g1RHNjak53Z3QvQTYybTBEL0VuU3M4bWNLOFladkNkTlA3ak82LzVxZXRu?= =?utf-8?Q?w5zrj3YawWxm0tmUMsbLJguaF?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a68b6f01-befd-4c36-ff76-08dbbf710e15 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2023 15:47:29.3021 (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: PXRRLEr27PbFcJ1JbljDV7ijepQwAVQxRPYK29CPizt82/6uXDNrs2h4bPZaa0flTG31RnZKCb5niDWhE9N3hg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7812 X-Spam-Status: No, score=-3026.9 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: The recorded value, and not the global variable, will want using in TC_FRAG_INIT(). The so far file scope variable therefore needs to become external, to be accessible there. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -165,7 +165,7 @@ static const char *parse_insn (const cha static char *parse_operands (char *, const char *); static void swap_operands (void); static void swap_2_operands (unsigned int, unsigned int); -static enum flag_code i386_addressing_mode (void); +static enum i386_flag_code i386_addressing_mode (void); static void optimize_imm (void); static bool optimize_disp (const insn_template *t); static const insn_template *match_template (char); @@ -579,15 +579,8 @@ static int this_operand = -1; /* Are we processing a .insn directive? */ #define dot_insn() (i.tm.mnem_off == MN__insn) -/* We support four different modes. FLAG_CODE variable is used to distinguish - these. */ - -enum flag_code { - CODE_32BIT, - CODE_16BIT, - CODE_64BIT }; - -static enum flag_code flag_code; +enum i386_flag_code i386_flag_code; +#define flag_code i386_flag_code /* Permit to continue using original name. */ static unsigned int object_64bit; static unsigned int disallow_64bit_reloc; static int use_rela_relocations = 0; @@ -9162,8 +9155,6 @@ output_branch (void) off = 0; } - frag_now->tc_frag_data.code64 = flag_code == CODE_64BIT; - /* 1 possible extra opcode + 4 byte displacement go in var part. Pass reloc in fr_var. */ frag_var (rs_machine_dependent, 5, i.reloc[0], subtype, sym, off, p); @@ -13524,7 +13515,8 @@ md_estimate_size_before_relax (fragS *fr else if (size == 2) reloc_type = BFD_RELOC_16_PCREL; #if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF) - else if (fragP->tc_frag_data.code64 && fragP->fr_offset == 0 + else if (fragP->tc_frag_data.code == CODE_64BIT + && fragP->fr_offset == 0 && need_plt32_p (fragP->fr_symbol)) reloc_type = BFD_RELOC_X86_64_PLT32; #endif --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -264,6 +264,15 @@ extern enum processor_type cpu_arch_tune extern enum processor_type cpu_arch_isa; extern i386_cpu_flags cpu_arch_isa_flags; +/* We support four different modes. I386_FLAG_CODE variable is used to + distinguish three of these. */ + +extern enum i386_flag_code { + CODE_32BIT, + CODE_16BIT, + CODE_64BIT +} i386_flag_code; + struct i386_tc_frag_data { union @@ -275,6 +284,7 @@ struct i386_tc_frag_data enum processor_type isa; i386_cpu_flags isa_flags; enum processor_type tune; + enum i386_flag_code code; unsigned int max_bytes; unsigned char length; unsigned char last_length; @@ -285,7 +295,6 @@ struct i386_tc_frag_data unsigned int mf_type : 3; unsigned int classified : 1; unsigned int branch_type : 3; - unsigned int code64 : 1; /* Only set by output_branch for now. */ }; /* We need to emit the right NOP pattern in .align frags. This is @@ -301,6 +310,7 @@ struct i386_tc_frag_data (FRAGP)->tc_frag_data.isa = cpu_arch_isa; \ (FRAGP)->tc_frag_data.isa_flags = cpu_arch_isa_flags; \ (FRAGP)->tc_frag_data.tune = cpu_arch_tune; \ + (FRAGP)->tc_frag_data.code = i386_flag_code; \ (FRAGP)->tc_frag_data.max_bytes = (MAX_BYTES); \ (FRAGP)->tc_frag_data.length = 0; \ (FRAGP)->tc_frag_data.last_length = 0; \