From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2133.outbound.protection.outlook.com [40.107.117.133]) by sourceware.org (Postfix) with ESMTPS id B1ABA3858D32 for ; Sun, 14 Aug 2022 10:36:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B1ABA3858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cipunited.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cipunited.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nuJtEYOoNiY3Q9QkfnV69uj7IQ31XqOzTh4KZYKUXOomXVSRRBBz7LQVj8KJg0OuLbsn6FtwPQ9/O5HbwuwxMvKA4e/406tg6Z3g72eSnFx2BNWiIT4gqCa0k7TKl821IMEtZ+o45GSxkJzEsVZsQhEnBTfJ33LdsZO+aVEEPzaslFBxCdZxjbK4q4Nsv8kIqoNxGn34ADjnLC3SDOepFr0QZDRD9IdPNFrdCLXXm7hEGOBER2lBogqVJ2gS+KEIKg8BxuGCVJucKJsBx2Q2gvGBpVTXDa8SoUp2c6PI3EvMlQH42N6PKbZ3ryj/FtbguErojCA91VKRiEE3gariLA== 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=+MIFpVvsGsLhhcEaIYBjITJnaEk16+6SR0DqDaPKPsQ=; b=PjRIRMev2fDcC9P/+GWESXEwpMss+iBYoApbrn0D3uEazrVUtkZHTr1q5DvIkv/FkqObV0Pk3jng6kqRh2DeGaQ2Idq7jfi9eqAhdS4t8t0RVagwPZDJNcdk5hCjStjp1CHWVVX0kMk2hM3z1/62E8USTwtOsXbk7YeW2p++aMdYOM2IwX343OnzQGHHilPTxRGtxA/fZgApsCd/BEulDb6FuCtVBpmQIgwjEuuUXa+C/mB6wyvWtqUqMMbJJDhEkAR4m8/c1UigGAhN85Ap1nhviZOcIACCdKAbtJmyXmJVVCVCj+pnCB3xU3W20iZOfFM7nq9k6nKQlEDnOB1/VQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cipunited.com; dmarc=pass action=none header.from=cipunited.com; dkim=pass header.d=cipunited.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cipunited.onmicrosoft.com; s=selector1-cipunited-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+MIFpVvsGsLhhcEaIYBjITJnaEk16+6SR0DqDaPKPsQ=; b=OcNDz05J42TJ338IJJQoj+YPSnty87pytGrNHjqy6pezWocl++U34qU3mbuk0mzjmS0xljBv0EWLRAIF7/Qm7zA9sPjFNfPJCAOQ8D1sc+0zcMS7JuzmESBjgJvuG27x80YKlbBsXL2+TtGw+3eoj8UgeMSicVzhB/3YYcP9cvU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cipunited.com; Received: from HKAPR04MB3956.apcprd04.prod.outlook.com (2603:1096:203:d5::13) by PSBPR04MB4007.apcprd04.prod.outlook.com (2603:1096:301:11::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.22; Sun, 14 Aug 2022 10:36:32 +0000 Received: from HKAPR04MB3956.apcprd04.prod.outlook.com ([fe80::a553:a63a:459a:363e]) by HKAPR04MB3956.apcprd04.prod.outlook.com ([fe80::a553:a63a:459a:363e%6]) with mapi id 15.20.5504.027; Sun, 14 Aug 2022 10:36:31 +0000 Date: Sun, 14 Aug 2022 18:36:26 +0800 From: YunQiang Su To: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] MIPS: improve -march=native arch detection Message-ID: <20220814103626.GA2704@PCYSU01.cipunited.com> References: <20220802111009.35536-1-yunqiang.su@cipunited.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220802111009.35536-1-yunqiang.su@cipunited.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-ClientProxiedBy: TYCPR01CA0070.jpnprd01.prod.outlook.com (2603:1096:405:2::34) To HKAPR04MB3956.apcprd04.prod.outlook.com (2603:1096:203:d5::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c5b2d7d9-0799-4346-8f1b-08da7de0da62 X-MS-TrafficTypeDiagnostic: PSBPR04MB4007:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qvTkHju2sz1WCRHCNeumdv+HJMHK9Q0/Rd2Wi4SH+Vp7ojFnK8PF5kipDqwVsHWRTojD4stQZwPKVIL/T/kKQp5534EgqTemrPjijhS+4Fkhm4RSKQEKAyNJDDeFVydn0ULmvvGK76x5qBUNUtOUPZuULQDrcKUlsko1zp87QsplcEJ4Y7/GoBqORedjXcO/l9xUsFyzdehnif8Ynho8wgsFBLt27KMiKX7tjzXDHnvVBcNGKkFpNYFDbygkTPGHC+o6AlA9vOP0x0juyzmXwfxTZ+HuzgrQVTTTzVvHMNO5YfLPpi1Bay7oXVhcu+A+GLY5yVRWqjWf3h6B6gJYorOJEKXc7c+PhETiq8tLK+tetqUdeKl1kayuFIbdyF7Jf/PXY+080hJ/eRPm0uLgOfcG5x6IMAanMncU2N0FOXcd4+1DCEy89o+ujToNjbzQ9N2DsM2nk5TaHMOGOJxGC0EvtolRMo5hCN+sQY+6kkdxSur9FLGk28Ui6FgUnGZJOcuwacW4ZcIuIc27tFYuzQ49EzlAM0zL0kUuWYldeSBswxBU/gS83gWRNRPKFo4VtHOCgXcAVwusAWEqi6dwamHpnQ7wj9dnU4pQjS+5AQHFahet4XowOAejAZT71IdlNIrdufeRXCLGq59H6HbRdKm/ZRU/X9zIrZoud+fQMA8WIsOTBI33RxVDESZ86be2Am6WUsKOBfqmnVgteG8r6dPt5CR0DQTpBt1+DUX1lRwE+HN8LTmUuyGW6VGADkkcV+ty8ChyYPDHbbjtXyixExEGhOGLlDXJVHff42DLytZBeZ2gFYdEV8zpQUxRSWuI X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HKAPR04MB3956.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(346002)(39830400003)(366004)(396003)(376002)(136003)(1076003)(186003)(41300700001)(5660300002)(8936002)(6512007)(6506007)(6666004)(52116002)(26005)(33656002)(478600001)(6486002)(86362001)(38350700002)(38100700002)(83380400001)(6916009)(2906002)(8676002)(66476007)(66556008)(4326008)(66946007)(316002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YjwZKvWgdTxO0KDjvY3fX6U+5Ypg8S5DtJrrs8NM/QwHW2plEBz4zyncHZeu?= =?us-ascii?Q?Uv2Az4ALjjsJSAibyxVmFfI9klCj6c6G+xendP+WFzSyp9yJgGj3xyVk1aJr?= =?us-ascii?Q?DO4FsQhgz2lXnHXGjKyMim429IWO3q+EafLjIBQagU+VIDxMn0PilPP02Unl?= =?us-ascii?Q?Ze3tZX17LZzt+Ov1tMm4hlh6YlvESdIc1ZPYunbpS3+vqWB9XXaAd8Poe3hV?= =?us-ascii?Q?xpGxy/AzgdhXa+EMShLGB+AKaBdAVEHZflPlP2MoR/5w6HOqsQMQ0bGUZcA1?= =?us-ascii?Q?Teo5wrFwqM4eqKMovmFpnbsN5yArKFmm35u1OF8clJKn0Fm6KuwUeoZZnjQr?= =?us-ascii?Q?/kFtdPxCACWGGwlSHoSLfGtDwei3nzBTawZ/N15XUbNJfQqWhjmEt2PlqTNq?= =?us-ascii?Q?vp1WU8CbCdoajRxOgCjEQRBv2ZxgpzQGyJbbwkw53D2sbbZps4fbdiF/6jCf?= =?us-ascii?Q?GhoSBKtzUN2fw4Y9+xfGIuBL22eJu/98fNkgLigT0fqHmeG7Slv8PK40ahI2?= =?us-ascii?Q?1r9jSeQl5BC75cg3BW6olOA9aUgQoLI4/r650rg+WOrZ6/P2+JDVDPElJxdt?= =?us-ascii?Q?kMpyabLPi84fo5IwLhpW0AEHoOTr8ibMZpEWqcv0K//nAQAXM2z21Fp8mwiO?= =?us-ascii?Q?HeFiUlZyt6aN9cyfN6vCKaSE7gW9HVXvd9KyZI6KEQQMzBWcUL4CKe+HsM3P?= =?us-ascii?Q?cAaGi3CMJLqAfqyzfs0QGOya3Y1yUxFyGme123bZsbD7lstnqluoEOOQHErc?= =?us-ascii?Q?KFaQ5GF0NkJUiIirmLGICEOryFV+QoFiWZK7O3xEeVedo4jw2COubEtJNvRg?= =?us-ascii?Q?b2oNqd8F42Ib4+B9kKnKVAvTAdvMhK4RsGDGYBRnZKJ/1J39poiEw37JzYHd?= =?us-ascii?Q?/CnujKGo6bgu8PtGJBnEjDBFFSlQf5gb0/Iza1V28QCgDFN+u6YbObgfAeHQ?= =?us-ascii?Q?fxT2H09don3Dj4FJ0AMv80HuUvAejLsZRDRBDIrZrNz4ei6PFNHzg5lLy7Lr?= =?us-ascii?Q?uKhb3cZf1isDhx/QrjF7Q6dWcmcFzC5UkIjcE2NgqKDAgpHvwM+etww3WGry?= =?us-ascii?Q?stUmwquf2I2wZsL9WQ7yc005MJGyxVxZDccm4kGkj6YNeYVB3zmR+DVsNYhI?= =?us-ascii?Q?orViJBinkHoKHPB3RhKch7GEZ6vYcuZCpnEtonxHP7CF+SNFyw/yopupwb92?= =?us-ascii?Q?0edRge8ZiXGPracZ4u8WH6av6Iqa1fFEryQypEU6KWFHiHiUBRaV1jgc2036?= =?us-ascii?Q?GkFchUiRN0nNm/r9mFnea6yRKAIsrS0OPSp1PV+XIxNCKT9xSuI07SO5b7Ds?= =?us-ascii?Q?zdrItzTc683aKYiOwdWE4u0xtTl91/D/fmtg6HCncAXyZdR3hw+qvOJW3xFx?= =?us-ascii?Q?uepQMgH8b1nt09Yk2qL1nO2FvyNMPPPgVJzAgAB1lNhlxNKHLO8cIBaiy5BH?= =?us-ascii?Q?5w4vKJUqkyFyq9IxQ22NyYqRmDZ9kaX5PM11qLrdktLjUYENYDvtrOjZsMZC?= =?us-ascii?Q?0Go2Z84yLyW6mfjAhPCARL1a04AKB2UilazRy70QFXcCYWTw58DSLM4HISE9?= =?us-ascii?Q?BS7HtrinvL7dVsU3yf2g2Xj5vMbEBu8dW1mHt7I7pezdBPxu/5KaUV5xJ7My?= =?us-ascii?Q?vg=3D=3D?= X-OriginatorOrg: cipunited.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5b2d7d9-0799-4346-8f1b-08da7de0da62 X-MS-Exchange-CrossTenant-AuthSource: HKAPR04MB3956.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2022 10:36:31.9041 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e31cf5b5-ee69-4d5f-9c69-edeeda2458c0 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PTvlJ9CvFggtpZxWsqeJf6W4L+jJiizxSYs37oGlk/HDovvEIHZHoXhUEbyYyrC2k3iuUg+EttYZmZwKO/l93Z9Vh94pObGtyhyjRRRkHQA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PSBPR04MB4007 X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Aug 2022 10:36:38 -0000 On Tue, Aug 02, 2022 at 11:10:09AM +0000, YunQiang Su wrote: > If we cannot get info from options and cpuinfo, we try to get from: > 1. getauxval(AT_BASE_PLATFORM), introduced since Linux 5.7 > 2. _MIPS_ARCH from host compiler. > > This can fix the wrong loader usage on r5/r6 platform with > -march=native. > ping... > gcc/ChangeLog: > * config/mips/driver-native.cc (host_detect_local_cpu): > try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too. > --- > gcc/config/mips/driver-native.cc | 22 +++++++++++++++++++--- > 1 file changed, 19 insertions(+), 3 deletions(-) > > diff --git a/gcc/config/mips/driver-native.cc b/gcc/config/mips/driver-native.cc > index 47627f85ce1..9aa7044c0b8 100644 > --- a/gcc/config/mips/driver-native.cc > +++ b/gcc/config/mips/driver-native.cc > @@ -19,6 +19,7 @@ along with GCC; see the file COPYING3. If not see > > #define IN_TARGET_CODE 1 > > +#include > #include "config.h" > #include "system.h" > #include "coretypes.h" > @@ -46,15 +47,15 @@ host_detect_local_cpu (int argc, const char **argv) > bool arch; > > if (argc < 1) > - return NULL; > + goto fallback_cpu; > > arch = strcmp (argv[0], "arch") == 0; > if (!arch && strcmp (argv[0], "tune")) > - return NULL; > + goto fallback_cpu; > > f = fopen ("/proc/cpuinfo", "r"); > if (f == NULL) > - return NULL; > + goto fallback_cpu; > > while (fgets (buf, sizeof (buf), f) != NULL) > if (startswith (buf, "cpu model")) > @@ -84,8 +85,23 @@ host_detect_local_cpu (int argc, const char **argv) > > fclose (f); > > +fallback_cpu: > +/*FIXME: how about other OSes, like FreeBSD? */ > +#ifdef __linux__ > + /*Note: getauxval may return NULL as: > + * AT_BASE_PLATFORM is supported since Linux 5.7 > + * Or from older version of qemu-user > + * */ > + if (cpu == NULL) > + cpu = (const char *) getauxval (AT_BASE_PLATFORM); > +#endif > + > if (cpu == NULL) > +#if defined (_MIPS_ARCH) > + cpu = _MIPS_ARCH; > +#else > return NULL; > +#endif > > return concat ("-m", argv[0], "=", cpu, NULL); > } > -- > 2.30.2 >