From patchwork Fri Jun 16 06:24:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YunQiang Su X-Patchwork-Id: 108836 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1122670vqr; Thu, 15 Jun 2023 23:25:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4p75FwO1NGSM+h95eWdeQepM/YHXe/rQksmjMBxhEs1Jqroj9kTiyYwRCiZ5jVHm0pM8BL X-Received: by 2002:a05:6402:1118:b0:514:9ab4:3524 with SMTP id u24-20020a056402111800b005149ab43524mr521071edv.7.1686896750325; Thu, 15 Jun 2023 23:25:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686896750; cv=pass; d=google.com; s=arc-20160816; b=YTzVua72VKHdTr9tvZlwLheWLL0Rn8DifRN0TbLJWIsWxx+aK3GASr7cSDtnaWFXv3 svS+l8nNqwkJlwqfwfv1HT+r5KPdjF/8/LsmLLwPBbOIFvW2w5/AteRu9xwGAi01v4JT riiQnwfv1q69FNtD+qD5L2cV8hKPY7W68d3i/EZSGRRamVTwxypmBGaYxMuJDaNWBkYE hDTSX1g1cuuMh5If/ei5DBVZHxXY3IYDm0dnk/v+CM9uerBX4Ipu+1AcPDTDi3LpT28Y t+25GvMSGwUbWPzxmOvjHPQEpvy8KYnMKEf9vO8RK0IMGxsom3dUtEEG4jEjsU+tHXQ2 wW6Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dmarc-filter:delivered-to; bh=SeJzZEMzm3xPPQLlanF9TggppGlFTdN7Tai0DuOl0bc=; b=EJm3b8IGwGj7E/qFn+WCFjZ0cA8J0yvn0mr1JF47OR28LhapQT11jKpmDfFxGGmFgH u6waiI8mPfOCJ0tRe1GCIEPtuF0lrNYinFIGCpDJHNf2Ihn7ZRAJoOWfXqPnpPahARu9 irOWSMRQFHKppYf6Z2BYgcDJM1i0mKcwBwwjjfVelInTJzaVUOYVBdl0eLhcOLlrFSUt F475GIWvsuTkiJ0iyHRC1IDHFJaIi/WJIoscClQ4TxQtbeVnOODr7npTNrEFzD8T6tdm g+XsbVGb70JnS6aABb4eeFWJvzCqqIVLF/L8840m4ZH3bqBeGDRu5yey+Cxo7sWt2f9A AgJw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=rXOk5LXv; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id l6-20020a056402344600b0051a1ea30d3esi2024716edc.90.2023.06.15.23.25.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 23:25:50 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=rXOk5LXv; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C3F733853D1D for ; Fri, 16 Jun 2023 06:25:43 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01on2123.outbound.protection.outlook.com [40.107.255.123]) by sourceware.org (Postfix) with ESMTPS id 62C18385624C for ; Fri, 16 Jun 2023 06:25:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 62C18385624C 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=IaKEEkla+FMOJR3tqJHMffmqTk1V4KN2ErrDdTm70E803SHlb6soVKjCXA2bI21KeAKaacV/LnlCuawLHdq3eEWFQQzKRGoIj8z/O6zt1ljMAgMslax8xIka5si5WpQZowEfjtWXRn0v5bxnuypqiOSEj05LdsJ/pi9dfkkK+yJNxGXqt9N4p67CZRNz4Qmb+YSrmc5Zg1xZB/FcmfBLCoHuSn5G+LUVOkp5hFfIVnV+KatWQiZ6cfMXQ+03gXkdvn/Ap/IE2LoRUxX6dkqBwiVmZs3Xp/KKPs/u1hE6pftubmCIQI6VPDlk5Q6VyyyaPNQksjZTCb31kf1krVinbg== 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=SeJzZEMzm3xPPQLlanF9TggppGlFTdN7Tai0DuOl0bc=; b=UuOt4ArYl2lSrKXHBYKU7UdT6Ba1gjPVH+/dN6g+UYhLav98gUlgf9flxzOIyPiovzLdEhaKRL751s7c4UamA8u/3QLTcXD7KPuD1FnJEEDqbeUpN+wvRETQ8HUhBpIQfXx09uKthksB8qHZ+yelv3+aCGl3AbseANHfMJ9rHmRAbWD5TLdAzDuSx9zk2IXX66AddzyPkz2iCtmdTVRsm2vbM8T+TYiJtFcNn9cdHT5fdlzfeSyaOnBnnRRs8efW5bBF/aY3woF0rxgbXp5NQG8r7m4osk1kT0UGx2+59i5yD4zGq3lqUC4FyrCPEN2LWdojyBSueUDVHF923WJ7Cw== 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=SeJzZEMzm3xPPQLlanF9TggppGlFTdN7Tai0DuOl0bc=; b=rXOk5LXvzduzpyRMUzW/NWca53wGxdS918yhma2FgPNQwgDGFQYO6LoTt6RS9CCD25BdeUyW/Vrqit0h153TjySkPgYxAgGkCbUZ87pdWwVYjPcZAmOOHiQNHoFBfls/1DhSaR9Gc5r8A47sU74tB7TO2ZbIQ6Kvtq+zIFA6n/s= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cipunited.com; Received: from SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) by TYUPR04MB6911.apcprd04.prod.outlook.com (2603:1096:400:350::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Fri, 16 Jun 2023 06:25:30 +0000 Received: from SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9]) by SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9%4]) with mapi id 15.20.6500.026; Fri, 16 Jun 2023 06:25:29 +0000 From: YunQiang Su To: binutils@sourceware.org Cc: macro@orcam.me.uk, paul.hua.gm@gmail.com, amodra@gmail.com, jbeulich@suse.com, YunQiang Su Subject: [PATCH v3 1/7] MIPS: Gas: alter 64 or 32 for mipsisa triples if march is implicit Date: Fri, 16 Jun 2023 14:24:54 +0800 Message-Id: <20230616062504.1713904-2-yunqiang.su@cipunited.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230616062504.1713904-1-yunqiang.su@cipunited.com> References: <20230616062504.1713904-1-yunqiang.su@cipunited.com> X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35) To SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR04MB6121:EE_|TYUPR04MB6911:EE_ X-MS-Office365-Filtering-Correlation-Id: 3ee521b4-35c4-45a0-617c-08db6e327aac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yuoTQ1ryZVVfCI8PiwbdsuvBMAQO0i116Bint0INQEKpr1NJC5T7n/5MpnIQs03EOC9++kbEefTPpChn6W6+HyDAE29MDI/reDTInr62h541W8IDsOaZGVNhJGQB2jEDKkz2WG4hsDJ8u02FS2c2aljqEmnQi5tieFqeb24E9qlTgQ4g+demb8uyRIwW0YxFO+QsiTbSjhQUZQhp3yb2etas3FCPMxYPLTANT154lbFhYWaNFekf7JYuL/uqHXM4W7xNewywNSfLciQDWJA94FGUFAOUjhVah/fNdHOxANb9cDvpPtBEVH2LdVeM0vdFjVFygTSzq9H6OwEwhvdlyhnnCMmIMW33ZbQXnqWS1PEklOMTXSe81qYQ8eMy2VD6m1Kc4LooqCgySKnpuVbGiikRQh9AFyuVOY6+Ylt4UR+4chniTLmm+qid/2hXfBipQGY8FSNz9XbaxjsPn2idaP8pX+ktp4dkvYy5bVypzSrnWavGPPlv9uQUzDHEEG9pWMyGrFP7m8GjDUw5MP6GMDGMLFNfgkbHVAIJl+COziYPVo+eEOxBZAGGLRImy9VOhXlGBiIVOQUudtVFPcJLb5FBDkMX3WB91gdOcRswKDblehyQHB0M/VYj91NsV/aj X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR04MB6121.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(396003)(39830400003)(366004)(346002)(376002)(451199021)(36756003)(186003)(30864003)(2906002)(83380400001)(26005)(1076003)(6512007)(6506007)(66946007)(52116002)(41300700001)(6486002)(107886003)(316002)(8676002)(8936002)(5660300002)(86362001)(66476007)(2616005)(66556008)(4326008)(6916009)(38350700002)(38100700002)(478600001)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: j6/aXGt8HEmT+08pr/CpvaLtGPryR/C2+W2EEyqfgb+S0d0oFFr+V6IrDA/7AZBb057bJvcieXxsVbnvgt/W5UoJm/fr709eltVlrLcDC4wjkr3sKFuUvLVY3tdpFTVBDJ3zuqCBHp/psOANfMyLnq8Vu55ncx4G03wp211YdeWFy7TjSuD/jA9elUDJWKG9yjc+0XxTFZyxi5jDMwhh2B2b10LTXL6qlD2/gz2ExQbSFdeyZUIMCysjIvRyU9Uujv9mRebXWhtXMTDt4n/ygC+MXaltLz5HDrLO3kY2C173qOWYBGrtwkjiZ3aNGWtKmpmLGKlNeVXL4hVb9tqOg1GuJ9peNWuiILbH1624fiNay4fifUXlm93tKGjMzxwP6JAaVnsx7Gw26nDEGWf3vbuPJOIC9GS3WxSX8WcF5b0kPcxv2TBaUsUrJyojDDgMsi+Vtbvoz0D7ZNvJ0iygJABe5LE5sCBLMrTjLa4ynRGJMTy5thywRI3vkUmG6B+C1tmSyf/aor4vG67xCRWX++OMP2pm7CgITI7Sf3K/9GeSYdWKISKG2m4wQsAdbSzyD6+rkg+7+lPRohLPB5rs6Sd84RFzaJrVPs2GYthta7ExN6Mwc30nNkaTytkC5j9xrqtCai/tUwjJ939vGu8tWyoECQdjB7V5gKGTrueCmPC6Yj3FGatZ5m6t/JSRK40Ww3DefNuD2DIJtNcqCEMGnDKnefgBemqz+obbmWzkPIw21/TpqANwJqlZ6Jl+dwHsH7XrYMnUd+KntWyg3l3+vs84JCDWnuh7OSXkJFwhLzPw27vPUc0nru0JHGr25T+v8D0GZmQou0fapzSJEwaxc89gx4Qv00oI6U2SgiLc1n8tKumHGT//l66nFehrYxPB5kfmdryfc69qwNXGu9BI7ucmkaxrDwSPJsueJzMaS5rnBh5rKrrDv+UknoM1Ll71ZLYYvX2N0103BuJhE9Bf3Pp/eQj226Ho2QNdKDO0uYw7bZ+HI1iM5qYDB6MxCbFq2ipuLSwdIQ1rUMLTo6gKiY3s3ISduVxRE1yqdiZGhltt2E5rFR3K01bsHvPertTYV/L8bzqB/PIjep9oG2p8T0rHf5BfTkiE9LNmOqx0JCumQB4OrYy29Bc6+r5l3K5lauMljoNQtIaE4SKc4sDMgVB2mdrREqwkq02mreTb0NYRcFC7blWVz5bE6OCyOgoTEq/oX08IWfqCqMlxHXE2DvidtljIO2m5AjmnoAYJCVo2asHhKdDN1feiOKNW/yx5MKGelVCABqHe5g3DQ1k+38hKp7mEnqjKKjBFeUB74+jn3+P5QACMypUgjGTZNHYA0JEuf/B5VtqQCcZOaLv/h9gsHUDUIkCSkEFO77jzeDuVGFFQD84YchLcMfJ86Wd1u44iIzZycKFPcg0GWpI3UZSVejp2EG0yVyHBVHjE7ACE1pT7zvZifdGA1ngMzwRgkxtGvgLJ23B7oQJp9MBXC6I+MeK0RmSbB8rVgwOq+fdJjCtFbrT9f6CmY59tsklc/TCFCznUA/OTo2MhV3C8fetGw8SF5qiikGGJBECQHy7nDJH9rl7yBTQj8MMt1ffdcQbOJ0haiB6bXKMgeHWlCw== X-OriginatorOrg: cipunited.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ee521b4-35c4-45a0-617c-08db6e327aac X-MS-Exchange-CrossTenant-AuthSource: SEZPR04MB6121.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 06:25:29.1204 (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: 8zsTaNrGfew7mobu7m01KHG/xPG73aIsokIv+HoDA6BlBEAMa5aLmN4prbY55HM50bot1cnX15JLwnBbTQc5aG+vS036cZ1szVENJFSLuk0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR04MB6911 X-Spam-Status: No, score=-12.8 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: 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: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768839446741786214?= X-GMAIL-MSGID: =?utf-8?q?1768839446741786214?= When GAS is configured with triples mipsisa[32,64]rN[el,], the default march value is pinned to a fix value. for example 1) mipsisa32r6-linux-gnu -n32 xx.s will complains that: -march=mips32r6 is not compatible with the selected ABI 2) mipsisa64r2el-linux-gnu -o32 generates objects with 64bit CPU: ELF 32-bit LSB relocatable, MIPS, MIPS64 rel2 version 1 (SYSV) They are not good default behaviors due to we are using them for regular Linux distributions, like Debian. So, let's alter march according to ABI. --- gas/config/tc-mips.c | 1003 +++++++++++++++++++++++++++---- gas/testsuite/gas/mips/mips.exp | 4 +- 2 files changed, 873 insertions(+), 134 deletions(-) diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index d6aae660abf..77eb6d1d10d 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1430,11 +1430,13 @@ static void file_mips_check_options (void); struct mips_cpu_info { - const char *name; /* CPU or ISA name. */ - int flags; /* MIPS_CPU_* flags. */ - int ase; /* Set of ASEs implemented by the CPU. */ - int isa; /* ISA level. */ - int cpu; /* CPU number (default CPU if ISA). */ + const char *name; /* CPU or ISA name. */ + int flags; /* MIPS_CPU_* flags. */ + int ase; /* Set of ASEs implemented by the CPU. */ + int isa; /* ISA level. */ + int isa_32; /* Best matched 32bit ISA level. */ + int isa_64; /* Best matched 64bit ISA level. */ + int cpu; /* CPU number (default CPU if ISA). */ }; #define MIPS_CPU_IS_ISA 0x0001 /* Is this an ISA? (If 0, a CPU.) */ @@ -1442,6 +1444,7 @@ struct mips_cpu_info static const struct mips_cpu_info *mips_parse_cpu (const char *, const char *); static const struct mips_cpu_info *mips_cpu_info_from_isa (int); static const struct mips_cpu_info *mips_cpu_info_from_arch (int); +static const struct mips_cpu_info *mips_cpu_info_from_name (const char *); /* Command-line options. */ const char *md_shortopts = "O::g::G:"; @@ -19988,180 +19991,880 @@ s_mips_mask (int reg_type) static const struct mips_cpu_info mips_cpu_info_table[] = { /* Entries for generic ISAs. */ - { "mips1", MIPS_CPU_IS_ISA, 0, ISA_MIPS1, CPU_R3000 }, - { "mips2", MIPS_CPU_IS_ISA, 0, ISA_MIPS2, CPU_R6000 }, - { "mips3", MIPS_CPU_IS_ISA, 0, ISA_MIPS3, CPU_R4000 }, - { "mips4", MIPS_CPU_IS_ISA, 0, ISA_MIPS4, CPU_R8000 }, - { "mips5", MIPS_CPU_IS_ISA, 0, ISA_MIPS5, CPU_MIPS5 }, - { "mips32", MIPS_CPU_IS_ISA, 0, ISA_MIPS32, CPU_MIPS32 }, - { "mips32r2", MIPS_CPU_IS_ISA, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "mips32r3", MIPS_CPU_IS_ISA, 0, ISA_MIPS32R3, CPU_MIPS32R3 }, - { "mips32r5", MIPS_CPU_IS_ISA, 0, ISA_MIPS32R5, CPU_MIPS32R5 }, - { "mips32r6", MIPS_CPU_IS_ISA, 0, ISA_MIPS32R6, CPU_MIPS32R6 }, - { "mips64", MIPS_CPU_IS_ISA, 0, ISA_MIPS64, CPU_MIPS64 }, - { "mips64r2", MIPS_CPU_IS_ISA, 0, ISA_MIPS64R2, CPU_MIPS64R2 }, - { "mips64r3", MIPS_CPU_IS_ISA, 0, ISA_MIPS64R3, CPU_MIPS64R3 }, - { "mips64r5", MIPS_CPU_IS_ISA, 0, ISA_MIPS64R5, CPU_MIPS64R5 }, - { "mips64r6", MIPS_CPU_IS_ISA, 0, ISA_MIPS64R6, CPU_MIPS64R6 }, + { "mips1", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS1, + ISA_MIPS1, + ISA_MIPS3, + CPU_R3000 }, + { "mips2", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS2, + ISA_MIPS2, + ISA_MIPS3, + CPU_R6000 }, + { "mips3", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS3, + ISA_MIPS2, + ISA_MIPS3, + CPU_R4000 }, + { "mips4", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS4, + ISA_MIPS2, + ISA_MIPS4, + CPU_R8000 }, + { "mips5", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS5, + ISA_MIPS2, + ISA_MIPS5, + CPU_MIPS5 }, + { "mips32", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS32, + ISA_MIPS32, + ISA_MIPS64, + CPU_MIPS32 }, + { "mips32r2", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS32R2, + ISA_MIPS32R2, + ISA_MIPS64R2, + CPU_MIPS32R2 }, + { "mips32r3", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS32R3, + ISA_MIPS32R3, + ISA_MIPS64R3, + CPU_MIPS32R3 }, + { "mips32r5", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS32R5, + ISA_MIPS32R5, + ISA_MIPS64R5, + CPU_MIPS32R5 }, + { "mips32r6", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS32R6, + ISA_MIPS32R6, + ISA_MIPS64R6, + CPU_MIPS32R6 }, + { "mips64", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS64, + ISA_MIPS32, + ISA_MIPS64, + CPU_MIPS64 }, + { "mips64r2", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS64R2, + ISA_MIPS32R2, + ISA_MIPS64R2, + CPU_MIPS64R2 }, + { "mips64r3", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS64R3, + ISA_MIPS32R3, + ISA_MIPS64R3, + CPU_MIPS64R3 }, + { "mips64r5", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS64R5, + ISA_MIPS32R5, + ISA_MIPS64R5, + CPU_MIPS64R5 }, + { "mips64r6", + MIPS_CPU_IS_ISA, + 0, + ISA_MIPS64R6, + ISA_MIPS32R6, + ISA_MIPS64R6, + CPU_MIPS64R6 }, /* MIPS I */ - { "r3000", 0, 0, ISA_MIPS1, CPU_R3000 }, - { "r2000", 0, 0, ISA_MIPS1, CPU_R3000 }, - { "r3900", 0, 0, ISA_MIPS1, CPU_R3900 }, + { "r3000", + 0, + 0, + ISA_MIPS1, + 0, + 0, + CPU_R3000 }, + { "r2000", + 0, + 0, + ISA_MIPS1, + 0, + 0, + CPU_R3000 }, + { "r3900", + 0, + 0, + ISA_MIPS1, + 0, + 0, + CPU_R3900 }, /* MIPS II */ - { "r6000", 0, 0, ISA_MIPS2, CPU_R6000 }, - { "allegrex", 0, 0, ISA_MIPS2, CPU_ALLEGREX }, + { "r6000", + 0, + 0, + ISA_MIPS2, + 0, + 0, + CPU_R6000 }, + { "allegrex", + 0, + 0, + ISA_MIPS2, + 0, + 0, + CPU_ALLEGREX }, /* MIPS III */ - { "r4000", 0, 0, ISA_MIPS3, CPU_R4000 }, - { "r4010", 0, 0, ISA_MIPS2, CPU_R4010 }, - { "vr4100", 0, 0, ISA_MIPS3, CPU_VR4100 }, - { "vr4111", 0, 0, ISA_MIPS3, CPU_R4111 }, - { "vr4120", 0, 0, ISA_MIPS3, CPU_VR4120 }, - { "vr4130", 0, 0, ISA_MIPS3, CPU_VR4120 }, - { "vr4181", 0, 0, ISA_MIPS3, CPU_R4111 }, - { "vr4300", 0, 0, ISA_MIPS3, CPU_R4300 }, - { "r4400", 0, 0, ISA_MIPS3, CPU_R4400 }, - { "r4600", 0, 0, ISA_MIPS3, CPU_R4600 }, - { "orion", 0, 0, ISA_MIPS3, CPU_R4600 }, - { "r4650", 0, 0, ISA_MIPS3, CPU_R4650 }, - { "r5900", 0, 0, ISA_MIPS3, CPU_R5900 }, + { "r4000", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R4000 }, + { "r4010", + 0, + 0, + ISA_MIPS2, + 0, + 0, + CPU_R4010 }, + { "vr4100", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_VR4100 }, + { "vr4111", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R4111 }, + { "vr4120", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_VR4120 }, + { "vr4130", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_VR4120 }, + { "vr4181", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R4111 }, + { "vr4300", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R4300 }, + { "r4400", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R4400 }, + { "r4600", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R4600 }, + { "orion", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R4600 }, + { "r4650", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R4650 }, + { "r5900", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_R5900 }, /* ST Microelectronics Loongson 2E and 2F cores. */ - { "loongson2e", 0, 0, ISA_MIPS3, CPU_LOONGSON_2E }, - { "loongson2f", 0, ASE_LOONGSON_MMI, ISA_MIPS3, CPU_LOONGSON_2F }, + { "loongson2e", + 0, + 0, + ISA_MIPS3, + 0, + 0, + CPU_LOONGSON_2E }, + { "loongson2f", + 0, + ASE_LOONGSON_MMI, + ISA_MIPS3, + 0, + 0, + CPU_LOONGSON_2F }, /* MIPS IV */ - { "r8000", 0, 0, ISA_MIPS4, CPU_R8000 }, - { "r10000", 0, 0, ISA_MIPS4, CPU_R10000 }, - { "r12000", 0, 0, ISA_MIPS4, CPU_R12000 }, - { "r14000", 0, 0, ISA_MIPS4, CPU_R14000 }, - { "r16000", 0, 0, ISA_MIPS4, CPU_R16000 }, - { "vr5000", 0, 0, ISA_MIPS4, CPU_R5000 }, - { "vr5400", 0, 0, ISA_MIPS4, CPU_VR5400 }, - { "vr5500", 0, 0, ISA_MIPS4, CPU_VR5500 }, - { "rm5200", 0, 0, ISA_MIPS4, CPU_R5000 }, - { "rm5230", 0, 0, ISA_MIPS4, CPU_R5000 }, - { "rm5231", 0, 0, ISA_MIPS4, CPU_R5000 }, - { "rm5261", 0, 0, ISA_MIPS4, CPU_R5000 }, - { "rm5721", 0, 0, ISA_MIPS4, CPU_R5000 }, - { "rm7000", 0, 0, ISA_MIPS4, CPU_RM7000 }, - { "rm9000", 0, 0, ISA_MIPS4, CPU_RM9000 }, + { "r8000", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R8000 }, + { "r10000", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R10000 }, + { "r12000", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R12000 }, + { "r14000", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R14000 }, + { "r16000", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R16000 }, + { "vr5000", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R5000 }, + { "vr5400", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_VR5400 }, + { "vr5500", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_VR5500 }, + { "rm5200", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R5000 }, + { "rm5230", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R5000 }, + { "rm5231", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R5000 }, + { "rm5261", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R5000 }, + { "rm5721", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_R5000 }, + { "rm7000", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_RM7000 }, + { "rm9000", + 0, + 0, + ISA_MIPS4, + 0, + 0, + CPU_RM9000 }, /* MIPS 32 */ - { "4kc", 0, 0, ISA_MIPS32, CPU_MIPS32 }, - { "4km", 0, 0, ISA_MIPS32, CPU_MIPS32 }, - { "4kp", 0, 0, ISA_MIPS32, CPU_MIPS32 }, - { "4ksc", 0, ASE_SMARTMIPS, ISA_MIPS32, CPU_MIPS32 }, + { "4kc", + 0, + 0, + ISA_MIPS32, + 0, + 0, + CPU_MIPS32 }, + { "4km", + 0, + 0, + ISA_MIPS32, + 0, + 0, + CPU_MIPS32 }, + { "4kp", + 0, + 0, + ISA_MIPS32, + 0, + 0, + CPU_MIPS32 }, + { "4ksc", + 0, + ASE_SMARTMIPS, + ISA_MIPS32, + 0, + 0, + CPU_MIPS32 }, /* MIPS 32 Release 2 */ - { "4kec", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "4kem", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "4kep", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "4ksd", 0, ASE_SMARTMIPS, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "m4k", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "m4kp", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "m14k", 0, ASE_MCU, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "m14kc", 0, ASE_MCU, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "m14ke", 0, ASE_DSP | ASE_DSPR2 | ASE_MCU, - ISA_MIPS32R2, CPU_MIPS32R2 }, - { "m14kec", 0, ASE_DSP | ASE_DSPR2 | ASE_MCU, - ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kc", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kf2_1", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kf", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kf1_1", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "4kec", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "4kem", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "4kep", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "4ksd", + 0, + ASE_SMARTMIPS, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "m4k", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "m4kp", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "m14k", + 0, + ASE_MCU, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "m14kc", + 0, + ASE_MCU, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "m14ke", + 0, + ASE_DSP | ASE_DSPR2 | ASE_MCU, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "m14kec", + 0, + ASE_DSP | ASE_DSPR2 | ASE_MCU, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kc", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kf2_1", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kf", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kf1_1", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* Deprecated forms of the above. */ - { "24kfx", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kx", 0, 0, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "24kfx", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kx", + 0, + 0, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* 24KE is a 24K with DSP ASE, other ASEs are optional. */ - { "24kec", 0, ASE_DSP, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kef2_1", 0, ASE_DSP, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kef", 0, ASE_DSP, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kef1_1", 0, ASE_DSP, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "24kec", + 0, + ASE_DSP, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kef2_1", + 0, + ASE_DSP, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kef", + 0, + ASE_DSP, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kef1_1", + 0, + ASE_DSP, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* Deprecated forms of the above. */ - { "24kefx", 0, ASE_DSP, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "24kex", 0, ASE_DSP, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "24kefx", + 0, + ASE_DSP, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "24kex", + 0, + ASE_DSP, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* 34K is a 24K with DSP and MT ASE, other ASEs are optional. */ - { "34kc", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "34kf2_1", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "34kf", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "34kf1_1", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "34kc", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "34kf2_1", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "34kf", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "34kf1_1", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* Deprecated forms of the above. */ - { "34kfx", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "34kx", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "34kfx", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "34kx", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* 34Kn is a 34kc without DSP. */ - { "34kn", 0, ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "34kn", + 0, + ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* 74K with DSP and DSPR2 ASE, other ASEs are optional. */ - { "74kc", 0, ASE_DSP | ASE_DSPR2, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "74kf2_1", 0, ASE_DSP | ASE_DSPR2, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "74kf", 0, ASE_DSP | ASE_DSPR2, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "74kf1_1", 0, ASE_DSP | ASE_DSPR2, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "74kf3_2", 0, ASE_DSP | ASE_DSPR2, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "74kc", + 0, + ASE_DSP | ASE_DSPR2, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "74kf2_1", + 0, + ASE_DSP | ASE_DSPR2, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "74kf", + 0, + ASE_DSP | ASE_DSPR2, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "74kf1_1", + 0, + ASE_DSP | ASE_DSPR2, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "74kf3_2", + 0, + ASE_DSP | ASE_DSPR2, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* Deprecated forms of the above. */ - { "74kfx", 0, ASE_DSP | ASE_DSPR2, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "74kx", 0, ASE_DSP | ASE_DSPR2, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "74kfx", + 0, + ASE_DSP | ASE_DSPR2, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "74kx", + 0, + ASE_DSP | ASE_DSPR2, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* 1004K cores are multiprocessor versions of the 34K. */ - { "1004kc", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "1004kf2_1", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "1004kf", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "1004kf1_1", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, + { "1004kc", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "1004kf2_1", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "1004kf", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "1004kf1_1", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, /* interaptiv is the new name for 1004kf. */ - { "interaptiv", 0, ASE_DSP | ASE_MT, ISA_MIPS32R2, CPU_MIPS32R2 }, - { "interaptiv-mr2", 0, + { "interaptiv", + 0, + ASE_DSP | ASE_MT, + ISA_MIPS32R2, + 0, + 0, + CPU_MIPS32R2 }, + { "interaptiv-mr2", + 0, ASE_DSP | ASE_EVA | ASE_MT | ASE_MIPS16E2 | ASE_MIPS16E2_MT, - ISA_MIPS32R3, CPU_INTERAPTIV_MR2 }, + ISA_MIPS32R3, + 0, + 0, + CPU_INTERAPTIV_MR2 }, /* M5100 family. */ - { "m5100", 0, ASE_MCU, ISA_MIPS32R5, CPU_MIPS32R5 }, - { "m5101", 0, ASE_MCU, ISA_MIPS32R5, CPU_MIPS32R5 }, + { "m5100", + 0, + ASE_MCU, + ISA_MIPS32R5, + 0, + 0, + CPU_MIPS32R5 }, + { "m5101", + 0, + ASE_MCU, + ISA_MIPS32R5, + 0, + 0, + CPU_MIPS32R5 }, /* P5600 with EVA and Virtualization ASEs, other ASEs are optional. */ - { "p5600", 0, ASE_VIRT | ASE_EVA | ASE_XPA, ISA_MIPS32R5, CPU_MIPS32R5 }, + { "p5600", + 0, + ASE_VIRT | ASE_EVA | ASE_XPA, + ISA_MIPS32R5, + 0, + 0, + CPU_MIPS32R5 }, /* MIPS 64 */ - { "5kc", 0, 0, ISA_MIPS64, CPU_MIPS64 }, - { "5kf", 0, 0, ISA_MIPS64, CPU_MIPS64 }, - { "20kc", 0, ASE_MIPS3D, ISA_MIPS64, CPU_MIPS64 }, - { "25kf", 0, ASE_MIPS3D, ISA_MIPS64, CPU_MIPS64 }, + { "5kc", + 0, + 0, + ISA_MIPS64, + 0, + 0, + CPU_MIPS64 }, + { "5kf", + 0, + 0, + ISA_MIPS64, + 0, + 0, + CPU_MIPS64 }, + { "20kc", + 0, + ASE_MIPS3D, + ISA_MIPS64, + 0, + 0, + CPU_MIPS64 }, + { "25kf", + 0, + ASE_MIPS3D, + ISA_MIPS64, + 0, + 0, + CPU_MIPS64 }, /* Broadcom SB-1 CPU core. */ - { "sb1", 0, ASE_MIPS3D | ASE_MDMX, ISA_MIPS64, CPU_SB1 }, + { "sb1", + 0, + ASE_MIPS3D | ASE_MDMX, + ISA_MIPS64, + 0, + 0, + CPU_SB1 }, /* Broadcom SB-1A CPU core. */ - { "sb1a", 0, ASE_MIPS3D | ASE_MDMX, ISA_MIPS64, CPU_SB1 }, + { "sb1a", + 0, + ASE_MIPS3D | ASE_MDMX, + ISA_MIPS64, + 0, + 0, + CPU_SB1 }, /* MIPS 64 Release 2. */ /* Loongson CPU core. */ /* -march=loongson3a is an alias of -march=gs464 for compatibility. */ - { "loongson3a", 0, ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT, - ISA_MIPS64R2, CPU_GS464 }, - { "gs464", 0, ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT, - ISA_MIPS64R2, CPU_GS464 }, - { "gs464e", 0, ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT - | ASE_LOONGSON_EXT2, ISA_MIPS64R2, CPU_GS464E }, - { "gs264e", 0, ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT - | ASE_LOONGSON_EXT2 | ASE_MSA | ASE_MSA64, ISA_MIPS64R2, CPU_GS264E }, + { "loongson3a", + 0, + ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT, + ISA_MIPS64R2, + 0, + 0, + CPU_GS464 }, + { "gs464", + 0, + ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT, + ISA_MIPS64R2, + 0, + 0, + CPU_GS464 }, + { "gs464e", + 0, + ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT | ASE_LOONGSON_EXT2, + ISA_MIPS64R2, + 0, + 0, + CPU_GS464E }, + { "gs264e", + 0, + ASE_LOONGSON_MMI | ASE_LOONGSON_CAM | ASE_LOONGSON_EXT | ASE_LOONGSON_EXT2 + | ASE_MSA | ASE_MSA64, + ISA_MIPS64R2, + 0, + 0, + CPU_GS264E }, /* Cavium Networks Octeon CPU core. */ - { "octeon", 0, 0, ISA_MIPS64R2, CPU_OCTEON }, - { "octeon+", 0, 0, ISA_MIPS64R2, CPU_OCTEONP }, - { "octeon2", 0, 0, ISA_MIPS64R2, CPU_OCTEON2 }, - { "octeon3", 0, ASE_VIRT | ASE_VIRT64, ISA_MIPS64R5, CPU_OCTEON3 }, + { "octeon", + 0, + 0, + ISA_MIPS64R2, + 0, + 0, + CPU_OCTEON }, + { "octeon+", + 0, + 0, + ISA_MIPS64R2, + 0, + 0, + CPU_OCTEONP }, + { "octeon2", + 0, + 0, + ISA_MIPS64R2, + 0, + 0, + CPU_OCTEON2 }, + { "octeon3", + 0, + ASE_VIRT | ASE_VIRT64, + ISA_MIPS64R5, + 0, + 0, + CPU_OCTEON3 }, /* RMI Xlr */ - { "xlr", 0, 0, ISA_MIPS64, CPU_XLR }, + { "xlr", + 0, + 0, + ISA_MIPS64, + 0, + 0, + CPU_XLR }, /* Broadcom XLP. XLP is mostly like XLR, with the prominent exception that it is MIPS64R2 rather than MIPS64. */ - { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR }, + { "xlp", + 0, + 0, + ISA_MIPS64R2, + 0, + 0, + CPU_XLR }, /* MIPS 64 Release 6. */ - { "i6400", 0, ASE_VIRT | ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6}, - { "i6500", 0, ASE_VIRT | ASE_MSA | ASE_CRC | ASE_GINV, - ISA_MIPS64R6, CPU_MIPS64R6}, - { "p6600", 0, ASE_VIRT | ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6}, + { "i6400", + 0, + ASE_VIRT | ASE_MSA, + ISA_MIPS64R6, + 0, + 0, + CPU_MIPS64R6}, + { "i6500", + 0, + ASE_VIRT | ASE_MSA | ASE_CRC | ASE_GINV, + ISA_MIPS64R6, + 0, + 0, + CPU_MIPS64R6}, + { "p6600", + 0, + ASE_VIRT | ASE_MSA, + ISA_MIPS64R6, + 0, + 0, + CPU_MIPS64R6}, /* End marker. */ - { NULL, 0, 0, 0, 0 } + { NULL, 0, 0, 0, 0, 0, 0 } }; @@ -20253,6 +20956,29 @@ mips_parse_cpu (const char *option, const char *cpu_string) : ISA_MIPS1); } + /* mipsisa32rN-linux-gnu refuses -n32/-64 swtiches: + -march=mips32r6 is not compatible with the selected ABI + mipsisa64rN-linux-gnu -o32 generates objects with 64bit CPU: + ELF 32-bit LSB relocatable, MIPS, MIPS64 rel2 version 1 (SYSV) + They are not good default behaviors: Let's alter the CPU info. + We treat it some like -march=from-abi. */ + if (strcasecmp (option, "default CPU") == 0) + { + p = mips_cpu_info_from_name (cpu_string); + if (p != NULL && (p->flags & MIPS_CPU_IS_ISA)) + { + if (ABI_NEEDS_32BIT_REGS (mips_abi)) + return mips_cpu_info_from_isa (p->isa_32); + + if (ABI_NEEDS_64BIT_REGS (mips_abi)) + return mips_cpu_info_from_isa (p->isa_64); + + if (file_mips_opts.gp >= 0) + return mips_cpu_info_from_isa (file_mips_opts.gp == 32 + ? p->isa_32 : p->isa_64); + } + } + /* 'default' has traditionally been a no-op. Probably not very useful. */ if (strcasecmp (cpu_string, "default") == 0) return 0; @@ -20292,6 +21018,19 @@ mips_cpu_info_from_arch (int arch) return NULL; } + +static const struct mips_cpu_info * +mips_cpu_info_from_name (const char* name) +{ + int i; + + for (i = 0; mips_cpu_info_table[i].name != NULL; i++) + if (strcasecmp (mips_cpu_info_table[i].name, name) == 0) + return (&mips_cpu_info_table[i]); + + return NULL; +} + static void show (FILE *stream, const char *string, int *col_p, int *first_p) diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 91cf8b11077..46823cfcf11 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -559,7 +559,7 @@ if { [istarget mips*-*-vxworks*] } { "MIPS invalid switch to SVR4 PIC from VxWorks PIC" } elseif { [istarget mips*-*-*] } { set addr32 [expr [istarget mipstx39*-*-*] || [istarget mips-*-linux*] || [istarget mipsel-*-linux*] \ - || [istarget mipsisa32-*-linux*] || [istarget mipsisa32el-*-linux*]] + || [istarget mipsisa32*-*-linux*] || [istarget mipsisa32*el-*-linux*]] set has_newabi [expr [istarget *-*-irix6*] || [istarget mips*-*-linux*] \ || [istarget mips*-sde-elf*] || [istarget mips*-mti-elf*] \ || [istarget mips*-img-elf*]] @@ -2059,7 +2059,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "module-override" run_dump_test "module-defer-warn1" - run_list_test "module-defer-warn2" "-32" + run_list_test "module-defer-warn2" "-32 -mips1" foreach testopt [list -mfp32 -mfpxx -mfp64 "-mfp64-noodd" \ -msingle-float -msoft-float] { From patchwork Fri Jun 16 06:24:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YunQiang Su X-Patchwork-Id: 108840 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1122717vqr; Thu, 15 Jun 2023 23:25:58 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6bhLEq+gHf4KlD+QkshttlYBRv4SvbYlN3NUvR5haA9fb4wTmp25kFqPIDkOZIk9CMDyrA X-Received: by 2002:a17:906:7fc5:b0:982:8bd5:4215 with SMTP id r5-20020a1709067fc500b009828bd54215mr908608ejs.33.1686896758444; Thu, 15 Jun 2023 23:25:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686896758; cv=pass; d=google.com; s=arc-20160816; b=IgQBMiAxx5kPB4EDlwZl/YJyXML6V9HTAQ52cnTzLEtIuQKVF+bZ0DGebZIXKiyotg zbfPGcacMkgGo8qjWyzOaY/VmyAlOg8L6EHuuhg8izgh1ZNilKyAmM3MvDUytUqEjOoa PncC1gfOUs3FDF0EHBsOLuOu+6bMdIULWjuk2kCdD+/DvHrNrLxaojxuLlijS9U1MBFx qzxN9d0Al1P+Wsi/vOxcBPQG7ZGWTtUXi5HVWuQszUQYtz4SbnsLj9w+ApN5lz5E71dr Yg9E3VKUtt3Hcrg/r1+XiuVz2wDjTHOe83X5XkLzu6i8/4scHOsIlZuhIruLqLgkOQWt nKZQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dmarc-filter:delivered-to; bh=wt3vnOyC4hEjg9LCqI+eFMRDkKFBMiDxwuhlqPwPyPg=; b=KPDVxwkJxWzMPmhLhnE1SqrS3JiNKA8GYrYIErexCyZ/lWoQPX4kPZa94oq1co3rCE Ws2gfobKGawqOrh7uioB1eoa+7oihcXkWXfUH53lbRh2BXFBgr3h8WX2CJmn5PVk+H/W bg7Tv4qiNdKteFQ3Dfnw1nhcZUNKNwMQNRjxpwwsYVGdqP2XtNMcfePm5sEihYEjtxtP vcnPQinAB3+efKBR8DDGDueZ0Ys9OrxWTJpGIJKb1FH/H5MfzT9Oy8QyS5YaycTatN8P XFiuNUt/VJ7HO4k7vzAPFMiBFuZn5gSPNL+2fLJnU0WHLWKJXba0WGve/Ft4B6ZOzuQ8 qBRA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=HRK9z18F; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id kt26-20020a170906aada00b00982a89dd4e0si1436729ejb.845.2023.06.15.23.25.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 23:25:58 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=HRK9z18F; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 221A93854E7B for ; Fri, 16 Jun 2023 06:25:46 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01on2123.outbound.protection.outlook.com [40.107.255.123]) by sourceware.org (Postfix) with ESMTPS id 2337B385C6F9 for ; Fri, 16 Jun 2023 06:25:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2337B385C6F9 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=nR+hUVRgevWD9M42JTkh9R4yXH+qYbeIHhPcJMfVF7NAJ1If3Q5jV183tHBAT4Ie0BwdfjW4NhPY76sCmGa+Kgbqe2BsjwCdRAk/TRbFrkN/UrfM5kmwjGlI3SxQUjTCi5hkK4FDvw+l1bzxOKnQjHjRtbdVaBBnGLM4dYfHwPjhDKuswApBA70e3W/FKMnWvNtV6mLqBzf0TXVW6GGrA4Pri6Vc0clDFacW8SgjgcM3UlmRZLf78My/NgXdSCZtSgx7bW3spm/UyEBvq8GwHY8ko7zWXUsQqk90xPRzinNMwFgBwNreirMTiCVeHrP1EAKYBJGb+DHnnvdMC94qhw== 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=wt3vnOyC4hEjg9LCqI+eFMRDkKFBMiDxwuhlqPwPyPg=; b=ZoRmn5l1Vk3tGPzpH8TlieQB2KINX4s2q9GTqA+IrA0VDV+Ig7p+OilYpsVFH/prZ4625/KFIOjARPZZ5w3jXUO/yQrOUi9nh/GDJOkX4/RRlFx1jEqv/jwUBKzIQD5oQ+rMkWpzvKHw2XaPhPoKrYPIK8c4VgXPxBUkQY0V02qAfP3Ox1dqGw4UNQU4R2xu2+UNZxMbTIOan3DwWD8e91BqswPA5VHlwwD5JkG4vPyMGotdDDMGMgVt14F+wshqjLg83L8M6VS3w4ceqVd2tmHi8DuN+MgFgKSOBcsVWrYQ4bfIVvFo9xHVDjQNdQupkNwECGPjdLj/W/COoqbbLA== 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=wt3vnOyC4hEjg9LCqI+eFMRDkKFBMiDxwuhlqPwPyPg=; b=HRK9z18FpwODJCHr9fJr+vj69sULJZc3ctSXbCYJ8rotSC2RlnZijkZqx0WQXsELL887q3zBB3kSf6cqTk6aFGok9yAjS64/vTqKYunul4gJ4jHNroEdfP7PJuAuV5qH91lJVE2xbE1i+BvO6Zd0Vn8diFUG+SfaT7FVCHOkpcU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cipunited.com; Received: from SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) by TYUPR04MB6911.apcprd04.prod.outlook.com (2603:1096:400:350::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Fri, 16 Jun 2023 06:25:31 +0000 Received: from SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9]) by SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9%4]) with mapi id 15.20.6500.026; Fri, 16 Jun 2023 06:25:31 +0000 From: YunQiang Su To: binutils@sourceware.org Cc: macro@orcam.me.uk, paul.hua.gm@gmail.com, amodra@gmail.com, jbeulich@suse.com, YunQiang Su Subject: [PATCH v3 2/7] MIPS: default r6 if vendor is img Date: Fri, 16 Jun 2023 14:24:55 +0800 Message-Id: <20230616062504.1713904-3-yunqiang.su@cipunited.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230616062504.1713904-1-yunqiang.su@cipunited.com> References: <20230616062504.1713904-1-yunqiang.su@cipunited.com> X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35) To SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR04MB6121:EE_|TYUPR04MB6911:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d03a2af-6ec6-41e5-b056-08db6e327c35 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0iswDDBMPNVNGGNuPXq85Qh3QQ8SlqyK7UCUEUt3/nKQLC0GhtflNu5Gx8HnfitKcTLyLOItyBcBW32J5RcJmJIgKO1qHUnBykzZoEo+0vJm52gS5nPefCObO11cYPGU+is0XThmSs8hCwYJ9V3JUR7lXiUG+MXNYp808kbdBSq0NTcIe/VXFDwIA9tDK5aesxmGCg6VGAj7ypm8Kjo9O5QkwnDliRJvwY0xGIHtSrX+bJ7QPKqvuFc6sgR/MRFjqr8hOlt/G1Ott+jhmzN/NId8teHh65c/q1JPqew4uLBW15SkMBo/Z0sc/7F/UCCjvUYj3ekZHSHspQj6bfbNkABXXmdYD7QmaYdV1KtBG95HtEiKnHQje6oPiM4t2xUUOe+YOMcUXO/QIP3Kx8XlU8Yttu/q6B94wFrJm77nCEVIhZgY2+/5x/2dSFMT1p3Wo4TitE9vhcTEZ2odyobWrHPEEEAUR08ocRzB20tk/otqRtwJweTIeXl4te/pfLN7n74JxOBcrJ10ITAsXejVZ8KhiPwuw6aqHqisURJROgcev/iLzfjtVuSB1+lVnOnjTOYYLxxKGUluPiDNiwTBnqhXLnZ5dk1nJhNiWPMVRLPnZRPDMDM6FDUWWbCTGaDM X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR04MB6121.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(396003)(39830400003)(366004)(346002)(376002)(451199021)(36756003)(186003)(2906002)(83380400001)(26005)(1076003)(6512007)(6506007)(66946007)(52116002)(41300700001)(6486002)(107886003)(316002)(8676002)(8936002)(5660300002)(86362001)(66476007)(2616005)(66556008)(4326008)(6916009)(38350700002)(38100700002)(478600001)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: A/1LDw0LG25cx0UNMepnKF0MpEKJ0TI8DyHFLCibCahL2rlQbLzNpObgu/ic0+iID2ueZq0SbpM6f6HLfWbubdkdMF4DRJjovgL8oLlfEA9cWJ154KRauEyp1aS/vtOdm/8LDidys2x82nHPue2diK2jWQB06KNxhRhxK2p/kPOFVjpCQzB+wa8pJc+e2hh9hN2mOrWPtd72bzGS6qZqqssqYBhkszhSTRyOCtwZIlb11jrQnzz28E4/RU3welvj/qSdMbH2AzjtH6wRWrpH+GbbJVgDUvkqCenqqUbIMsLqpiAHi3ZVaFnDgmV41+mg5RpsJ0gZ4oiAlLzLj4J4ITYDyDoBbvUuEeQzSjcynAjkwcWXeu4da3kUFyxjwYl3sKPpnLs0s8PwauU/dsdTX1Pd0oCDxprv3qCpH+vNEzKsMuQd7OXR7qF+WAM+BHMEz1Y2pMPLN7B9SVbcYbPQohtWkp7e0mMBA1isXDAHwQUURmFlyfqdfo7DVYmfL+3aJq5pSqFXUVXrSzUO2aYhB6bsw0fkPc5X5THUpxzq1Q7gesmTx4WdQ2x6NRt9Ruo5WK96K1QVyZAhCxmm8iVoQP+Li037URvDBSjxGz1FFnjLAroUYdiV9EJwuiyjmE4YSDe4hQMrFaqULzCeOa1geui9B1TtYmIsCRSLI6M/nW8Kjb/PWk9sPWYRPTunf8gMmka/7BPMw+YfhlWLzKMGbeJs98mIKcR3DGgvrZwYmDSU5zaCFH5ZGiJU1LhgBzRRxdqVewY+8l2J6AgA17pnhm1BkUZEz3V4dCSo+I3j5cTILINqonKM+cWCcU/ncxwoK3Dx/AO6PVU7ga10NyOUP5PjjSvWr+XnU+oiatHkK/6OyocSbd4n/rb5lfCkIWkTV8/ZdFbCk2GinW1qixykz8CXvyEG6z+7PJtt+sQAJSOqbRdpa3g62o+UPWDZvFy0pANJRdN7BZ+Tt79+IKcjLIXT0G0kDEzI7rt0OFGBWT1AlZ38qXlt62g6MYvCTqpT6Xuoyh5/2MadniAVEpj7IDko1bnZe3rZEae3RKGqSGLE6XzsHy6NNTvxaOhJq8EDJwX5McBetLlGQK0JSEa6o+CQ4qpQlnVYK8uaS67886WTjuKsFgHQ/zvk88HU6zT8A4VgGU0z3Laqu7YUBg8MrpxhRaXbBItrz6elKVRY0jGOVc3eTIZJ8jXlhCjBkmMPFk5VPMB4pBDvYYouCqApAGND+Jlj5I8xdgOo/hTWH+7ULcVS6Evj1Q15XQqm/l7CyqnZ/cJIVlv/e0VcJQXX+7ei/lGq0LDJJUFmRAzDMyVJcIy4MxKbXxF9XH3tR5rGVXa/a+fkLLKhFkg/hYaLIeSOexZM88GOpXo9C8c0btIJTiqScXVlyeLlZfHjzEvF2IgjP0feFnHbleMgRkcmanXuylKz0e/fR1vXMNW2YSVxA6gQ9dLunDV5TE6xy9GB5Qlb9sgI411YziEYFTmjdMynCKREG0We8sJieplvxUh6fw1RfO3f6X5PXwSzDR37C4js4iIA7z31T7v7E8KWvrUnb9hCJ3PSbwJt28M46BsRZqf1cQWOGoyLJSfCD3h7o7RzqXAa3FLZJ56viRoriw== X-OriginatorOrg: cipunited.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d03a2af-6ec6-41e5-b056-08db6e327c35 X-MS-Exchange-CrossTenant-AuthSource: SEZPR04MB6121.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 06:25:31.6102 (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: pxDdpg7rsLvSZtdFIFfIMSyHchOch04HItqcwH8eXaEBMXKlaARENcgQ8c+30egAPbKR0ezbGKyon8fk8vqhP0BDGXj3V3g0/2+gc1nkVco= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR04MB6911 X-Spam-Status: No, score=-12.8 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: 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: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768839455689987205?= X-GMAIL-MSGID: =?utf-8?q?1768839455689987205?= This behavior is used by downstream toolchain since 2014. We also set the default ABI for mips*-img-elf to O32. The previous value is NO_ABI, which is not good default ABI. We don't support mips64*-img* due to GCC doesn't support it, and We believe that the multilib should be used for this case. --- bfd/config.bfd | 2 +- gas/configure | 8 +++++++- gas/configure.ac | 8 +++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/bfd/config.bfd b/bfd/config.bfd index 954837033c8..78752994456 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -1537,7 +1537,7 @@ case "${targ_defvec} ${targ_selvecs}" in esac case "${targ}" in - mipsisa32r6* | mipsisa64r6*) + mipsisa32r6* | mipsisa64r6* | mips*-img-*) targ_cflags="$targ_cflags -DMIPS_DEFAULT_R6=1" ;; esac diff --git a/gas/configure b/gas/configure index 868f4a911a9..580022d858d 100755 --- a/gas/configure +++ b/gas/configure @@ -12211,6 +12211,12 @@ _ACEOF use_e_mips_abi_o32=1 ;; esac + # If Vendor is IMG, then MIPSr6 is used + case ${target} in + mips*-img-*) + mips_cpu=mips32r6 + ;; + esac # Decide whether to generate 32-bit or 64-bit code by default. # Used to resolve -march=from-abi when an embedded ABI is selected. case ${target} in @@ -12230,7 +12236,7 @@ _ACEOF | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*) mips_default_abi=N32_ABI ;; - mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu) + mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu | mips*-img-elf) mips_default_abi=O32_ABI ;; mips64*-openbsd*) diff --git a/gas/configure.ac b/gas/configure.ac index 03728ffce4d..c1571a49fbb 100644 --- a/gas/configure.ac +++ b/gas/configure.ac @@ -380,6 +380,12 @@ changequote([,])dnl use_e_mips_abi_o32=1 ;; esac + # If Vendor is IMG, then MIPSr6 is used + case ${target} in + mips*-img-*) + mips_cpu=mips32r6 + ;; + esac # Decide whether to generate 32-bit or 64-bit code by default. # Used to resolve -march=from-abi when an embedded ABI is selected. case ${target} in @@ -399,7 +405,7 @@ changequote([,])dnl | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*) mips_default_abi=N32_ABI ;; - mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu) + mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu | mips*-img-elf) mips_default_abi=O32_ABI ;; mips64*-openbsd*) From patchwork Fri Jun 16 06:24:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YunQiang Su X-Patchwork-Id: 108843 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1123525vqr; Thu, 15 Jun 2023 23:28:25 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7yZcItzcbKo3MJp/SQwwuhJc4ovubLs7EZ46BFMRZCZfmuMWLYYpqke5EzSzLbVITlR/Yz X-Received: by 2002:a17:906:6a18:b0:971:9364:f8cd with SMTP id qw24-20020a1709066a1800b009719364f8cdmr967826ejc.44.1686896905383; Thu, 15 Jun 2023 23:28:25 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686896905; cv=pass; d=google.com; s=arc-20160816; b=cMzBglgjEGJG2WWnWvl64LJ3jgHmUimCvVWmqWyL6sLRSTShir0hot0QFo9U1MnZNc 8JgMdhDqdUXLTN2AWyf0MLrjyk5sSKxQcUHhS7szg3/ly0OIcW74wUDzJVKv8T4cX6z2 y5Ow7SEElf8XVargXhWEfPgH/k1Q/sc+O7sRK20bc9Ke+z4ejILxg8shyOr2cYBeaE0X rj93vNWIFi+kxDQCRprOTQHcUdoD+4uXxkSEYKrtF4O934alqGBthGCptKSIiH6/YHcp JcdOmaBvs5KYQDVDJzMjBv8zz3cAGw7qCK7H9tW1lSBp7QYoI/y3jzs04Z3FjY9IpCYW 8nag== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dmarc-filter:delivered-to; bh=FBeTPB2ijh2l8LwDdYRrZgdCSGSJGH2uPaQ8O2MqBu4=; b=0gHWc4teCatD4zwDTyNdQI8N1tgExhnyebw+Uc8wtMtA3gmPHwkKm8yRanq7NuHbhS 8vavp1Q5rScxL2NfBEC4bRlSseVVbpNuJCdj03xFt+hGo+HzKMQ3QdYtLVOTkYY7aCkc w0A/0hbNyquAfm1ei+d7mpqzgvJRuTVuq4OFjZMTTU1VYPjNRj2F/KemhQhbuVcODniI dxsQwsUIydsPMF+cBseuXMWM2AtxdMTD4aMAk9GwlcNXWxezCd94V5L1n+VLUE9ZwFxA AzuaJdJy4rMQAEmCvn8CQ1OKjLuwj7QuD151rrfguhWjE/98rCYrscGhex+9N9ZciRDX tU0Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=H9PHKWEy; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id c13-20020a170906340d00b00982a178d652si1759022ejb.670.2023.06.15.23.28.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 23:28:25 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=H9PHKWEy; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CCE453882AC9 for ; Fri, 16 Jun 2023 06:26:37 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2107.outbound.protection.outlook.com [40.107.215.107]) by sourceware.org (Postfix) with ESMTPS id E87C43853D08 for ; Fri, 16 Jun 2023 06:26:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E87C43853D08 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=hRi52kX1Ccm21Jb23R9vHQz1SNpDTrg8Z+S6zxjBmWuC/X/BJfmoqvBFjwfIFKP8VFNpd2KcbfF3kuxqLQIw0osuLV4JLzMxynUZDYtHUhyJ6NDIeD9EwKHJ9sOrhsvfzgCz1Pyy+JACj3ywGxVu5WC7agawH77IaVCCjq8Rp15KycHseS2OoOaNztCCe3+UAleDhiCsMWCjs6XkTKS5MxpVOKRDLwmg+icmnu/1sg9J4px0ngIQ22MGJIINvwFmfdhTt/F4kmld7Yzsnza7YxzLyMeiU0aHgIPAxIEezm26vqHNkKQ6bYr4GoTgrxYpAdl9gSgE+xUWqX+jSsiuCQ== 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=FBeTPB2ijh2l8LwDdYRrZgdCSGSJGH2uPaQ8O2MqBu4=; b=GVHann9oDvKZJUYtUwQLvv14X0ZqQHnY4yVH93U+8INIhXcXHAEtRAdzrr5vA/FZD9reRDRSAmKOY0yRP0nPZFXfSTPrt+NzTacSkWuR1uQk/uQEAUWQEgNLr37QFgnxpbDZ23EbW5o0tp+xNwdanGpgrkWbqWZzUiqX4XWbu3JTkE0hJSDKxzzF/MSWpMY1LnCYMgLTAOCwEjJNFm3eLpFvIjFjMIJgBwySEla5QQTqPQba5XqRgaoWZiusTZIsLda3NEhzHRYHQ4Kehr0S/teE9nZpuSdtHQ3QwrNvONPY1vPI4EAMzCxs4EhP0wXQQ0ujrMmHlxdQzUFqAuc1VA== 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=FBeTPB2ijh2l8LwDdYRrZgdCSGSJGH2uPaQ8O2MqBu4=; b=H9PHKWEyRlPMf1wSIxmPVNzs22Vj/704hYaSi3Q2e7N4i1L5Pcft+1PEy9LYnHaMyatfi0gwXx8zz7n4UPYcb/2/U/UzRBzBxhKwqJMUPE/j6e3VB3YKb3iuASItRG56Poe/NP0NJ5Z4RiHSbZm8WRwSB95H4tfnwVd3WxdA1vE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cipunited.com; Received: from SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) by TYUPR04MB6911.apcprd04.prod.outlook.com (2603:1096:400:350::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Fri, 16 Jun 2023 06:25:42 +0000 Received: from SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9]) by SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9%4]) with mapi id 15.20.6500.026; Fri, 16 Jun 2023 06:25:42 +0000 From: YunQiang Su To: binutils@sourceware.org Cc: macro@orcam.me.uk, paul.hua.gm@gmail.com, amodra@gmail.com, jbeulich@suse.com, YunQiang Su Subject: [PATCH v3 3/7] MIPS: Fix r6 testsuites Date: Fri, 16 Jun 2023 14:24:58 +0800 Message-Id: <20230616062504.1713904-6-yunqiang.su@cipunited.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230616062504.1713904-1-yunqiang.su@cipunited.com> References: <20230616062504.1713904-1-yunqiang.su@cipunited.com> X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35) To SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR04MB6121:EE_|TYUPR04MB6911:EE_ X-MS-Office365-Filtering-Correlation-Id: 163dfae0-3462-4715-3176-08db6e328275 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QnYZwl0oYPdeQ8qyV3IgO2UgOF6oOa3UEOig6rSORnG52oxQ08bgxhtP8LIR9y8AJzONqJxWnBJigD9Q21yoFM+S7mosvXc9JYdjVZ1dvG9MhrT+ps9Exc7wQXutxt9KdobB23/HuccBEnmieYSCM4THc9Zr2SyON8ow6vcWw2jEcBTI72HHaPa79HbPLgaBC95nySwedCs+CmTEK9kiO28XSn6OFHSjxDT00m7A+DrpiDm7OR3dD0c1Z9e05wx/0bhMnzpr7XQZRUSXEjI5TNH2WpsE/3RUdD7dlb4l/3SQKaxCtfhGcFV3oXYcWAMNTkn9P85dLRaFTxFsiqeYwe/7/HCmVDxkOKLWOQmdlGSb9gSEI9yOmaQVpP3/oglMrRA+PPEwfcIJZxkOxYQ/DHLEepEf060qAF7aBI4YX6EK2px1uddFzY5zrlGjYfV1ppTVSbZ7ZHSEE4jWFXdSAAjH8Ln3VfIutpvHajZ49dSyrGT7TeUkBHnknkAa6f8ccAjL3F/xq4uBpMw8uYPrv3H0Y+QEzMY/gZFYDAwO+ogs3CkrI2AYTMzF/Z8sIy3zLCOomzldgvgYj9s+M9dp8J8GUhvbRTvA7QqAmzaydqEDZCjyfYoPotDuw5EEiAfU X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR04MB6121.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(396003)(39830400003)(366004)(346002)(376002)(451199021)(36756003)(186003)(30864003)(2906002)(83380400001)(26005)(1076003)(6512007)(6506007)(66946007)(52116002)(41300700001)(6486002)(107886003)(316002)(8676002)(8936002)(5660300002)(86362001)(66476007)(2616005)(66556008)(4326008)(6916009)(38350700002)(38100700002)(478600001)(6666004)(559001)(579004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ak8mtpnmhNeqLDYDqOv4XTKPPUelqbHQAbn24ozH2a5ji3/KH4vDsUnGOgbxfTkCvtqSSveifBvIxbzFMRyDWL+Wreecb5AU4BInTm+Y2vfutkeUTPklSheQTbAhIurxzfr9Z2//hZUbT/zpr9ZNoOAxn03trLj+Az+hkX28Val0RAVx0nzaH4WGfmhIVLCUtNd1CbX0ByPv25DDL2KkkRj6hC5Y323nBeQ2qap2CwI9NFS4O5M85bjUXgrBNDHSr7A2pFDzaWq7V+E7iR0YUOBN4h0TmDbzcIGSfpyHaxk72t2ZU3cumC+vWvRwVT3AeOi5WCJd2t8mzPV0BCwhgqH80VqBq4CCVfUh8c2bnFEkaWEu4QIfoNCxUxOIrekJF+cJjyY4gR48aIoKwy5r9i9X1KONXlh5EdTewI4TfWWWLq4I8oyPWQBp++2wurUJ0awT4XFRu5BzbTEln4xBGbYOa+cKG7Z66WpHoRKYjzsGlaaet59a/dQQhYLA4W5kHJYSnzUPVLypAR8BDmPc9jqo59gf2Nsurt9hnc5cPCDBfhlIT4xsHEs7Ga7fA1moiYjyTLnqPjG/Xb9lk9h2P2bQEXM340jRhorTcrLlV0GFlRtdWG3tDZTeJ1YHO7FnMoPx19aTTSciMPfHvv58ebyJR83c6QicGFRin71JERuzxO2NJVT/NJNEs253B2vxv1Z5XxUj0wybz7N67qywY7aj++NpXXpUOhpv8ND6R7JyPhnBIyrpvPVREtioB3SnzaMH58VytH1fVZIwnBqn3WotWLzPOV1R7fq7pgY1MRemVahGNbuvj4ff9JKHTGuhv8TOUHiPLhIyzeOcCyr+snfzniiFjYkoVtnjr1+ftlzrIPYbA0KuLY05nXpmpaMMZGgdgfj7xHa2blQ7caXyREBZJlpLBqe9O2iT1ZsaD0k8IdgGn4udDMokKMo7FgRRIOAKdz/OdEBvVBftOIf7ePT4JmWxNUoxBJhGaf74ciTrWI7puki2wdeBQd4jqjjhcBuVs3pbuoOA7ErcGIfe01uKwj7fSk8dO9X4C/gF/0qTPNv8oyqR8akuJiysDV71w9DKBKqkL8/wxrL6qSHPi/h5OAAZAFcmXl30N8j5RxhNMOWMATsEkAakOO2E5Vg0zfzOzQ3l3WpPFqK+nfWEYLQCsIZR/woAvhL0Y1OOPpk+ZhJwW/o+b9qLorgFB4f5mvoVWaF6DgIDfKVvlClsJbvvN5jr/PcU4FQLU2cCq0QSVdwPBIF4QzcqAXeERqE9jKlQ4JI3Keq+AhgdennCdMDokdzPH1QXvGwIcAkhGDJttCIsiGOpIz+PxzOHPJ87hSNuM99sP5BEdzQqJlaxmRQ7zwWQ5RwnYqiqnDOeiOP831rWf70ACmWOkh9M0Jv5CTmGyO7oAgKCLqE9ZuZe0Iyz3Ebp75K8KGorqEx5VNLKN5yv4pgZTDD2M1mjWfVp79rgD9+8DLvj569DUze+LfDnBW/Ku6b8qUV/QzJF5tWYrfPQLcG3KsXy7j3eslDy/HHaxls0cT1BCIJtISfybQuWFfBLPcPHMn1zIla2mCRU4m4BxaE7UPXyWz0KY33TD2ER1vBCuzcuj7H0IWJnpg== X-OriginatorOrg: cipunited.com X-MS-Exchange-CrossTenant-Network-Message-Id: 163dfae0-3462-4715-3176-08db6e328275 X-MS-Exchange-CrossTenant-AuthSource: SEZPR04MB6121.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 06:25:42.3322 (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: ekfiFh0dO+7YtkvHmpoWh3hhBWwCMmFqHjX8ex+2kAe//+g2DO1zRV2cfIJfdV4PrZUU619rh3BwtoPP2GIWRb6RsFjKr+zAFNKftSPzJMg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR04MB6911 X-Spam-Status: No, score=-13.0 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: 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: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768839609688936635?= X-GMAIL-MSGID: =?utf-8?q?1768839609688936635?= Introduce run_dump_test_o32l run_dump_test_n32l run_dump_test_n64l which use `-march=from-abi` for pre-R6 testcases, like ones with micromips/mips16e etc. For cases doesn't use run_dump_test_*, we use -mips32r2 for micromips32 -mips1 for mips16-32 -march=from-abi for testcases to o32/n32/n64 both/all. Replace `addi` with `addiu` for some cases for both r6 and pre-R6. Introduce some new testcases for r6 with FPXX/FP64. Introduce new testcase: comdat-reloc-r6. Skip `default` in mips_arch_list_matching if triple is mipsisa*, due to: 1)it will cannot match mipsr6@*.d: since mips32rN/mips64rN will always be used, it won't be a problem. 2)some test think -march=mips64rN will alway true for mipsisa64rN, which is not true now: -mabi=32 alters to 32bit ISA. This patch fix testsuite for all r6-default gnu triples: mipsisa32r6-linux-gnu mipsisa32r6el-linux-gnu mips-img-linux-gnu mipsel-img-linux-gnu mipsisa64r6-linux-gnu mipsisa64r6el-linux-gnu --- binutils/testsuite/binutils-all/mips/mips.exp | 75 ++++- gas/testsuite/gas/mips/align2-el.d | 2 +- gas/testsuite/gas/mips/align2.d | 2 +- gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d | 2 +- gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d | 21 ++ gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s | 1 + gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d | 21 ++ gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s | 1 + gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d | 2 +- .../gas/mips/branch-absolute-addend.d | 2 +- gas/testsuite/gas/mips/branch-absolute.d | 2 +- .../gas/mips/branch-addend-micromips.d | 2 +- gas/testsuite/gas/mips/branch-addend.d | 2 +- gas/testsuite/gas/mips/branch-extern-2.d | 2 +- gas/testsuite/gas/mips/branch-extern-4.d | 2 +- gas/testsuite/gas/mips/branch-local-1.d | 2 +- gas/testsuite/gas/mips/branch-local-2.d | 2 +- gas/testsuite/gas/mips/branch-local-3.d | 2 +- gas/testsuite/gas/mips/branch-local-4.d | 2 +- gas/testsuite/gas/mips/branch-local-5.d | 2 +- gas/testsuite/gas/mips/branch-local-6.d | 2 +- gas/testsuite/gas/mips/branch-local-7.d | 2 +- .../gas/mips/branch-local-ignore-2.d | 2 +- .../gas/mips/branch-local-ignore-3.d | 2 +- .../gas/mips/branch-local-ignore-5.d | 2 +- .../gas/mips/branch-local-ignore-6.d | 2 +- gas/testsuite/gas/mips/branch-section-1.d | 2 +- gas/testsuite/gas/mips/branch-section-2.d | 2 +- gas/testsuite/gas/mips/branch-section-3.d | 2 +- gas/testsuite/gas/mips/branch-section-4.d | 2 +- gas/testsuite/gas/mips/branch-weak-1.d | 2 +- gas/testsuite/gas/mips/branch-weak-2.d | 2 +- gas/testsuite/gas/mips/branch-weak-3.d | 2 +- gas/testsuite/gas/mips/branch-weak-4.d | 2 +- gas/testsuite/gas/mips/branch-weak-5.d | 2 +- gas/testsuite/gas/mips/branch-weak-6.d | 2 +- gas/testsuite/gas/mips/branch-weak-7.d | 2 +- gas/testsuite/gas/mips/comdat-reloc-r6.d | 34 ++ gas/testsuite/gas/mips/comdat-reloc.d | 2 +- gas/testsuite/gas/mips/compact-eh-eb-1.d | 2 +- gas/testsuite/gas/mips/compact-eh-eb-2.d | 2 +- gas/testsuite/gas/mips/compact-eh-eb-3.d | 2 +- gas/testsuite/gas/mips/compact-eh-eb-4.d | 2 +- gas/testsuite/gas/mips/compact-eh-eb-5.d | 2 +- gas/testsuite/gas/mips/compact-eh-eb-6.d | 2 +- gas/testsuite/gas/mips/compact-eh-eb-7.d | 2 +- gas/testsuite/gas/mips/compact-eh-el-1.d | 2 +- gas/testsuite/gas/mips/compact-eh-el-2.d | 2 +- gas/testsuite/gas/mips/compact-eh-el-3.d | 2 +- gas/testsuite/gas/mips/compact-eh-el-4.d | 2 +- gas/testsuite/gas/mips/compact-eh-el-5.d | 2 +- gas/testsuite/gas/mips/compact-eh-el-6.d | 2 +- gas/testsuite/gas/mips/compact-eh-el-7.d | 2 +- gas/testsuite/gas/mips/elf-rel.d | 12 +- gas/testsuite/gas/mips/elf-rel.s | 36 +- gas/testsuite/gas/mips/elf-rel6.d | 2 +- gas/testsuite/gas/mips/elf_ase_micromips-2.d | 2 +- gas/testsuite/gas/mips/elf_ase_micromips.d | 2 +- gas/testsuite/gas/mips/elf_ase_mips16-2.d | 2 +- gas/testsuite/gas/mips/elf_ase_mips16.d | 2 +- gas/testsuite/gas/mips/elfel-rel.d | 12 +- gas/testsuite/gas/mips/insn-isa-mode.d | 2 +- gas/testsuite/gas/mips/insn-opts.d | 1 + gas/testsuite/gas/mips/jalx-addend.d | 2 +- gas/testsuite/gas/mips/jalx-imm.d | 2 +- gas/testsuite/gas/mips/jalx-local.d | 2 +- gas/testsuite/gas/mips/loongson-2f-3.d | 2 +- gas/testsuite/gas/mips/micromips-b16.d | 2 +- .../mips/micromips-branch-absolute-addend.d | 2 +- .../gas/mips/micromips-branch-absolute.d | 2 +- .../gas/mips/micromips-warn-branch-delay-1.d | 2 +- .../gas/mips/micromips-warn-branch-delay.d | 2 +- gas/testsuite/gas/mips/mips-jalx-2.d | 2 +- gas/testsuite/gas/mips/mips.exp | 58 ++-- .../gas/mips/mips16-absolute-reloc-0.d | 2 +- .../gas/mips/mips16-absolute-reloc-2.d | 2 +- .../gas/mips/mips16-branch-absolute-1.d | 2 +- .../gas/mips/mips16-branch-absolute-2.d | 2 +- .../mips/mips16-branch-absolute-addend-1.d | 2 +- .../gas/mips/mips16-branch-absolute-addend.d | 2 +- .../gas/mips/mips16-branch-absolute.d | 2 +- .../gas/mips/mips16-branch-addend-0.d | 2 +- .../gas/mips/mips16-branch-addend-1.d | 2 +- .../gas/mips/mips16-branch-addend-2.d | 2 +- .../gas/mips/mips16-branch-addend-3.d | 2 +- .../gas/mips/mips16-branch-addend-4.d | 2 +- .../gas/mips/mips16-branch-addend-5.d | 2 +- .../gas/mips/mips16-branch-reloc-0.d | 2 +- .../gas/mips/mips16-branch-reloc-1.d | 2 +- .../gas/mips/mips16-branch-reloc-2.d | 2 +- .../gas/mips/mips16-branch-reloc-3.d | 2 +- .../gas/mips/mips16-branch-reloc-4.d | 2 +- .../gas/mips/mips16-branch-reloc-5.d | 2 +- .../gas/mips/mips16-branch-unextended-1.d | 2 +- .../gas/mips/mips16-branch-unextended-2.d | 2 +- gas/testsuite/gas/mips/mips16-dwarf2.d | 2 +- gas/testsuite/gas/mips/mips16-e.d | 2 +- gas/testsuite/gas/mips/mips16-extend.d | 2 +- gas/testsuite/gas/mips/mips16-f.d | 2 +- gas/testsuite/gas/mips/mips16-hilo.d | 2 +- .../gas/mips/mips16-insn-length-noargs.d | 2 +- gas/testsuite/gas/mips/mips16-jal-e.d | 2 +- gas/testsuite/gas/mips/mips16-jal-t.d | 2 +- gas/testsuite/gas/mips/mips16-pcrel-relax-0.d | 2 +- gas/testsuite/gas/mips/mips16-pcrel-relax-1.d | 2 +- gas/testsuite/gas/mips/mips16-pcrel-relax-2.d | 2 +- gas/testsuite/gas/mips/mips16-pcrel-relax-3.d | 2 +- gas/testsuite/gas/mips/mips16-vis-1.d | 1 + gas/testsuite/gas/mips/mipsel16-e.d | 2 +- gas/testsuite/gas/mips/mipsel16-f.d | 2 +- gas/testsuite/gas/mips/module-mfp32.d | 2 +- gas/testsuite/gas/mips/module-mfp64r6-noodd.d | 21 ++ gas/testsuite/gas/mips/module-mfp64r6.d | 21 ++ .../gas/mips/module-msoft-float-r6.d | 20 ++ .../gas/mips/module-msoft-float-r6.s | 3 + gas/testsuite/gas/mips/module-msoft-float.d | 2 +- gas/testsuite/gas/mips/nan-2008-3.d | 1 + gas/testsuite/gas/mips/nan-legacy-1.d | 1 + gas/testsuite/gas/mips/nan-legacy-2.d | 2 +- gas/testsuite/gas/mips/nan-legacy-3.d | 1 + gas/testsuite/gas/mips/nan-legacy-4.d | 2 +- gas/testsuite/gas/mips/nan-legacy-5.d | 1 + gas/testsuite/gas/mips/option-pic-1.d | 2 +- gas/testsuite/gas/mips/option-pic-relax-0.d | 2 +- gas/testsuite/gas/mips/option-pic-relax-1.d | 2 +- gas/testsuite/gas/mips/option-pic-relax-3.d | 4 +- gas/testsuite/gas/mips/option-pic-relax-3a.d | 2 +- gas/testsuite/gas/mips/option-pic-relax-4.d | 2 +- gas/testsuite/gas/mips/option-pic-relax-5.d | 2 +- gas/testsuite/gas/mips/org-1.d | 2 +- gas/testsuite/gas/mips/org-10.d | 2 +- gas/testsuite/gas/mips/org-11.d | 2 +- gas/testsuite/gas/mips/org-12.d | 1 + gas/testsuite/gas/mips/org-2.d | 2 +- gas/testsuite/gas/mips/org-3.d | 1 + gas/testsuite/gas/mips/org-4.d | 2 +- gas/testsuite/gas/mips/org-5.d | 2 +- gas/testsuite/gas/mips/org-6.d | 1 + gas/testsuite/gas/mips/org-7.d | 2 +- gas/testsuite/gas/mips/org-8.d | 2 +- gas/testsuite/gas/mips/org-9.d | 1 + gas/testsuite/gas/mips/pcrel-reloc-1.d | 2 +- gas/testsuite/gas/mips/pcrel-reloc-2.d | 2 +- gas/testsuite/gas/mips/pcrel-reloc-3.d | 2 +- gas/testsuite/gas/mips/pcrel-reloc-4.d | 2 +- gas/testsuite/gas/mips/pcrel-reloc-5.d | 2 +- gas/testsuite/gas/mips/pcrel-reloc-6.d | 2 +- gas/testsuite/gas/mips/set-arch.d | 4 + gas/testsuite/gas/mips/tmips16-e.d | 2 +- gas/testsuite/gas/mips/tmips16-f.d | 2 +- gas/testsuite/gas/mips/tmipsel16-e.d | 2 +- gas/testsuite/gas/mips/tmipsel16-f.d | 2 +- .../gas/mips/unaligned-branch-r6-1.s | 1 + .../gas/mips/unaligned-branch-r6-3.s | 1 + .../gas/mips/unaligned-branch-r6-5.d | 2 +- .../gas/mips/unaligned-jump-mips16-3.d | 2 +- ld/testsuite/ld-mips-elf/attr-gnu-4-01.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-4-11.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-4-40.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-4-41.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-8-00.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-8-01.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-8-02.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-8-10.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-8-11.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-8-20.d | 1 + ld/testsuite/ld-mips-elf/attr-gnu-8-22.d | 1 + ld/testsuite/ld-mips-elf/emit-relocs-1.d | 2 +- ld/testsuite/ld-mips-elf/gp-disp-sym.s | 2 +- ld/testsuite/ld-mips-elf/jalr3.dd | 2 +- ld/testsuite/ld-mips-elf/jalx-1.d | 2 +- ld/testsuite/ld-mips-elf/mips-elf.exp | 316 ++++++++++-------- ld/testsuite/ld-mips-elf/mips16-1.d | 4 +- .../ld-mips-elf/mips16-and-micromips.d | 4 +- .../ld-mips-elf/mode-change-error-1.d | 4 +- ld/testsuite/ld-mips-elf/n64-plt-1.dd | 2 +- ld/testsuite/ld-mips-elf/n64-plt-4.dd | 2 +- ld/testsuite/ld-mips-elf/nan-legacy.d | 1 + ld/testsuite/ld-mips-elf/nan-mixed-1.d | 1 + ld/testsuite/ld-mips-elf/nan-mixed-2.d | 1 + ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d | 2 +- ld/testsuite/ld-mips-elf/reloc-3.d | 2 +- 182 files changed, 621 insertions(+), 349 deletions(-) create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d create mode 100644 gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s create mode 100644 gas/testsuite/gas/mips/comdat-reloc-r6.d create mode 100644 gas/testsuite/gas/mips/module-mfp64r6-noodd.d create mode 100644 gas/testsuite/gas/mips/module-mfp64r6.d create mode 100644 gas/testsuite/gas/mips/module-msoft-float-r6.d create mode 100644 gas/testsuite/gas/mips/module-msoft-float-r6.s diff --git a/binutils/testsuite/binutils-all/mips/mips.exp b/binutils/testsuite/binutils-all/mips/mips.exp index 91bf3274592..3b7bc29056a 100644 --- a/binutils/testsuite/binutils-all/mips/mips.exp +++ b/binutils/testsuite/binutils-all/mips/mips.exp @@ -52,7 +52,8 @@ proc run_dump_test_abi { abi name args } { set ldflags $abi_ldflags($abi) set args [lreplace $args 0 0] } - if !$has_abi($abi) { + set abi_r [regsub "l$" $abi {}] + if !$has_abi($abi_r) { lappend args {notarget *-*-*} } @@ -74,6 +75,13 @@ proc run_dump_test_abi { abi name args } { proc run_dump_test_o32 { name args } { run_dump_test_abi o32 $name [lindex $args 0] } +proc run_dump_test_o32l { name args } { + if {[istarget *-linux*] || [istarget *-img-elf]} { + run_dump_test_abi o32l $name [lindex $args 0] + } else { + run_dump_test_abi o32 $name [lindex $args 0] + } +} # run_dump_test_n32 NAME ARGS # @@ -82,6 +90,13 @@ proc run_dump_test_o32 { name args } { proc run_dump_test_n32 { name args } { run_dump_test_abi n32 $name [lindex $args 0] } +proc run_dump_test_n32l { name args } { + if {[istarget *-linux*] || [istarget *-img-elf]} { + run_dump_test_abi n32l $name [lindex $args 0] + } else { + run_dump_test_abi n32 $name [lindex $args 0] + } +} # run_dump_test_n64 NAME ARGS # @@ -90,6 +105,13 @@ proc run_dump_test_n32 { name args } { proc run_dump_test_n64 { name args } { run_dump_test_abi n64 $name [lindex $args 0] } +proc run_dump_test_n64l { name args } { + if {[istarget *-linux*] || [istarget *-img-elf]} { + run_dump_test_abi n64l $name [lindex $args 0] + } else { + run_dump_test_abi n64 $name [lindex $args 0] + } +} set has_abi(o32) [expr ![istarget *-*-openbsd*] \ && ![istarget mips64*el-ps2-elf*]] @@ -109,49 +131,68 @@ set has_abi(n64) [expr [istarget *-*-freebsd*] \ || [istarget *-*-openbsd*]] # Set defaults. +# ABI with l tail means legacy, aka pre-R6. +# Please use them, if the test only suite for pre-R6, +# such as mips16/micromips tests. set abi_asflags(o32) "" +set abi_asflags(o32l) "" set abi_asflags(n32) "" +set abi_asflags(n32l) "" set abi_asflags(n64) "" +set abi_asflags(n64l) "" set abi_asflags(eabi) "" set abi_ldflags(o32) "" +set abi_ldflags(o32l) "" set abi_ldflags(n32) "" +set abi_ldflags(n32l) "" set abi_ldflags(n64) "" +set abi_ldflags(n64l) "" set abi_ldflags(eabi) "" # Override as needed. if {[istarget *-*-openbsd*] } { set irixemul 0 -} elseif { [istarget mips64*-*-linux*] } { +} elseif { [istarget mips*64*-*-linux*] } { + set abi_asflags(o32) -32 + set abi_asflags(o32l) "-32 -march=from-abi" + set abi_asflags(n32) "" + set abi_asflags(n32l) "-n32 -march=from-abi" + set abi_asflags(n64) "-64" + set abi_asflags(n64l) "-march=from-abi -64" if [istarget *el-*-*] { - set abi_asflags(o32) -32 set abi_ldflags(o32) -melf32ltsmip - set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(o32l) -melf32ltsmip set abi_ldflags(n64) -melf64ltsmip + set abi_ldflags(n64l) -melf64ltsmip } else { - set abi_asflags(o32) -32 set abi_ldflags(o32) -melf32btsmip - set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(o32l) -melf32btsmip set abi_ldflags(n64) -melf64btsmip + set abi_ldflags(n64l) -melf64btsmip } set irixemul 0 -} elseif {[istarget *-*-linux*] } { +} elseif {[istarget *-*-linux*] || [istarget *-img-elf] } { + set abi_asflags(o32) "" + set abi_asflags(o32l) "-march=from-abi" + set abi_asflags(n32) "-n32" + set abi_asflags(n32l) "-n32 -march=from-abi" + set abi_asflags(n64) "-64" + set abi_asflags(n64l) "-64 -march=from-abi" if [istarget *el-*-*] { - set abi_asflags(n32) "-march=from-abi -n32" set abi_ldflags(n32) -melf32ltsmipn32 - set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(n32l) -melf32ltsmipn32 set abi_ldflags(n64) -melf64ltsmip + set abi_ldflags(n64l) -melf64ltsmip } else { - set abi_asflags(n32) "-march=from-abi -n32" set abi_ldflags(n32) -melf32btsmipn32 - set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(n32l) -melf32btsmipn32 set abi_ldflags(n64) -melf64btsmip + set abi_ldflags(n64l) -melf64btsmip } set irixemul 0 -} elseif {[istarget *-img-elf*] \ - || [istarget *-mti-elf*] \ +} elseif {[istarget *-mti-elf*] \ || [istarget *-sde-elf*] \ || [istarget *-*-netbsd*] \ - || [istarget *-*-linux*] \ || [istarget *-*-sysv4*] } { if [istarget *el-*-*] { set abi_asflags(o32) -32 @@ -229,11 +270,13 @@ run_dump_test "mips-xpa-virt-3" run_dump_test "mips-xpa-virt-4" run_dump_test_o32 "mixed-mips16" noarch run_dump_test_o32 "mixed-micromips" noarch -run_dump_test "mixed-mips16-micromips" +run_dump_test_o32l "mixed-mips16-micromips" +run_dump_test_n32l "mixed-mips16-micromips" +run_dump_test_n64l "mixed-mips16-micromips" run_dump_test_o32 "mips16-undecoded" noarch run_dump_test_o32 "mips16e2-undecoded" noarch run_dump_test_o32 "mips16-pcrel" -run_dump_test_o32 "mips16-extend-noinsn" +run_dump_test_o32l "mips16-extend-noinsn" run_dump_test_o32 "mips16-extend-insn" noarch run_dump_test_o32 "mips16e2-extend-insn" noarch run_dump_test_o32 "mips16-alias" noarch diff --git a/gas/testsuite/gas/mips/align2-el.d b/gas/testsuite/gas/mips/align2-el.d index 1f50774f4d0..8072c528282 100644 --- a/gas/testsuite/gas/mips/align2-el.d +++ b/gas/testsuite/gas/mips/align2-el.d @@ -1,5 +1,5 @@ # source: align2.s -# as: -EL +# as: -EL -march=from-abi # objdump: -dr .* file format .* diff --git a/gas/testsuite/gas/mips/align2.d b/gas/testsuite/gas/mips/align2.d index 7090ceeb5c6..d14fa2ce7c4 100644 --- a/gas/testsuite/gas/mips/align2.d +++ b/gas/testsuite/gas/mips/align2.d @@ -1,4 +1,4 @@ -# as: -EB +# as: -EB -march=from-abi # objdump: -dr .* file format .* diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d b/gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d index 17218d31a11..9009c704bb6 100644 --- a/gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d +++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-1.d @@ -1,4 +1,4 @@ -#as: -32 +#as: -32 -mips1 #source: attr-gnu-abi-fp-1.s #readelf: -A #name: MIPS gnu_attribute Tag_GNU_MIPS_ABI_FP,1 diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d b/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d new file mode 100644 index 00000000000..2550241b925 --- /dev/null +++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.d @@ -0,0 +1,21 @@ +#as: -32 -mips2 -mfpxx +#source: attr-gnu-abi-fp-5.s +#readelf: -A +#name: MIPS gnu_attribute Tag_GNU_MIPS_ABI_FP,5 + +Attribute Section: gnu +File Attributes + Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, Any FPU\) + +MIPS ABI Flags Version: 0 + +ISA: MIPS.* +GPR size: 32 +CPR1 size: 32 +CPR2 size: 0 +FP ABI: Hard float \(32-bit CPU, Any FPU\) +ISA Extension: .* +ASEs: + None +FLAGS 1: 0000000. +FLAGS 2: 00000000 diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s b/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s new file mode 100644 index 00000000000..8d861309768 --- /dev/null +++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-5.s @@ -0,0 +1 @@ +.gnu_attribute Tag_GNU_MIPS_ABI_FP,5 diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d b/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d new file mode 100644 index 00000000000..ecb6fcd42a8 --- /dev/null +++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.d @@ -0,0 +1,21 @@ +#as: -32 -mips32r2 -mfp64 +#source: attr-gnu-abi-fp-6.s +#readelf: -A +#name: MIPS gnu_attribute Tag_GNU_MIPS_ABI_FP,6 + +Attribute Section: gnu +File Attributes + Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\) + +MIPS ABI Flags Version: 0 + +ISA: MIPS.* +GPR size: 32 +CPR1 size: 64 +CPR2 size: 0 +FP ABI: Hard float \(32-bit CPU, 64-bit FPU\) +ISA Extension: .* +ASEs: + None +FLAGS 1: 0000000. +FLAGS 2: 00000000 diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s b/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s new file mode 100644 index 00000000000..d0eefe4e50a --- /dev/null +++ b/gas/testsuite/gas/mips/attr-gnu-abi-fp-6.s @@ -0,0 +1 @@ +.gnu_attribute Tag_GNU_MIPS_ABI_FP,6 diff --git a/gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d b/gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d index 97fc8bf3f46..a4868af9c86 100644 --- a/gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d +++ b/gas/testsuite/gas/mips/attr-gnu-abi-msa-1.d @@ -4,7 +4,7 @@ Attribute Section: gnu File Attributes - Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\) + Tag_GNU_MIPS_ABI_FP: Hard float \(.*\) Tag_GNU_MIPS_ABI_MSA: 128-bit MSA #... diff --git a/gas/testsuite/gas/mips/branch-absolute-addend.d b/gas/testsuite/gas/mips/branch-absolute-addend.d index df868468ff1..8760db07fe6 100644 --- a/gas/testsuite/gas/mips/branch-absolute-addend.d +++ b/gas/testsuite/gas/mips/branch-absolute-addend.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS branch to absolute expression with addend -#as: -32 +#as: -32 -mips2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-absolute.d b/gas/testsuite/gas/mips/branch-absolute.d index 816c139e778..6199f17af5c 100644 --- a/gas/testsuite/gas/mips/branch-absolute.d +++ b/gas/testsuite/gas/mips/branch-absolute.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS branch to absolute expression -#as: -32 +#as: -32 -mips2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-addend-micromips.d b/gas/testsuite/gas/mips/branch-addend-micromips.d index 345d9df9bfd..9b3313fe456 100644 --- a/gas/testsuite/gas/mips/branch-addend-micromips.d +++ b/gas/testsuite/gas/mips/branch-addend-micromips.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS BAL addend encoding -#as: -32 +#as: -32 -mips32r2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-addend.d b/gas/testsuite/gas/mips/branch-addend.d index ecee734abd4..4f12717ddfb 100644 --- a/gas/testsuite/gas/mips/branch-addend.d +++ b/gas/testsuite/gas/mips/branch-addend.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS BAL addend encoding -#as: -32 +#as: -32 -mips32r2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-extern-2.d b/gas/testsuite/gas/mips/branch-extern-2.d index 4c0078fb04b..e12d3cabb50 100644 --- a/gas/testsuite/gas/mips/branch-extern-2.d +++ b/gas/testsuite/gas/mips/branch-extern-2.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS branch to an external symbol -#as: -32 -KPIC -mmicromips +#as: -32 -KPIC -mips32r2 -mmicromips #source: branch-extern.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-extern-4.d b/gas/testsuite/gas/mips/branch-extern-4.d index 7aa73566e07..f76278dae44 100644 --- a/gas/testsuite/gas/mips/branch-extern-4.d +++ b/gas/testsuite/gas/mips/branch-extern-4.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS relaxed branch to an external symbol -#as: -32 -KPIC -mmicromips --relax-branch +#as: -32 -KPIC -mips32r2 -mmicromips --relax-branch #source: branch-extern.s #warning_output: branch-extern.l diff --git a/gas/testsuite/gas/mips/branch-local-1.d b/gas/testsuite/gas/mips/branch-local-1.d index f85bb8da5ff..f4d2f955654 100644 --- a/gas/testsuite/gas/mips/branch-local-1.d +++ b/gas/testsuite/gas/mips/branch-local-1.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS branch local symbol relocation 1 -#as: -32 +#as: -32 -mips32r2 #source: branch-local-1.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-local-2.d b/gas/testsuite/gas/mips/branch-local-2.d index e11569610a6..b8d34f72f66 100644 --- a/gas/testsuite/gas/mips/branch-local-2.d +++ b/gas/testsuite/gas/mips/branch-local-2.d @@ -1,3 +1,3 @@ #name: MIPS branch local symbol relocation 2 -#as: -32 +#as: -32 -mips32r2 #error_output: branch-local-2.l diff --git a/gas/testsuite/gas/mips/branch-local-3.d b/gas/testsuite/gas/mips/branch-local-3.d index 4dc3a59059b..06f9a769f01 100644 --- a/gas/testsuite/gas/mips/branch-local-3.d +++ b/gas/testsuite/gas/mips/branch-local-3.d @@ -1,3 +1,3 @@ #name: MIPS branch local symbol relocation 3 -#as: -32 +#as: -32 -mips32r2 #error_output: branch-local-3.l diff --git a/gas/testsuite/gas/mips/branch-local-4.d b/gas/testsuite/gas/mips/branch-local-4.d index cf5f8b3cc3f..7675dacb737 100644 --- a/gas/testsuite/gas/mips/branch-local-4.d +++ b/gas/testsuite/gas/mips/branch-local-4.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS branch local symbol relocation 4 -#as: -32 +#as: -32 -mips32r2 #source: branch-local-4.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-local-5.d b/gas/testsuite/gas/mips/branch-local-5.d index 252defb8917..1c43885f83e 100644 --- a/gas/testsuite/gas/mips/branch-local-5.d +++ b/gas/testsuite/gas/mips/branch-local-5.d @@ -1,3 +1,3 @@ #name: MIPS branch local symbol relocation 5 -#as: -32 +#as: -32 -mips1 #error_output: branch-local-5.l diff --git a/gas/testsuite/gas/mips/branch-local-6.d b/gas/testsuite/gas/mips/branch-local-6.d index dd7c9809871..276ed3eddc6 100644 --- a/gas/testsuite/gas/mips/branch-local-6.d +++ b/gas/testsuite/gas/mips/branch-local-6.d @@ -1,3 +1,3 @@ #name: MIPS branch local symbol relocation 6 -#as: -32 +#as: -32 -mips32r2 #error_output: branch-local-6.l diff --git a/gas/testsuite/gas/mips/branch-local-7.d b/gas/testsuite/gas/mips/branch-local-7.d index 0cc2a1140bb..d490a7bfebe 100644 --- a/gas/testsuite/gas/mips/branch-local-7.d +++ b/gas/testsuite/gas/mips/branch-local-7.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS branch local symbol relocation 7 -#as: -32 +#as: -32 -mips32r2 #source: branch-local-7.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-local-ignore-2.d b/gas/testsuite/gas/mips/branch-local-ignore-2.d index ddac741f65d..6674a2d4043 100644 --- a/gas/testsuite/gas/mips/branch-local-ignore-2.d +++ b/gas/testsuite/gas/mips/branch-local-ignore-2.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS branch local symbol relocation 2 (ignore branch ISA) -#as: -32 -mignore-branch-isa +#as: -32 -mips32r2 -mignore-branch-isa #source: branch-local-2.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-local-ignore-3.d b/gas/testsuite/gas/mips/branch-local-ignore-3.d index 918a2cedfda..433fc414a14 100644 --- a/gas/testsuite/gas/mips/branch-local-ignore-3.d +++ b/gas/testsuite/gas/mips/branch-local-ignore-3.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa32r6 #name: MIPS branch local symbol relocation 3 (ignore branch ISA) -#as: -32 -mignore-branch-isa +#as: -32 -mips32r2 -mignore-branch-isa #source: branch-local-3.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-local-ignore-5.d b/gas/testsuite/gas/mips/branch-local-ignore-5.d index 94ffe196900..3102ee5c6aa 100644 --- a/gas/testsuite/gas/mips/branch-local-ignore-5.d +++ b/gas/testsuite/gas/mips/branch-local-ignore-5.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS branch local symbol relocation 5 (ignore branch ISA) -#as: -32 -mignore-branch-isa +#as: -32 -mips1 -mignore-branch-isa #source: branch-local-5.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-local-ignore-6.d b/gas/testsuite/gas/mips/branch-local-ignore-6.d index 156568822e3..71d110d1856 100644 --- a/gas/testsuite/gas/mips/branch-local-ignore-6.d +++ b/gas/testsuite/gas/mips/branch-local-ignore-6.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS branch local symbol relocation 6 (ignore branch ISA) -#as: -32 -mignore-branch-isa +#as: -32 -mips32r2 -mignore-branch-isa #source: branch-local-6.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-section-1.d b/gas/testsuite/gas/mips/branch-section-1.d index 7782d0c0754..08c678d27ed 100644 --- a/gas/testsuite/gas/mips/branch-section-1.d +++ b/gas/testsuite/gas/mips/branch-section-1.d @@ -12,6 +12,6 @@ Disassembly of section \.text: \.\.\. Disassembly of section \.init: -[0-9a-f]+ <[^>]*> 03e00008 jr ra +[0-9a-f]+ <[^>]*> 03e0000[89] jr ra [0-9a-f]+ <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/branch-section-2.d b/gas/testsuite/gas/mips/branch-section-2.d index 6009fe5b120..caf092c932a 100644 --- a/gas/testsuite/gas/mips/branch-section-2.d +++ b/gas/testsuite/gas/mips/branch-section-2.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS branch to a different section -#as: -32 -mmicromips +#as: -32 -mips32r2 -mmicromips #source: branch-section.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-section-3.d b/gas/testsuite/gas/mips/branch-section-3.d index b10fcde731d..d9072cbe5ac 100644 --- a/gas/testsuite/gas/mips/branch-section-3.d +++ b/gas/testsuite/gas/mips/branch-section-3.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS relaxed branch to a different section -#as: -32 --relax-branch +#as: -32 -mips32r2 --relax-branch #source: branch-section.s #warning_output: branch-section.l diff --git a/gas/testsuite/gas/mips/branch-section-4.d b/gas/testsuite/gas/mips/branch-section-4.d index b6ad0bba6b2..a831b6d06f0 100644 --- a/gas/testsuite/gas/mips/branch-section-4.d +++ b/gas/testsuite/gas/mips/branch-section-4.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS relaxed branch to a different section -#as: -32 -mmicromips --relax-branch +#as: -32 -mips32r2 -mmicromips --relax-branch #source: branch-section.s #warning_output: branch-section.l diff --git a/gas/testsuite/gas/mips/branch-weak-1.d b/gas/testsuite/gas/mips/branch-weak-1.d index 859a2ca69fb..349b5d96c8d 100644 --- a/gas/testsuite/gas/mips/branch-weak-1.d +++ b/gas/testsuite/gas/mips/branch-weak-1.d @@ -10,6 +10,6 @@ Disassembly of section \.text: [ ]*[0-9a-f]+: R_MIPS_PC16 bar [0-9a-f]+ <[^>]*> 00000000 nop \.\.\. -[0-9a-f]+ <[^>]*> 03e00008 jr ra +[0-9a-f]+ <[^>]*> 03e0000[89] jr ra [0-9a-f]+ <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/branch-weak-2.d b/gas/testsuite/gas/mips/branch-weak-2.d index 61a10e00e6e..a7fbcabb2db 100644 --- a/gas/testsuite/gas/mips/branch-weak-2.d +++ b/gas/testsuite/gas/mips/branch-weak-2.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS branch to a weak symbol -#as: -32 -mmicromips --defsym align=12 +#as: -32 -mips32r2 -mmicromips --defsym align=12 #source: branch-weak.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-weak-3.d b/gas/testsuite/gas/mips/branch-weak-3.d index 8e6e8cfe4fe..11ceade64e0 100644 --- a/gas/testsuite/gas/mips/branch-weak-3.d +++ b/gas/testsuite/gas/mips/branch-weak-3.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS relaxed branch to a weak symbol -#as: -32 --relax-branch --defsym align=12 +#as: -32 -mips1 --relax-branch --defsym align=12 #source: branch-weak.s #warning_output: branch-weak.l diff --git a/gas/testsuite/gas/mips/branch-weak-4.d b/gas/testsuite/gas/mips/branch-weak-4.d index d21e1477b06..8cc1f51ad32 100644 --- a/gas/testsuite/gas/mips/branch-weak-4.d +++ b/gas/testsuite/gas/mips/branch-weak-4.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS relaxed branch to a weak symbol -#as: -32 -mmicromips --relax-branch --defsym align=12 +#as: -32 -mips32r2 -mmicromips --relax-branch --defsym align=12 #source: branch-weak.s #warning_output: branch-weak.l diff --git a/gas/testsuite/gas/mips/branch-weak-5.d b/gas/testsuite/gas/mips/branch-weak-5.d index 13d8bdf13fc..67cd02ba8f5 100644 --- a/gas/testsuite/gas/mips/branch-weak-5.d +++ b/gas/testsuite/gas/mips/branch-weak-5.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS short branch to a weak symbol -#as: -32 -mmicromips --defsym align=4 +#as: -32 -mips32r2 -mmicromips --defsym align=4 #source: branch-weak.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-weak-6.d b/gas/testsuite/gas/mips/branch-weak-6.d index e16b1b89c16..f7076a79cc5 100644 --- a/gas/testsuite/gas/mips/branch-weak-6.d +++ b/gas/testsuite/gas/mips/branch-weak-6.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch to a weak symbol -#as: -32 -mips16 --defsym align=12 +#as: -32 -mips1 -mips16 --defsym align=12 #source: branch-weak.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/branch-weak-7.d b/gas/testsuite/gas/mips/branch-weak-7.d index b291289fbfb..90743d43216 100644 --- a/gas/testsuite/gas/mips/branch-weak-7.d +++ b/gas/testsuite/gas/mips/branch-weak-7.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 short branch to a weak symbol -#as: -32 -mips16 --defsym align=4 +#as: -32 -mips1 -mips16 --defsym align=4 #source: branch-weak.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/comdat-reloc-r6.d b/gas/testsuite/gas/mips/comdat-reloc-r6.d new file mode 100644 index 00000000000..5b3bc3aee63 --- /dev/null +++ b/gas/testsuite/gas/mips/comdat-reloc-r6.d @@ -0,0 +1,34 @@ +#readelf: -gr +#name: MIPS ELF o32 PIC comdat GOT16/LO16 relocation pairing +#as: -32 -mno-pdr -mips32r6 +#source: comdat-reloc.s + +# Make sure the orphan GOT16 relocation is paired with LO16 for a local +# symbol in a comdat section, i.e. rather than this: +# +# 00000014 00000509 R_MIPS_GOT16 00000000 foo +# 00000020 00000506 R_MIPS_LO16 00000000 foo +# 0000001c 00000509 R_MIPS_GOT16 00000000 foo +# +# we have this: +# +# 00000014 00000509 R_MIPS_GOT16 00000000 foo +# 00000024 00000509 R_MIPS_GOT16 00000000 foo +# 0000001c 00000506 R_MIPS_LO16 00000000 foo + +#... +COMDAT group section \[.....\] `\.group' \[bar\] contains .+ sections: + \[Index\] Name + \[.....\] \.text\.foo + \[.....\] \.text\.bar +#... +Relocation section '\.rel\.text\.bar' at offset .+ contains .+ entries: + Offset Info Type Sym\.Value Sym\. Name +00000000 ......05 R_MIPS_HI16 00000000 _gp_disp +00000004 ......06 R_MIPS_LO16 00000000 _gp_disp +0000000c ......0a R_MIPS_PC16 00000020 \.L1\^B1 +00000014 ......09 R_MIPS_GOT16 00000000 foo +00000024 ......09 R_MIPS_GOT16 00000000 foo +0000001c ......06 R_MIPS_LO16 00000000 foo +00000020 ......0a R_MIPS_PC16 00000018 \.L0\^B1 +#pass diff --git a/gas/testsuite/gas/mips/comdat-reloc.d b/gas/testsuite/gas/mips/comdat-reloc.d index 12d092a5bb1..f9bc12fdac9 100644 --- a/gas/testsuite/gas/mips/comdat-reloc.d +++ b/gas/testsuite/gas/mips/comdat-reloc.d @@ -1,6 +1,6 @@ #readelf: -gr #name: MIPS ELF o32 PIC comdat GOT16/LO16 relocation pairing -#as: -32 -mno-pdr +#as: -32 -mno-pdr -mips1 # Make sure the orphan GOT16 relocation is paired with LO16 for a local # symbol in a comdat section, i.e. rather than this: diff --git a/gas/testsuite/gas/mips/compact-eh-eb-1.d b/gas/testsuite/gas/mips/compact-eh-eb-1.d index c4121629f46..de88882296d 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-1.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-1.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EB #1 with personality ID and FDE data #source: compact-eh-1.s -#as: -EB -mno-pdr +#as: -march=from-abi -EB -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-2.d b/gas/testsuite/gas/mips/compact-eh-eb-2.d index e0885864bc5..e8d9f489d92 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-2.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-2.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EB #2 with personality routine and FDE data #source: compact-eh-2.s -#as: -EB -mno-pdr +#as: -march=from-abi -EB -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-3.d b/gas/testsuite/gas/mips/compact-eh-eb-3.d index 2f0e8447fc2..3a5345c79c6 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-3.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-3.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EB #3 with personality id and large FDE data #source: compact-eh-3.s -#as: -EB -mno-pdr +#as: -march=from-abi -EB -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-4.d b/gas/testsuite/gas/mips/compact-eh-eb-4.d index 4ca4a24bc19..a39ab45455c 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-4.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-4.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EB #4 with personality id, FDE data and LSDA #source: compact-eh-4.s -#as: -EB -mno-pdr +#as: -march=from-abi -EB -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-5.d b/gas/testsuite/gas/mips/compact-eh-eb-5.d index 298d2831a9d..bc568353605 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-5.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-5.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EB #5 with personality routine, FDE data and LSDA #source: compact-eh-5.s -#as: -EB -mno-pdr +#as: -march=from-abi -EB -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-6.d b/gas/testsuite/gas/mips/compact-eh-eb-6.d index 3766ecb7432..a3d13c50035 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-6.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-6.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EB #6 with personality id, LSDA and large FDE data #source: compact-eh-6.s -#as: -EB -mno-pdr +#as: -march=from-abi -EB -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-7.d b/gas/testsuite/gas/mips/compact-eh-eb-7.d index 8c891237fee..82da65ca286 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-7.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-7.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EB #7 with personality id and fallback FDE #source: compact-eh-7.s -#as: -EB -mno-pdr +#as: -march=from-abi -EB -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-el-1.d b/gas/testsuite/gas/mips/compact-eh-el-1.d index 7046dd4cfde..d88871242aa 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-1.d +++ b/gas/testsuite/gas/mips/compact-eh-el-1.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EL #1 with personality ID and FDE data #source: compact-eh-1.s -#as: -EL -mno-pdr +#as: -march=from-abi -EL -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-el-2.d b/gas/testsuite/gas/mips/compact-eh-el-2.d index 3573670880c..b589122af59 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-2.d +++ b/gas/testsuite/gas/mips/compact-eh-el-2.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EL #2 with personality routine and FDE data #source: compact-eh-2.s -#as: -EL -mno-pdr +#as: -march=from-abi -EL -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-el-3.d b/gas/testsuite/gas/mips/compact-eh-el-3.d index b426ec96566..bffe5772343 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-3.d +++ b/gas/testsuite/gas/mips/compact-eh-el-3.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EL #3 with personality id and large FDE data #source: compact-eh-3.s -#as: -EL -mno-pdr +#as: -march=from-abi -EL -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-el-4.d b/gas/testsuite/gas/mips/compact-eh-el-4.d index 67d85926331..85bc6d10e1d 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-4.d +++ b/gas/testsuite/gas/mips/compact-eh-el-4.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EL #4 with personality id, FDE data and LSDA #source: compact-eh-4.s -#as: -EL -mno-pdr +#as: -march=from-abi -EL -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-el-5.d b/gas/testsuite/gas/mips/compact-eh-el-5.d index 623cc067dbd..ffa93b6e7e8 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-5.d +++ b/gas/testsuite/gas/mips/compact-eh-el-5.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EL #5 with personality routine, FDE data and LSDA #source: compact-eh-5.s -#as: -EL -mno-pdr +#as: -march=from-abi -EL -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-el-6.d b/gas/testsuite/gas/mips/compact-eh-el-6.d index 7d5e2dd15c3..3dc8fb9ac57 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-6.d +++ b/gas/testsuite/gas/mips/compact-eh-el-6.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EL #6 with personality id, LSDA and large FDE data #source: compact-eh-6.s -#as: -EL -mno-pdr +#as: -march=from-abi -EL -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/compact-eh-el-7.d b/gas/testsuite/gas/mips/compact-eh-el-7.d index 7296c606e01..626f84c0202 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-7.d +++ b/gas/testsuite/gas/mips/compact-eh-el-7.d @@ -1,7 +1,7 @@ #objdump: -sr #name: Compact EH EL #7 with personality id and fallback FDE #source: compact-eh-7.s -#as: -EL -mno-pdr +#as: -march=from-abi -EL -mno-pdr .*: file format.* diff --git a/gas/testsuite/gas/mips/elf-rel.d b/gas/testsuite/gas/mips/elf-rel.d index bb7077eb771..27d3d8848d4 100644 --- a/gas/testsuite/gas/mips/elf-rel.d +++ b/gas/testsuite/gas/mips/elf-rel.d @@ -48,12 +48,12 @@ OFFSET +TYPE +VALUE Contents of section \.text: 0000 3c010000 3c010000 3c010001 3c010001 .* - 0010 3c010000 3c010001 20210018 2021001c .* - 0020 20210018 2021001c 20218018 2021fffc .* + 0010 3c010000 3c010001 24210018 2421001c .* + 0020 24210018 2421001c 24218018 2421fffc .* 0030 3c010001 3c010001 3c010002 3c010002 .* - 0040 3c010001 3c010001 2021bffe 2021c002 .* - 0050 2021bffe 2021c002 20213ffe 2021bffa .* + 0040 3c010001 3c010001 2421bffe 2421c002 .* + 0050 2421bffe 2421c002 24213ffe 2421bffa .* 0060 3c010001 3c010001 3c010002 3c010002 .* - 0070 3c010001 3c010001 2021bffe 2021c002 .* - 0080 2021bffe 2021c002 20213ffe 2021bffa .* + 0070 3c010001 3c010001 2421bffe 2421c002 .* + 0080 2421bffe 2421c002 24213ffe 2421bffa .* #pass diff --git a/gas/testsuite/gas/mips/elf-rel.s b/gas/testsuite/gas/mips/elf-rel.s index 873bc5fd86a..06c67a659bf 100644 --- a/gas/testsuite/gas/mips/elf-rel.s +++ b/gas/testsuite/gas/mips/elf-rel.s @@ -12,12 +12,12 @@ l2 = l0+49150 lui $at,%hi(l0-4) lui $at,%hi(l1+0x8000) l1: - addi $at,$at,%lo(l1) - addi $at,$at,%lo(l1+0x10004) - addi $at,$at,%lo(l1+0x10000) - addi $at,$at,%lo(l1+4) - addi $at,$at,%lo(l1+0x8000) - addi $at,$at,%lo(l0-4) + addiu $at,$at,%lo(l1) + addiu $at,$at,%lo(l1+0x10004) + addiu $at,$at,%lo(l1+0x10000) + addiu $at,$at,%lo(l1+4) + addiu $at,$at,%lo(l1+0x8000) + addiu $at,$at,%lo(l0-4) lui $at,%hi(l2) lui $at,%hi(l2+4) @@ -25,12 +25,12 @@ l1: lui $at,%hi(l2+0x10004) lui $at,%hi(l2-4) lui $at,%hi(l2+0x8000) - addi $at,$at,%lo(l2) - addi $at,$at,%lo(l2+4) - addi $at,$at,%lo(l2+0x10000) - addi $at,$at,%lo(l2+0x10004) - addi $at,$at,%lo(l2+0x8000) - addi $at,$at,%lo(l2-4) + addiu $at,$at,%lo(l2) + addiu $at,$at,%lo(l2+4) + addiu $at,$at,%lo(l2+0x10000) + addiu $at,$at,%lo(l2+0x10004) + addiu $at,$at,%lo(l2+0x8000) + addiu $at,$at,%lo(l2-4) lui $at,%hi((l2)) lui $at,%hi(((l2+4))) @@ -38,9 +38,9 @@ l1: lui $at,%hi(((((l2+0x10004))))) lui $at,%hi((((((l2-4)))))) lui $at,%hi(((((((l2+0x8000))))))) - addi $at,$at,%lo((l2)) - addi $at,$at,%lo(((l2+4))) - addi $at,$at,%lo((((l2+0x10000)))) - addi $at,$at,%lo(((((l2+0x10004))))) - addi $at,$at,%lo((((((l2+0x8000)))))) - addi $at,$at,%lo(((((((l2-4))))))) + addiu $at,$at,%lo((l2)) + addiu $at,$at,%lo(((l2+4))) + addiu $at,$at,%lo((((l2+0x10000)))) + addiu $at,$at,%lo(((((l2+0x10004))))) + addiu $at,$at,%lo((((((l2+0x8000)))))) + addiu $at,$at,%lo(((((((l2-4))))))) diff --git a/gas/testsuite/gas/mips/elf-rel6.d b/gas/testsuite/gas/mips/elf-rel6.d index cea8d7fd81b..4918344b54e 100644 --- a/gas/testsuite/gas/mips/elf-rel6.d +++ b/gas/testsuite/gas/mips/elf-rel6.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses #name: MIPS ELF reloc 6 -#as: -32 +#as: -32 -mips1 .*: +file format elf.*mips.* diff --git a/gas/testsuite/gas/mips/elf_ase_micromips-2.d b/gas/testsuite/gas/mips/elf_ase_micromips-2.d index 0eab856bd53..b7c38374853 100644 --- a/gas/testsuite/gas/mips/elf_ase_micromips-2.d +++ b/gas/testsuite/gas/mips/elf_ase_micromips-2.d @@ -1,7 +1,7 @@ # name: ELF microMIPS ASE markings 2 # source: nop.s # objdump: -p -# as: -32 -mmicromips +# as: -32 -mips32r2 -mmicromips .*:.*file format.*mips.* private flags = [0-9a-f]*[2367abef]......: .*[[,]micromips[],].* diff --git a/gas/testsuite/gas/mips/elf_ase_micromips.d b/gas/testsuite/gas/mips/elf_ase_micromips.d index 507e2708cc0..9afc1f3e6c5 100644 --- a/gas/testsuite/gas/mips/elf_ase_micromips.d +++ b/gas/testsuite/gas/mips/elf_ase_micromips.d @@ -1,7 +1,7 @@ # name: ELF microMIPS ASE markings # source: empty.s # objdump: -p -# as: -32 -mmicromips +# as: -32 -mips32r2 -mmicromips .*:.*file format.*mips.* !private flags = .*micromips.* diff --git a/gas/testsuite/gas/mips/elf_ase_mips16-2.d b/gas/testsuite/gas/mips/elf_ase_mips16-2.d index d19a07d4912..bedf56c2127 100644 --- a/gas/testsuite/gas/mips/elf_ase_mips16-2.d +++ b/gas/testsuite/gas/mips/elf_ase_mips16-2.d @@ -1,7 +1,7 @@ # name: ELF MIPS16 ASE markings 2 # source: nop.s # objdump: -p -# as: -32 -mips16 +# as: -32 -mips1 -mips16 .*:.*file format.*mips.* private flags = [0-9a-f]*[4-7c-f]......: .*[[,]mips16[],].* diff --git a/gas/testsuite/gas/mips/elf_ase_mips16.d b/gas/testsuite/gas/mips/elf_ase_mips16.d index 20e0d8a5ba4..1b9c24ae959 100644 --- a/gas/testsuite/gas/mips/elf_ase_mips16.d +++ b/gas/testsuite/gas/mips/elf_ase_mips16.d @@ -1,7 +1,7 @@ # name: ELF MIPS16 ASE markings # source: empty.s # objdump: -p -# as: -32 -mips16 +# as: -32 -mips1 -mips16 .*:.*file format.*mips.* !private flags = .*mips16.* diff --git a/gas/testsuite/gas/mips/elfel-rel.d b/gas/testsuite/gas/mips/elfel-rel.d index 7a9a3b92bfb..11fc7ad2157 100644 --- a/gas/testsuite/gas/mips/elfel-rel.d +++ b/gas/testsuite/gas/mips/elfel-rel.d @@ -49,12 +49,12 @@ OFFSET +TYPE +VALUE Contents of section \.text: 0000 0000013c 0000013c 0100013c 0100013c .* - 0010 0000013c 0100013c 18002120 1c002120 .* - 0020 18002120 1c002120 18802120 fcff2120 .* + 0010 0000013c 0100013c 18002124 1c002124 .* + 0020 18002124 1c002124 18802124 fcff2124 .* 0030 0100013c 0100013c 0200013c 0200013c .* - 0040 0100013c 0100013c febf2120 02c02120 .* - 0050 febf2120 02c02120 fe3f2120 fabf2120 .* + 0040 0100013c 0100013c febf2124 02c02124 .* + 0050 febf2124 02c02124 fe3f2124 fabf2124 .* 0060 0100013c 0100013c 0200013c 0200013c .* - 0070 0100013c 0100013c febf2120 02c02120 .* - 0080 febf2120 02c02120 fe3f2120 fabf2120 .* + 0070 0100013c 0100013c febf2124 02c02124 .* + 0080 febf2124 02c02124 fe3f2124 fabf2124 .* #pass diff --git a/gas/testsuite/gas/mips/insn-isa-mode.d b/gas/testsuite/gas/mips/insn-isa-mode.d index 9d2c61b96c1..6307ae57266 100644 --- a/gas/testsuite/gas/mips/insn-isa-mode.d +++ b/gas/testsuite/gas/mips/insn-isa-mode.d @@ -1,6 +1,6 @@ #objdump: -dr --show-raw-insn #name: microMIPS ISA mode for .insn label references -#as: -32 +#as: -32 -mips32r2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/insn-opts.d b/gas/testsuite/gas/mips/insn-opts.d index a61c95e12b6..2466397fd07 100644 --- a/gas/testsuite/gas/mips/insn-opts.d +++ b/gas/testsuite/gas/mips/insn-opts.d @@ -1,5 +1,6 @@ #objdump: -dtz -j .text --prefix-addresses --show-raw-insn #name: MIPS .insn default file options +#as: -march=from-abi # Check that .insn at the beginning of assembly sees default file options # such as the ISA mode right. diff --git a/gas/testsuite/gas/mips/jalx-addend.d b/gas/testsuite/gas/mips/jalx-addend.d index 442bc69741b..a022eafe861 100644 --- a/gas/testsuite/gas/mips/jalx-addend.d +++ b/gas/testsuite/gas/mips/jalx-addend.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS JAL/JALX addend encoding -#as: -32 +#as: -32 -mips32r2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/jalx-imm.d b/gas/testsuite/gas/mips/jalx-imm.d index aa487ffc176..4d265b59425 100644 --- a/gas/testsuite/gas/mips/jalx-imm.d +++ b/gas/testsuite/gas/mips/jalx-imm.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS JAL/JALX immediate operand encoding -#as: -32 +#as: -32 -mips32r2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/jalx-local.d b/gas/testsuite/gas/mips/jalx-local.d index e380160ff38..65bb9f8a2e5 100644 --- a/gas/testsuite/gas/mips/jalx-local.d +++ b/gas/testsuite/gas/mips/jalx-local.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS JALX local symbol relocation -#as: -32 +#as: -32 -mips32r2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/loongson-2f-3.d b/gas/testsuite/gas/mips/loongson-2f-3.d index 9063df1a856..5269bcc33bc 100644 --- a/gas/testsuite/gas/mips/loongson-2f-3.d +++ b/gas/testsuite/gas/mips/loongson-2f-3.d @@ -1,4 +1,4 @@ -#as: -mfix-loongson2f-jump +#as: -march=loongson2f -mfix-loongson2f-jump #objdump: -M reg-names=numeric -dr #name: ST Microelectronics Loongson-2F workarounds of Jump Instruction issue diff --git a/gas/testsuite/gas/mips/micromips-b16.d b/gas/testsuite/gas/mips/micromips-b16.d index 16e8a7a9e67..e0661892e8c 100644 --- a/gas/testsuite/gas/mips/micromips-b16.d +++ b/gas/testsuite/gas/mips/micromips-b16.d @@ -1,6 +1,6 @@ #objdump: -dr --show-raw-insn #name: microMIPS b16, bnez16, beqz16 -#as: -32 -mmicromips +#as: -32 -mmicromips -mips32r2 #source: micromips-b16.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/micromips-branch-absolute-addend.d b/gas/testsuite/gas/mips/micromips-branch-absolute-addend.d index fd224b56caa..3f6e3369856 100644 --- a/gas/testsuite/gas/mips/micromips-branch-absolute-addend.d +++ b/gas/testsuite/gas/mips/micromips-branch-absolute-addend.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS branch to absolute expression with addend -#as: -32 +#as: -32 -mips32r2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/micromips-branch-absolute.d b/gas/testsuite/gas/mips/micromips-branch-absolute.d index 7fc6b9a7832..73328726013 100644 --- a/gas/testsuite/gas/mips/micromips-branch-absolute.d +++ b/gas/testsuite/gas/mips/micromips-branch-absolute.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS branch to absolute expression -#as: -32 +#as: -32 -mips32r2 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d b/gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d index b2d820ec106..43a5cca20f2 100644 --- a/gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d +++ b/gas/testsuite/gas/mips/micromips-warn-branch-delay-1.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: microMIPS fixed-size branch delay slots 1 -#as: -32 -mmicromips +#as: -32 -mmicromips -mips32r2 #source: micromips-warn-branch-delay-1.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/micromips-warn-branch-delay.d b/gas/testsuite/gas/mips/micromips-warn-branch-delay.d index c30edc62d77..44fffdaaa71 100644 --- a/gas/testsuite/gas/mips/micromips-warn-branch-delay.d +++ b/gas/testsuite/gas/mips/micromips-warn-branch-delay.d @@ -1,6 +1,6 @@ #objdump: -dr --show-raw-insn -M gpr-names=numeric #name: microMIPS fixed-size branch delay slots -#as: -mmicromips +#as: -mmicromips -march=from-abi #source: micromips-warn-branch-delay.s #warning_output: micromips-warn-branch-delay.l diff --git a/gas/testsuite/gas/mips/mips-jalx-2.d b/gas/testsuite/gas/mips/mips-jalx-2.d index fa8bfaceb53..2cc1323adc5 100644 --- a/gas/testsuite/gas/mips/mips-jalx-2.d +++ b/gas/testsuite/gas/mips/mips-jalx-2.d @@ -1,5 +1,5 @@ #objdump: -d -#as: +#as: -march=from-abi #name: mips jalx-2 .*: file format .* diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 46823cfcf11..28bc88b1725 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -296,7 +296,15 @@ proc mips_arch_list_matching {args} { continue } if { [mips_arch_matches $arch $args] } { - lappend l $arch + # If the triple is mipsisa32*/mipsisa64*, we skip the 'default' + # Since it will always run. + if { [string compare $arch default] == 0 && [istarget mipsisa32*-*] } { + continue + } elseif { [string compare $arch default] == 0 && [istarget mipsisa64*-*] } { + continue + } else { + lappend l $arch + } } } return $l @@ -559,7 +567,8 @@ if { [istarget mips*-*-vxworks*] } { "MIPS invalid switch to SVR4 PIC from VxWorks PIC" } elseif { [istarget mips*-*-*] } { set addr32 [expr [istarget mipstx39*-*-*] || [istarget mips-*-linux*] || [istarget mipsel-*-linux*] \ - || [istarget mipsisa32*-*-linux*] || [istarget mipsisa32*el-*-linux*]] + || [istarget mipsisa32*-*-linux*] || [istarget mipsisa32*el-*-linux*] \ + || [istarget mips-*-elf] || [istarget mipsel-*-elf]] set has_newabi [expr [istarget *-*-irix6*] || [istarget mips*-*-linux*] \ || [istarget mips*-sde-elf*] || [istarget mips*-mti-elf*] \ || [istarget mips*-img-elf*]] @@ -624,7 +633,7 @@ if { [istarget mips*-*-vxworks*] } { # we use and some space will have been already consumed. The exact # amount depends on the host's programming model. for { set count 960 } { $count <= 1024 } { incr count } { - run_list_test "branch-swap-2" "--defsym count=$count" \ + run_list_test "branch-swap-2" "-march=from-abi --defsym count=$count" \ "MIPS branch swapping ($count)" } @@ -715,8 +724,8 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "compact-eh-el-5" run_dump_test "compact-eh-el-6" run_dump_test "compact-eh-el-7" - run_list_test "compact-eh-err1" - run_list_test "compact-eh-err2" + run_list_test "compact-eh-err1" "-march=from-abi" + run_list_test "compact-eh-err2" "-march=from-abi" run_dump_test "div" @@ -953,30 +962,30 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "jalx-local-n64" } - run_list_test "unaligned-jump-1" "-32" \ + run_list_test "unaligned-jump-1" "-32 -mips32r2" \ "MIPS jump to unaligned symbol 1" - run_list_test "unaligned-jump-2" "-32" \ + run_list_test "unaligned-jump-2" "-32 -mips32r2" \ "MIPS jump to unaligned symbol 2" if $has_newabi { run_dump_test "unaligned-jump-3" } - run_list_test "unaligned-jump-mips16-1" "-32" \ + run_list_test "unaligned-jump-mips16-1" "-32 -mips1" \ "MIPS16 jump to unaligned symbol 1" - run_list_test "unaligned-jump-mips16-2" "-32" \ + run_list_test "unaligned-jump-mips16-2" "-32 -mips1" \ "MIPS16 jump to unaligned symbol 2" if $has_newabi { run_dump_test "unaligned-jump-mips16-3" } - run_list_test "unaligned-jump-micromips-1" "-32" \ + run_list_test "unaligned-jump-micromips-1" "-32 -mips32r2" \ "microMIPS jump to unaligned symbol 1" - run_list_test "unaligned-jump-micromips-2" "-32" \ + run_list_test "unaligned-jump-micromips-2" "-32 -mips32r2" \ "microMIPS jump to unaligned symbol 2" if $has_newabi { run_dump_test "unaligned-jump-micromips-3" } - run_list_test "unaligned-branch-1" "-32" \ + run_list_test "unaligned-branch-1" "-32 -mips32r2" \ "MIPS branch to unaligned symbol 1" - run_list_test "unaligned-branch-2" "-32" \ + run_list_test "unaligned-branch-2" "-32 -mips32r2" \ "MIPS branch to unaligned symbol 2" if $has_newabi { run_dump_test "unaligned-branch-3" @@ -993,16 +1002,16 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "unaligned-branch-r6-5" run_dump_test "unaligned-branch-r6-6" } - run_list_test "unaligned-branch-mips16-1" "-32" \ + run_list_test "unaligned-branch-mips16-1" "-32 -mips1" \ "MIPS16 branch to unaligned symbol 1" - run_list_test "unaligned-branch-mips16-2" "-32" \ + run_list_test "unaligned-branch-mips16-2" "-32 -mips1" \ "MIPS16 branch to unaligned symbol 2" if $has_newabi { run_dump_test "unaligned-branch-mips16-3" } - run_list_test "unaligned-branch-micromips-1" "-32" \ + run_list_test "unaligned-branch-micromips-1" "-32 -mips32r2" \ "microMIPS branch to unaligned symbol 1" - run_list_test "unaligned-branch-micromips-2" "-32" \ + run_list_test "unaligned-branch-micromips-2" "-32 -mips32r2" \ "microMIPS branch to unaligned symbol 2" if $has_newabi { run_dump_test "unaligned-branch-micromips-3" @@ -1107,7 +1116,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "eva" [mips_arch_list_matching mips32r2 !octeon] - run_list_test "illegal" "-32" + run_list_test "illegal" "-32 -mips1" run_list_test "baddata1" "-32" run_list_test "jalr" "" @@ -1241,6 +1250,7 @@ if { [istarget mips*-*-vxworks*] } { run_list_test_arches "elf-rel30" "-32" [mips_arch_list_all] run_dump_test "comdat-reloc" + run_dump_test "comdat-reloc-r6" run_dump_test "${tmips}mips${el}16-e" run_dump_test "${tmips}mips${el}16-f" @@ -1595,7 +1605,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "micromips-branch-absolute-addend-n64" } run_dump_test "micromips-b16" - run_list_test "micromips-ill" + run_list_test "micromips-ill" "-march=from-abi" run_dump_test_arches "mcu" [mips_arch_list_matching mips32r2 \ !octeon] @@ -1651,7 +1661,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "ulh-reloc" [mips_arch_list_matching mips2 !mips32r6] run_dump_test "l_d-reloc" - run_list_test "bltzal" + run_list_test "bltzal" "-march=from-abi" run_dump_test_arches "msa" [mips_arch_list_matching mips32r2] if { $has_newabi } { @@ -1685,7 +1695,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "pcrel-reloc-5" run_dump_test "pcrel-reloc-5-r6" run_dump_test "pcrel-reloc-6" - run_list_test "pcrel-reloc-6" "-32 --defsym offset=4" \ + run_list_test "pcrel-reloc-6" "-32 --defsym offset=4 -mips1" \ "MIPS local PC-relative relocations 6b" run_dump_test_arches "mips16-pcrel-0" [mips_arch_list_matching mips16-32] @@ -2055,14 +2065,16 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips32r2] run_dump_test "attr-gnu-abi-fp-1" + run_dump_test "attr-gnu-abi-fp-5" + run_dump_test "attr-gnu-abi-fp-6" run_dump_test "attr-gnu-abi-msa-1" run_dump_test "module-override" run_dump_test "module-defer-warn1" run_list_test "module-defer-warn2" "-32 -mips1" - foreach testopt [list -mfp32 -mfpxx -mfp64 "-mfp64-noodd" \ - -msingle-float -msoft-float] { + foreach testopt [list -mfp32 -mfpxx -mfp64 "-mfp64-noodd" -mfp64r6 "-mfp64r6-noodd" \ + -msingle-float -msoft-float -msoft-float-r6] { foreach cmdopt [list -mfp32 -mfpxx -mfp64 "-mfp64 -mno-odd-spreg" \ -msingle-float -msoft-float] { run_dump_test "module${testopt}" \ diff --git a/gas/testsuite/gas/mips/mips16-absolute-reloc-0.d b/gas/testsuite/gas/mips/mips16-absolute-reloc-0.d index d352a79376a..9859f126449 100644 --- a/gas/testsuite/gas/mips/mips16-absolute-reloc-0.d +++ b/gas/testsuite/gas/mips/mips16-absolute-reloc-0.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 absolute relocation 0 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-absolute-reloc-2.d b/gas/testsuite/gas/mips/mips16-absolute-reloc-2.d index 4f00861a8d1..45d3a1b0363 100644 --- a/gas/testsuite/gas/mips/mips16-absolute-reloc-2.d +++ b/gas/testsuite/gas/mips/mips16-absolute-reloc-2.d @@ -1,3 +1,3 @@ #name: MIPS16 absolute relocation 2 -#as: -32 +#as: -32 -mips1 #error_output: mips16-absolute-reloc-2.l diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute-1.d b/gas/testsuite/gas/mips/mips16-branch-absolute-1.d index ed0b9f9118e..023c4fe51f1 100644 --- a/gas/testsuite/gas/mips/mips16-branch-absolute-1.d +++ b/gas/testsuite/gas/mips/mips16-branch-absolute-1.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch to absolute expression 1 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute-2.d b/gas/testsuite/gas/mips/mips16-branch-absolute-2.d index 49a331fd694..be0d7c085ce 100644 --- a/gas/testsuite/gas/mips/mips16-branch-absolute-2.d +++ b/gas/testsuite/gas/mips/mips16-branch-absolute-2.d @@ -1,4 +1,4 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch to absolute expression 2 -#as: -32 +#as: -32 -mips1 #dump: mips16-branch-absolute-1.d diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d b/gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d index 66841c392b6..74e97825656 100644 --- a/gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d +++ b/gas/testsuite/gas/mips/mips16-branch-absolute-addend-1.d @@ -1,4 +1,4 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch to absolute expression with addend 1 -#as: -32 +#as: -32 -mips1 #dump: mips16-branch-absolute-1.d diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute-addend.d b/gas/testsuite/gas/mips/mips16-branch-absolute-addend.d index de64afb97e4..3aa1e26f204 100644 --- a/gas/testsuite/gas/mips/mips16-branch-absolute-addend.d +++ b/gas/testsuite/gas/mips/mips16-branch-absolute-addend.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch to absolute expression with addend -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-absolute.d b/gas/testsuite/gas/mips/mips16-branch-absolute.d index 68b3fb4e8d0..bad4676a654 100644 --- a/gas/testsuite/gas/mips/mips16-branch-absolute.d +++ b/gas/testsuite/gas/mips/mips16-branch-absolute.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch to absolute expression -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-0.d b/gas/testsuite/gas/mips/mips16-branch-addend-0.d index 9fe83e46a51..aef3b306a61 100644 --- a/gas/testsuite/gas/mips/mips16-branch-addend-0.d +++ b/gas/testsuite/gas/mips/mips16-branch-addend-0.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation with addend 0 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-1.d b/gas/testsuite/gas/mips/mips16-branch-addend-1.d index b7b305429fe..884593c01f2 100644 --- a/gas/testsuite/gas/mips/mips16-branch-addend-1.d +++ b/gas/testsuite/gas/mips/mips16-branch-addend-1.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation with addend 1 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-2.d b/gas/testsuite/gas/mips/mips16-branch-addend-2.d index 3e61c24e5ea..0b9f5c758c5 100644 --- a/gas/testsuite/gas/mips/mips16-branch-addend-2.d +++ b/gas/testsuite/gas/mips/mips16-branch-addend-2.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation with addend 2 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-3.d b/gas/testsuite/gas/mips/mips16-branch-addend-3.d index f3ecb7516d6..aacaf413dde 100644 --- a/gas/testsuite/gas/mips/mips16-branch-addend-3.d +++ b/gas/testsuite/gas/mips/mips16-branch-addend-3.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation with addend 3 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-4.d b/gas/testsuite/gas/mips/mips16-branch-addend-4.d index 273a6e1f543..cee2aa035a3 100644 --- a/gas/testsuite/gas/mips/mips16-branch-addend-4.d +++ b/gas/testsuite/gas/mips/mips16-branch-addend-4.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation with addend 4 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-addend-5.d b/gas/testsuite/gas/mips/mips16-branch-addend-5.d index 6b922350f9f..e3c79a49f69 100644 --- a/gas/testsuite/gas/mips/mips16-branch-addend-5.d +++ b/gas/testsuite/gas/mips/mips16-branch-addend-5.d @@ -1,4 +1,4 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation with addend 5 -#as: -32 +#as: -32 -mips1 #error_output: mips16-branch-addend-5.l diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-0.d b/gas/testsuite/gas/mips/mips16-branch-reloc-0.d index 80ad83bf7b1..79685d0a2f6 100644 --- a/gas/testsuite/gas/mips/mips16-branch-reloc-0.d +++ b/gas/testsuite/gas/mips/mips16-branch-reloc-0.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation 0 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-1.d b/gas/testsuite/gas/mips/mips16-branch-reloc-1.d index d2ae8a7c980..e4eb5d62e4d 100644 --- a/gas/testsuite/gas/mips/mips16-branch-reloc-1.d +++ b/gas/testsuite/gas/mips/mips16-branch-reloc-1.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation 1 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-2.d b/gas/testsuite/gas/mips/mips16-branch-reloc-2.d index 4f920d203c4..ada2644b8eb 100644 --- a/gas/testsuite/gas/mips/mips16-branch-reloc-2.d +++ b/gas/testsuite/gas/mips/mips16-branch-reloc-2.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation 2 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-3.d b/gas/testsuite/gas/mips/mips16-branch-reloc-3.d index c8e75fba223..9b54bb77038 100644 --- a/gas/testsuite/gas/mips/mips16-branch-reloc-3.d +++ b/gas/testsuite/gas/mips/mips16-branch-reloc-3.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation 3 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-4.d b/gas/testsuite/gas/mips/mips16-branch-reloc-4.d index a2705f09a3b..5d17b2656d9 100644 --- a/gas/testsuite/gas/mips/mips16-branch-reloc-4.d +++ b/gas/testsuite/gas/mips/mips16-branch-reloc-4.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation 4 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-reloc-5.d b/gas/testsuite/gas/mips/mips16-branch-reloc-5.d index 6cd7ebb42e1..bd02ac2597c 100644 --- a/gas/testsuite/gas/mips/mips16-branch-reloc-5.d +++ b/gas/testsuite/gas/mips/mips16-branch-reloc-5.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 branch relocation 5 -#as: -32 +#as: -32 -mips1 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-branch-unextended-1.d b/gas/testsuite/gas/mips/mips16-branch-unextended-1.d index a3981560164..a77ed159a24 100644 --- a/gas/testsuite/gas/mips/mips16-branch-unextended-1.d +++ b/gas/testsuite/gas/mips/mips16-branch-unextended-1.d @@ -1,3 +1,3 @@ #name: MIPS16 unextended branch instructions with relocation 1 -#as: -32 +#as: -32 -mips32 #error_output: mips16-branch-unextended.l diff --git a/gas/testsuite/gas/mips/mips16-branch-unextended-2.d b/gas/testsuite/gas/mips/mips16-branch-unextended-2.d index 008bfb137d6..8d760bca8cb 100644 --- a/gas/testsuite/gas/mips/mips16-branch-unextended-2.d +++ b/gas/testsuite/gas/mips/mips16-branch-unextended-2.d @@ -1,3 +1,3 @@ #name: MIPS16 unextended branch instructions with relocation 2 -#as: -32 +#as: -32 -mips32 #error_output: mips16-branch-unextended.l diff --git a/gas/testsuite/gas/mips/mips16-dwarf2.d b/gas/testsuite/gas/mips/mips16-dwarf2.d index 6b79dac577d..eb609fa775f 100644 --- a/gas/testsuite/gas/mips/mips16-dwarf2.d +++ b/gas/testsuite/gas/mips/mips16-dwarf2.d @@ -1,6 +1,6 @@ #readelf: -r -wl #name: MIPS16 DWARF2 -#as: -mabi=32 -mips16 -no-mdebug -g0 +#as: -mabi=32 -mips16 -no-mdebug -g0 -mips32 #source: mips16-dwarf2.s Relocation section '\.rel\.debug_info' at offset .* contains 4 entries: diff --git a/gas/testsuite/gas/mips/mips16-e.d b/gas/testsuite/gas/mips/mips16-e.d index d64b882c81c..d4522d6e7c8 100644 --- a/gas/testsuite/gas/mips/mips16-e.d +++ b/gas/testsuite/gas/mips/mips16-e.d @@ -1,6 +1,6 @@ #objdump: -rst --special-syms -mips16 #name: MIPS16 reloc -#as: -32 -mips16 +#as: -32 -mips16 -mips32 # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/mips16-extend.d b/gas/testsuite/gas/mips/mips16-extend.d index eec0b1906fb..def16c92e44 100644 --- a/gas/testsuite/gas/mips/mips16-extend.d +++ b/gas/testsuite/gas/mips/mips16-extend.d @@ -1,6 +1,6 @@ #objdump: -d --prefix-addresses --show-raw-insn #name: MIPS16 explicit EXTEND encoding -#as: -32 +#as: -32 -mips32 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-f.d b/gas/testsuite/gas/mips/mips16-f.d index 9605b6f183e..62e30a31840 100644 --- a/gas/testsuite/gas/mips/mips16-f.d +++ b/gas/testsuite/gas/mips/mips16-f.d @@ -1,6 +1,6 @@ #objdump: -rst -mips16 #name: MIPS16 reloc 2 -#as: -32 -mips16 +#as: -32 -mips16 -mips32 # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/mips16-hilo.d b/gas/testsuite/gas/mips/mips16-hilo.d index 081993a94e5..2eabee73ba4 100644 --- a/gas/testsuite/gas/mips/mips16-hilo.d +++ b/gas/testsuite/gas/mips/mips16-hilo.d @@ -1,6 +1,6 @@ #objdump: -dr #name: MIPS16 lui/addi -#as: -mips16 -mabi=32 +#as: -mips16 -mabi=32 -mips32 #source: mips16-hilo.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-insn-length-noargs.d b/gas/testsuite/gas/mips/mips16-insn-length-noargs.d index 18047957472..6f550f45f45 100644 --- a/gas/testsuite/gas/mips/mips16-insn-length-noargs.d +++ b/gas/testsuite/gas/mips/mips16-insn-length-noargs.d @@ -1,6 +1,6 @@ #objdump: -d --prefix-addresses --show-raw-insn #name: MIPS16 argumentless instruction size override -#as: -32 +#as: -32 -mips32 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-jal-e.d b/gas/testsuite/gas/mips/mips16-jal-e.d index bbccb7c1d88..0819742c2a1 100644 --- a/gas/testsuite/gas/mips/mips16-jal-e.d +++ b/gas/testsuite/gas/mips/mips16-jal-e.d @@ -1,6 +1,6 @@ #objdump: -d --prefix-addresses --show-raw-insn #name: MIPS16 explicit extended JAL instructions -#as: -32 +#as: -32 -mips32 .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/mips16-jal-t.d b/gas/testsuite/gas/mips/mips16-jal-t.d index adb9856c620..d5b71def4c6 100644 --- a/gas/testsuite/gas/mips/mips16-jal-t.d +++ b/gas/testsuite/gas/mips/mips16-jal-t.d @@ -1,3 +1,3 @@ #name: MIPS16 explicit unextended JAL instructions -#as: -32 +#as: -32 -mips32 #error_output: mips16-jal-t.l diff --git a/gas/testsuite/gas/mips/mips16-pcrel-relax-0.d b/gas/testsuite/gas/mips/mips16-pcrel-relax-0.d index 55d15e1e624..a4cd8ca350c 100644 --- a/gas/testsuite/gas/mips/mips16-pcrel-relax-0.d +++ b/gas/testsuite/gas/mips/mips16-pcrel-relax-0.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 PC-relative relaxation 0 -#as: -32 +#as: -32 -mips1 # Check that PC-relative relaxation does not go into oscillation # where the address referred depends on the size of the instruction; diff --git a/gas/testsuite/gas/mips/mips16-pcrel-relax-1.d b/gas/testsuite/gas/mips/mips16-pcrel-relax-1.d index 1b19d45422c..9b263da261b 100644 --- a/gas/testsuite/gas/mips/mips16-pcrel-relax-1.d +++ b/gas/testsuite/gas/mips/mips16-pcrel-relax-1.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 PC-relative relaxation 1 -#as: -32 --defsym align=1 +#as: -32 -mips1 --defsym align=1 #source: mips16-pcrel-relax-0.s # Check that PC-relative relaxation chooses the short encoding diff --git a/gas/testsuite/gas/mips/mips16-pcrel-relax-2.d b/gas/testsuite/gas/mips/mips16-pcrel-relax-2.d index 6c3b4fe7ffa..0b3b5c18efc 100644 --- a/gas/testsuite/gas/mips/mips16-pcrel-relax-2.d +++ b/gas/testsuite/gas/mips/mips16-pcrel-relax-2.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 PC-relative relaxation 2 -#as: -32 +#as: -32 -mips1 # Check that PC-relative relaxation does not go into oscillation # where the address referred depends on the size of the instruction; diff --git a/gas/testsuite/gas/mips/mips16-pcrel-relax-3.d b/gas/testsuite/gas/mips/mips16-pcrel-relax-3.d index 2d0c6ca614b..337a886b113 100644 --- a/gas/testsuite/gas/mips/mips16-pcrel-relax-3.d +++ b/gas/testsuite/gas/mips/mips16-pcrel-relax-3.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 PC-relative relaxation 3 -#as: -32 --defsym align=1 +#as: -32 -mips1 --defsym align=1 #source: mips16-pcrel-relax-2.s # Check that PC-relative relaxation chooses the short encoding diff --git a/gas/testsuite/gas/mips/mips16-vis-1.d b/gas/testsuite/gas/mips/mips16-vis-1.d index 90a190afc0e..594305cd6a7 100644 --- a/gas/testsuite/gas/mips/mips16-vis-1.d +++ b/gas/testsuite/gas/mips/mips16-vis-1.d @@ -1,3 +1,4 @@ # readelf: --symbols +# as: -march=from-abi #... .*: 0+0 +2 +FUNC +GLOBAL +HIDDEN +\[MIPS16\] +[0-9]+ foo diff --git a/gas/testsuite/gas/mips/mipsel16-e.d b/gas/testsuite/gas/mips/mipsel16-e.d index 2e4e8417dfb..266b2218c8d 100644 --- a/gas/testsuite/gas/mips/mipsel16-e.d +++ b/gas/testsuite/gas/mips/mipsel16-e.d @@ -1,6 +1,6 @@ #objdump: -rst --special-syms -mips16 #name: MIPS16 reloc -#as: -32 -mips16 +#as: -32 -mips1 -mips16 #source: mips16-e.s # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/mipsel16-f.d b/gas/testsuite/gas/mips/mipsel16-f.d index 57db1a7955b..dbce3b03e74 100644 --- a/gas/testsuite/gas/mips/mipsel16-f.d +++ b/gas/testsuite/gas/mips/mipsel16-f.d @@ -1,6 +1,6 @@ #objdump: -rst -mips16 #name: MIPS16 reloc 2 -#as: -32 -mips16 +#as: -32 -mips1 -mips16 #source: mips16-f.s # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/module-mfp32.d b/gas/testsuite/gas/mips/module-mfp32.d index 28b47f63517..7cc38c5ca1c 100644 --- a/gas/testsuite/gas/mips/module-mfp32.d +++ b/gas/testsuite/gas/mips/module-mfp32.d @@ -1,4 +1,4 @@ -#as: -32 +#as: -32 -mips1 #readelf: -A #name: MIPS module fp=32 diff --git a/gas/testsuite/gas/mips/module-mfp64r6-noodd.d b/gas/testsuite/gas/mips/module-mfp64r6-noodd.d new file mode 100644 index 00000000000..a97e94daf06 --- /dev/null +++ b/gas/testsuite/gas/mips/module-mfp64r6-noodd.d @@ -0,0 +1,21 @@ +#as: -mips32r6 -32 +#readelf: -A +#name: MIPS module fp=64 nooddspreg +#source: module-mfp64-noodd.s + +Attribute Section: gnu +File Attributes + Tag_GNU_MIPS_ABI_FP: Hard float compat \(32-bit CPU, 64-bit FPU\) + +MIPS ABI Flags Version: 0 + +ISA: MIPS32r6 +GPR size: 32 +CPR1 size: 64 +CPR2 size: 0 +FP ABI: Hard float compat \(32-bit CPU, 64-bit FPU\) +ISA Extension: None +ASEs: + None +FLAGS 1: 0000000. +FLAGS 2: 00000000 diff --git a/gas/testsuite/gas/mips/module-mfp64r6.d b/gas/testsuite/gas/mips/module-mfp64r6.d new file mode 100644 index 00000000000..38bc1bdc2dd --- /dev/null +++ b/gas/testsuite/gas/mips/module-mfp64r6.d @@ -0,0 +1,21 @@ +#as: -mips32r6 -32 +#readelf: -A +#name: MIPS module fp=64 +#source: module-mfp64.s + +Attribute Section: gnu +File Attributes + Tag_GNU_MIPS_ABI_FP: Hard float \(32-bit CPU, 64-bit FPU\) + +MIPS ABI Flags Version: 0 + +ISA: MIPS32r6 +GPR size: 32 +CPR1 size: 64 +CPR2 size: 0 +FP ABI: Hard float \(32-bit CPU, 64-bit FPU\) +ISA Extension: None +ASEs: + None +FLAGS 1: 0000000. +FLAGS 2: 00000000 diff --git a/gas/testsuite/gas/mips/module-msoft-float-r6.d b/gas/testsuite/gas/mips/module-msoft-float-r6.d new file mode 100644 index 00000000000..18ba3b2f654 --- /dev/null +++ b/gas/testsuite/gas/mips/module-msoft-float-r6.d @@ -0,0 +1,20 @@ +#as: -32 -march=mips32r6 +#readelf: -A +#name: MIPS module softfloat + +Attribute Section: gnu +File Attributes + Tag_GNU_MIPS_ABI_FP: Soft float + +MIPS ABI Flags Version: 0 + +ISA: MIPS.* +GPR size: 32 +CPR1 size: 0 +CPR2 size: 0 +FP ABI: Soft float +ISA Extension: .* +ASEs: + None +FLAGS 1: 0000000. +FLAGS 2: 00000000 diff --git a/gas/testsuite/gas/mips/module-msoft-float-r6.s b/gas/testsuite/gas/mips/module-msoft-float-r6.s new file mode 100644 index 00000000000..12aea5907c5 --- /dev/null +++ b/gas/testsuite/gas/mips/module-msoft-float-r6.s @@ -0,0 +1,3 @@ +.module fp=64 +.module doublefloat +.module softfloat diff --git a/gas/testsuite/gas/mips/module-msoft-float.d b/gas/testsuite/gas/mips/module-msoft-float.d index e081e519dc3..bf2e2ebbb5e 100644 --- a/gas/testsuite/gas/mips/module-msoft-float.d +++ b/gas/testsuite/gas/mips/module-msoft-float.d @@ -1,4 +1,4 @@ -#as: -32 +#as: -32 -mips1 #readelf: -A #name: MIPS module softfloat diff --git a/gas/testsuite/gas/mips/nan-2008-3.d b/gas/testsuite/gas/mips/nan-2008-3.d index 8f179fb4aed..50075678292 100644 --- a/gas/testsuite/gas/mips/nan-2008-3.d +++ b/gas/testsuite/gas/mips/nan-2008-3.d @@ -1,6 +1,7 @@ #name: MIPS 2008 NaN setting 3 #source: nan-2008-override.s #objdump: -p +#as: -march=from-abi .*:.*file format.*mips.* private flags = [0-9a-f]*[4-7c-f]..: .*[[,]nan2008[],].* diff --git a/gas/testsuite/gas/mips/nan-legacy-1.d b/gas/testsuite/gas/mips/nan-legacy-1.d index c13d634b486..5534f04c837 100644 --- a/gas/testsuite/gas/mips/nan-legacy-1.d +++ b/gas/testsuite/gas/mips/nan-legacy-1.d @@ -1,6 +1,7 @@ #name: MIPS legacy NaN setting 1 #source: nan-legacy.s #objdump: -p +#as: -march=from-abi .*:.*file format.*mips.* #failif diff --git a/gas/testsuite/gas/mips/nan-legacy-2.d b/gas/testsuite/gas/mips/nan-legacy-2.d index 4a4af6155cc..d541fffa406 100644 --- a/gas/testsuite/gas/mips/nan-legacy-2.d +++ b/gas/testsuite/gas/mips/nan-legacy-2.d @@ -1,7 +1,7 @@ #name: MIPS legacy NaN setting 2 #source: nan-legacy.s #objdump: -p -#as: -mnan=2008 +#as: -mnan=2008 -march=from-abi .*:.*file format.*mips.* #failif diff --git a/gas/testsuite/gas/mips/nan-legacy-3.d b/gas/testsuite/gas/mips/nan-legacy-3.d index c463f2b2d38..167945ae23f 100644 --- a/gas/testsuite/gas/mips/nan-legacy-3.d +++ b/gas/testsuite/gas/mips/nan-legacy-3.d @@ -1,6 +1,7 @@ #name: MIPS legacy NaN setting 3 #source: nan-legacy-override.s #objdump: -p +#as: -march=from-abi .*:.*file format.*mips.* #failif diff --git a/gas/testsuite/gas/mips/nan-legacy-4.d b/gas/testsuite/gas/mips/nan-legacy-4.d index 99c5de750c6..b0d6b06d810 100644 --- a/gas/testsuite/gas/mips/nan-legacy-4.d +++ b/gas/testsuite/gas/mips/nan-legacy-4.d @@ -1,7 +1,7 @@ #name: MIPS legacy NaN setting 4 #source: empty.s #objdump: -p -#as: -mnan=legacy +#as: -mnan=legacy -march=from-abi .*:.*file format.*mips.* #failif diff --git a/gas/testsuite/gas/mips/nan-legacy-5.d b/gas/testsuite/gas/mips/nan-legacy-5.d index b0ccb31ff58..12481543327 100644 --- a/gas/testsuite/gas/mips/nan-legacy-5.d +++ b/gas/testsuite/gas/mips/nan-legacy-5.d @@ -1,6 +1,7 @@ #name: MIPS legacy NaN setting 5 #source: empty.s #objdump: -p +#as: -march=from-abi .*:.*file format.*mips.* #failif diff --git a/gas/testsuite/gas/mips/option-pic-1.d b/gas/testsuite/gas/mips/option-pic-1.d index da32af6a6ce..612414ae752 100644 --- a/gas/testsuite/gas/mips/option-pic-1.d +++ b/gas/testsuite/gas/mips/option-pic-1.d @@ -13,6 +13,6 @@ Disassembly of section \.text: [ ]*[0-9a-f]+: R_MIPS_LO16 bar [0-9a-f]+ <[^>]*> 8f820000 lw v0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 bar -[0-9a-f]+ <[^>]*> 03e00008 jr ra +[0-9a-f]+ <[^>]*> 03e0000[89] jr ra [0-9a-f]+ <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/option-pic-relax-0.d b/gas/testsuite/gas/mips/option-pic-relax-0.d index 141cc5dc8ee..5e14b289c2d 100644 --- a/gas/testsuite/gas/mips/option-pic-relax-0.d +++ b/gas/testsuite/gas/mips/option-pic-relax-0.d @@ -16,6 +16,6 @@ Disassembly of section \.text: [0-9a-f]+ <[^>]*> 0399e021 addu gp,gp,t9 [0-9a-f]+ <[^>]*> 8f820000 lw v0,0\(gp\) [ ]*[0-9a-f]+: R_MIPS_GOT16 bar -[0-9a-f]+ <[^>]*> 03e00008 jr ra +[0-9a-f]+ <[^>]*> 03e0000[89] jr ra [0-9a-f]+ <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/option-pic-relax-1.d b/gas/testsuite/gas/mips/option-pic-relax-1.d index dd68fc8c96b..717a0990e2a 100644 --- a/gas/testsuite/gas/mips/option-pic-relax-1.d +++ b/gas/testsuite/gas/mips/option-pic-relax-1.d @@ -13,6 +13,6 @@ Disassembly of section \.text: [ ]*[0-9a-f]+: R_MIPS_HI16 bar [0-9a-f]+ <[^>]*> 24420000 addiu v0,v0,0 [ ]*[0-9a-f]+: R_MIPS_LO16 bar -[0-9a-f]+ <[^>]*> 03e00008 jr ra +[0-9a-f]+ <[^>]*> 03e0000[89] jr ra [0-9a-f]+ <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/option-pic-relax-3.d b/gas/testsuite/gas/mips/option-pic-relax-3.d index 30f9c5fae4a..f917ab0d6c5 100644 --- a/gas/testsuite/gas/mips/option-pic-relax-3.d +++ b/gas/testsuite/gas/mips/option-pic-relax-3.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS `.option picX' with relaxation 3 -#as: -32 --relax-branch +#as: -32 -mips1 --relax-branch #warning_output: option-pic-relax-3.l # Verify that relaxation is done according to the `.option picX' setting @@ -15,6 +15,6 @@ Disassembly of section \.text: [ ]*[0-9a-f]+: R_MIPS_26 \.text [0-9a-f]+ <[^>]*> 00a01825 move v1,a1 \.\.\. -[0-9a-f]+ <[^>]*> 03e00008 jr ra +[0-9a-f]+ <[^>]*> 03e0000[89] jr ra [0-9a-f]+ <[^>]*> 00000000 nop \.\.\. diff --git a/gas/testsuite/gas/mips/option-pic-relax-3a.d b/gas/testsuite/gas/mips/option-pic-relax-3a.d index d6d4088d791..3c557d37a9d 100644 --- a/gas/testsuite/gas/mips/option-pic-relax-3a.d +++ b/gas/testsuite/gas/mips/option-pic-relax-3a.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS `.option picX' with relaxation 3a -#as: -32 +#as: -32 -mips1 #source: option-pic-relax-3.s #dump: option-pic-relax-3.d diff --git a/gas/testsuite/gas/mips/option-pic-relax-4.d b/gas/testsuite/gas/mips/option-pic-relax-4.d index 15adf1155c2..a891b2b45ac 100644 --- a/gas/testsuite/gas/mips/option-pic-relax-4.d +++ b/gas/testsuite/gas/mips/option-pic-relax-4.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS `.option picX' with relaxation 4 -#as: -32 -mmicromips --relax-branch +#as: -32 -mips32r2 -mmicromips --relax-branch #warning_output: option-pic-relax-4.l # Verify that relaxation is done according to the `.option picX' setting diff --git a/gas/testsuite/gas/mips/option-pic-relax-5.d b/gas/testsuite/gas/mips/option-pic-relax-5.d index 948f3299abc..827c303a02c 100644 --- a/gas/testsuite/gas/mips/option-pic-relax-5.d +++ b/gas/testsuite/gas/mips/option-pic-relax-5.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS `.option picX' with relaxation 5 -#as: -32 -mmicromips --relax-branch +#as: -32 -mips32r2 -mmicromips --relax-branch #warning_output: option-pic-relax-5.l # Verify that relaxation is done according to the `.option picX' setting diff --git a/gas/testsuite/gas/mips/org-1.d b/gas/testsuite/gas/mips/org-1.d index b21951f8c1c..da1fad094ef 100644 --- a/gas/testsuite/gas/mips/org-1.d +++ b/gas/testsuite/gas/mips/org-1.d @@ -1,5 +1,5 @@ #nm: -g --defined-only -#as: --relax-branch +#as: --relax-branch -march=from-abi #name: MIPS .org test 1 #warning_output: org-1.l diff --git a/gas/testsuite/gas/mips/org-10.d b/gas/testsuite/gas/mips/org-10.d index 0670988eadb..1ec11e37242 100644 --- a/gas/testsuite/gas/mips/org-10.d +++ b/gas/testsuite/gas/mips/org-10.d @@ -1,5 +1,5 @@ #nm: -g --defined-only -#as: --relax-branch +#as: --relax-branch -march=from-abi #name: MIPS .org test 10 #warning_output: org-10.l diff --git a/gas/testsuite/gas/mips/org-11.d b/gas/testsuite/gas/mips/org-11.d index b464230cd77..47c6e96c02b 100644 --- a/gas/testsuite/gas/mips/org-11.d +++ b/gas/testsuite/gas/mips/org-11.d @@ -1,5 +1,5 @@ #nm: -g --defined-only -#as: -32 +#as: -32 -mips1 #name: MIPS .org test 11 0+001000 . bar diff --git a/gas/testsuite/gas/mips/org-12.d b/gas/testsuite/gas/mips/org-12.d index 323c3010456..d634baa7afe 100644 --- a/gas/testsuite/gas/mips/org-12.d +++ b/gas/testsuite/gas/mips/org-12.d @@ -1,5 +1,6 @@ #nm: -g --defined-only #name: MIPS .org test 12 +#as: -march=from-abi 0+001000 . bar 0+000000 . foo diff --git a/gas/testsuite/gas/mips/org-2.d b/gas/testsuite/gas/mips/org-2.d index abdd5638a0d..b5c7c9b499d 100644 --- a/gas/testsuite/gas/mips/org-2.d +++ b/gas/testsuite/gas/mips/org-2.d @@ -1,5 +1,5 @@ #nm: -g --defined-only -#as: -32 +#as: -32 -mips1 #name: MIPS .org test 2 0+001000 . bar diff --git a/gas/testsuite/gas/mips/org-3.d b/gas/testsuite/gas/mips/org-3.d index 04d520874db..31fa39d7a24 100644 --- a/gas/testsuite/gas/mips/org-3.d +++ b/gas/testsuite/gas/mips/org-3.d @@ -1,5 +1,6 @@ #nm: -g --defined-only #name: MIPS .org test 3 +#as: -march=from-abi 0+001000 . bar 0+000000 . foo diff --git a/gas/testsuite/gas/mips/org-4.d b/gas/testsuite/gas/mips/org-4.d index a1603ebb81c..cd038cc5307 100644 --- a/gas/testsuite/gas/mips/org-4.d +++ b/gas/testsuite/gas/mips/org-4.d @@ -1,3 +1,3 @@ -#as: --relax-branch +#as: --relax-branch -march=from-abi #name: MIPS .org test 4 #error_output: org-4.l diff --git a/gas/testsuite/gas/mips/org-5.d b/gas/testsuite/gas/mips/org-5.d index b63fcca0979..5638496db34 100644 --- a/gas/testsuite/gas/mips/org-5.d +++ b/gas/testsuite/gas/mips/org-5.d @@ -1,3 +1,3 @@ -#as: -32 +#as: -32 -mips1 #name: MIPS .org test 5 #error_output: org-5.l diff --git a/gas/testsuite/gas/mips/org-6.d b/gas/testsuite/gas/mips/org-6.d index 887cb326665..bbf0f5006be 100644 --- a/gas/testsuite/gas/mips/org-6.d +++ b/gas/testsuite/gas/mips/org-6.d @@ -1,2 +1,3 @@ #name: MIPS .org test 6 #error_output: org-6.l +#as: -march=from-abi diff --git a/gas/testsuite/gas/mips/org-7.d b/gas/testsuite/gas/mips/org-7.d index 71f545db14e..228f2c9fab9 100644 --- a/gas/testsuite/gas/mips/org-7.d +++ b/gas/testsuite/gas/mips/org-7.d @@ -1,5 +1,5 @@ #nm: -g --defined-only -#as: --relax-branch +#as: --relax-branch -march=from-abi #name: MIPS .org test 7 0+010000 . bar diff --git a/gas/testsuite/gas/mips/org-8.d b/gas/testsuite/gas/mips/org-8.d index 0d1acf934e0..d44f5475a50 100644 --- a/gas/testsuite/gas/mips/org-8.d +++ b/gas/testsuite/gas/mips/org-8.d @@ -1,5 +1,5 @@ #nm: -g --defined-only -#as: -32 +#as: -32 -mips1 #name: MIPS .org test 8 0+000100 . bar diff --git a/gas/testsuite/gas/mips/org-9.d b/gas/testsuite/gas/mips/org-9.d index fe9e3f313c3..e2bcb98ecd9 100644 --- a/gas/testsuite/gas/mips/org-9.d +++ b/gas/testsuite/gas/mips/org-9.d @@ -1,5 +1,6 @@ #nm: -g --defined-only #name: MIPS .org test 9 +#as: -march=from-abi 0+000080 . bar 0+000000 . foo diff --git a/gas/testsuite/gas/mips/pcrel-reloc-1.d b/gas/testsuite/gas/mips/pcrel-reloc-1.d index 4d4d21f4d4f..1851e7478f7 100644 --- a/gas/testsuite/gas/mips/pcrel-reloc-1.d +++ b/gas/testsuite/gas/mips/pcrel-reloc-1.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS local PC-relative relocations 1 -#as: -32 +#as: -32 -mips1 #source: pcrel-reloc-1.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/pcrel-reloc-2.d b/gas/testsuite/gas/mips/pcrel-reloc-2.d index 25f7f7bc0d8..d4d55d1ea3d 100644 --- a/gas/testsuite/gas/mips/pcrel-reloc-2.d +++ b/gas/testsuite/gas/mips/pcrel-reloc-2.d @@ -1,5 +1,5 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS local PC-relative relocations 2 -#as: -32 --defsym setmips3=1 +#as: -32 -mips1 --defsym setmips3=1 #source: pcrel-reloc-1.s #dump: pcrel-reloc-1.d diff --git a/gas/testsuite/gas/mips/pcrel-reloc-3.d b/gas/testsuite/gas/mips/pcrel-reloc-3.d index cb587b9b201..399ce104078 100644 --- a/gas/testsuite/gas/mips/pcrel-reloc-3.d +++ b/gas/testsuite/gas/mips/pcrel-reloc-3.d @@ -1,5 +1,5 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS local PC-relative relocations 3 -#as: -32 --defsym setmips64r6=1 +#as: -32 -mips1 --defsym setmips64r6=1 #source: pcrel-reloc-1.s #dump: pcrel-reloc-1.d diff --git a/gas/testsuite/gas/mips/pcrel-reloc-4.d b/gas/testsuite/gas/mips/pcrel-reloc-4.d index faeb6a5f3de..2322524fd77 100644 --- a/gas/testsuite/gas/mips/pcrel-reloc-4.d +++ b/gas/testsuite/gas/mips/pcrel-reloc-4.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa64r6 #name: MIPS local PC-relative relocations 4 -#as: -32 +#as: -32 -mips1 #source: pcrel-reloc-4.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/pcrel-reloc-5.d b/gas/testsuite/gas/mips/pcrel-reloc-5.d index 227b3fc45ba..6b52c573c38 100644 --- a/gas/testsuite/gas/mips/pcrel-reloc-5.d +++ b/gas/testsuite/gas/mips/pcrel-reloc-5.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa64r6 #name: MIPS local PC-relative relocations 5 -#as: -32 --defsym reverse=1 +#as: -32 -mips1 --defsym reverse=1 #source: pcrel-reloc-4.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/pcrel-reloc-6.d b/gas/testsuite/gas/mips/pcrel-reloc-6.d index 03e65f62fb9..01e5bd734f7 100644 --- a/gas/testsuite/gas/mips/pcrel-reloc-6.d +++ b/gas/testsuite/gas/mips/pcrel-reloc-6.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa64r6 #name: MIPS local PC-relative relocations 6a -#as: -32 --defsym offset=0 +#as: -32 -mips1 --defsym offset=0 #source: pcrel-reloc-6.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/set-arch.d b/gas/testsuite/gas/mips/set-arch.d index d1799dc793d..49f6c19aad5 100644 --- a/gas/testsuite/gas/mips/set-arch.d +++ b/gas/testsuite/gas/mips/set-arch.d @@ -1,6 +1,10 @@ #objdump: -dr --prefix-addresses --show-raw-insn -mmips:sb1 -M gpr-names=32 #name: .set arch=FOO #warning_output: set-arch.l +#as: -march=from-abi + +#FIXME: -march=mips32r6 will break this test: which is a problem +#FIXME: We should find the real problem, and drop -march=from-abi .*: file format .* diff --git a/gas/testsuite/gas/mips/tmips16-e.d b/gas/testsuite/gas/mips/tmips16-e.d index bcf3de0cab2..75ed1b15f7b 100644 --- a/gas/testsuite/gas/mips/tmips16-e.d +++ b/gas/testsuite/gas/mips/tmips16-e.d @@ -1,6 +1,6 @@ #objdump: -rst --special-syms -mips16 #name: MIPS16 reloc -#as: -32 -mips16 +#as: -32 -mips1 -mips16 #source: mips16-e.s # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/tmips16-f.d b/gas/testsuite/gas/mips/tmips16-f.d index 95bb5647a09..7cec0b96ac7 100644 --- a/gas/testsuite/gas/mips/tmips16-f.d +++ b/gas/testsuite/gas/mips/tmips16-f.d @@ -1,6 +1,6 @@ #objdump: -rst -mips16 #name: MIPS16 reloc 2 -#as: -32 -mips16 +#as: -32 -mips1 -mips16 #source: mips16-f.s # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/tmipsel16-e.d b/gas/testsuite/gas/mips/tmipsel16-e.d index 95d473c054c..161ee2fa586 100644 --- a/gas/testsuite/gas/mips/tmipsel16-e.d +++ b/gas/testsuite/gas/mips/tmipsel16-e.d @@ -1,6 +1,6 @@ #objdump: -rst --special-syms -mips16 #name: MIPS16 reloc -#as: -32 -mips16 +#as: -32 -mips1 -mips16 #source: mips16-e.s # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/tmipsel16-f.d b/gas/testsuite/gas/mips/tmipsel16-f.d index 5639bb0b16d..ced710bc08c 100644 --- a/gas/testsuite/gas/mips/tmipsel16-f.d +++ b/gas/testsuite/gas/mips/tmipsel16-f.d @@ -1,6 +1,6 @@ #objdump: -rst -mips16 #name: MIPS16 reloc 2 -#as: -32 -mips16 +#as: -32 -mips1 -mips16 #source: mips16-f.s # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/unaligned-branch-r6-1.s b/gas/testsuite/gas/mips/unaligned-branch-r6-1.s index 1e5960cbe09..b5995e877ed 100644 --- a/gas/testsuite/gas/mips/unaligned-branch-r6-1.s +++ b/gas/testsuite/gas/mips/unaligned-branch-r6-1.s @@ -134,6 +134,7 @@ bar\@ : .endm .align 4 + .set mips32r2 .set micromips obj 16 fun 8 diff --git a/gas/testsuite/gas/mips/unaligned-branch-r6-3.s b/gas/testsuite/gas/mips/unaligned-branch-r6-3.s index beb59128d03..354e5bce7ad 100644 --- a/gas/testsuite/gas/mips/unaligned-branch-r6-3.s +++ b/gas/testsuite/gas/mips/unaligned-branch-r6-3.s @@ -136,6 +136,7 @@ bar\@ : .endm .align 4 + .set mips32r2 .set micromips obj 16 fun 8 diff --git a/gas/testsuite/gas/mips/unaligned-branch-r6-5.d b/gas/testsuite/gas/mips/unaligned-branch-r6-5.d index eed864a46a2..b5b7e2bb4f8 100644 --- a/gas/testsuite/gas/mips/unaligned-branch-r6-5.d +++ b/gas/testsuite/gas/mips/unaligned-branch-r6-5.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn -m mips:isa64r6 #name: MIPSr6 branch to unaligned symbol 5 -#as: -n32 -march=from-abi +#as: -n32 -march=mips64r6 #source: unaligned-branch-r6-3.s .*: +file format .*mips.* diff --git a/gas/testsuite/gas/mips/unaligned-jump-mips16-3.d b/gas/testsuite/gas/mips/unaligned-jump-mips16-3.d index a3427a8ba28..f9ca353b11b 100644 --- a/gas/testsuite/gas/mips/unaligned-jump-mips16-3.d +++ b/gas/testsuite/gas/mips/unaligned-jump-mips16-3.d @@ -1,6 +1,6 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: MIPS16 jump to unaligned symbol 3 -#as: -n32 -march=from-abi +#as: -n32 -march=from-abi --defsym n32=1 #source: unaligned-jump-mips16-2.s .*: +file format .*mips.* diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d index 24d051d5c42..71bce95ea53 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d @@ -1,5 +1,6 @@ #source: attr-gnu-4-0.s #source: attr-gnu-4-1.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d index ce94a818eb6..12268fb6f5c 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d @@ -1,5 +1,6 @@ #source: attr-gnu-4-1.s #source: attr-gnu-4-1.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d index 6aa22b9901c..67f2bdf0db9 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d @@ -1,5 +1,6 @@ #source: attr-gnu-4-4.s -W #source: attr-gnu-4-0.s +#as: -march=from-abi #ld: -r #error: \A[^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n #error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d index 49f2137e0e2..029d0ed3784 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d @@ -1,5 +1,6 @@ #source: attr-gnu-4-4.s -W #source: attr-gnu-4-1.s +#as: -march=from-abi #ld: -r #error: \A[^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n #error: [^\n]*: warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses -mdouble-float\n diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d index 2f8e5f09253..a8a2aaa2420 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-00.d @@ -1,5 +1,6 @@ #source: attr-gnu-8-0.s #source: attr-gnu-8-0.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d index e2cda3341e7..82006ff4b76 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-01.d @@ -1,5 +1,6 @@ #source: attr-gnu-8-0.s #source: attr-gnu-8-1.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d index 54b196fa38b..9f08a438bb2 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-02.d @@ -1,5 +1,6 @@ #source: attr-gnu-8-0.s #source: attr-gnu-8-2.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d index f7c512beeb4..97962829120 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-10.d @@ -1,5 +1,6 @@ #source: attr-gnu-8-1.s #source: attr-gnu-8-0.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d index be87af4bd18..8d3cf40c834 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-11.d @@ -1,5 +1,6 @@ #source: attr-gnu-8-1.s #source: attr-gnu-8-1.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d index 05f4da064a9..02abcc7583a 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-20.d @@ -1,5 +1,6 @@ #source: attr-gnu-8-2.s #source: attr-gnu-8-0.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d b/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d index 908ce4f00a2..164bc25b326 100644 --- a/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d +++ b/ld/testsuite/ld-mips-elf/attr-gnu-8-22.d @@ -1,5 +1,6 @@ #source: attr-gnu-8-2.s #source: attr-gnu-8-2.s +#as: -march=from-abi #ld: -r #readelf: -A diff --git a/ld/testsuite/ld-mips-elf/emit-relocs-1.d b/ld/testsuite/ld-mips-elf/emit-relocs-1.d index 0de07297323..32e15a2541e 100644 --- a/ld/testsuite/ld-mips-elf/emit-relocs-1.d +++ b/ld/testsuite/ld-mips-elf/emit-relocs-1.d @@ -23,7 +23,7 @@ OFFSET +TYPE +VALUE Contents of section \.text: - 80000 03e00008 00000000 00000000 00000000 .* + 80000 03e0000[89] 00000000 00000000 00000000 .* Contents of section \.merge1: 80400 666c7574 74657200 flutter.* Contents of section \.merge2: diff --git a/ld/testsuite/ld-mips-elf/gp-disp-sym.s b/ld/testsuite/ld-mips-elf/gp-disp-sym.s index c6380ba1fb0..3b06e717f5f 100644 --- a/ld/testsuite/ld-mips-elf/gp-disp-sym.s +++ b/ld/testsuite/ld-mips-elf/gp-disp-sym.s @@ -2,4 +2,4 @@ .text foo: lui $t0, %hi(_gp_disp) - addi $t0, $t0, %lo(_gp_disp) + addiu $t0, $t0, %lo(_gp_disp) diff --git a/ld/testsuite/ld-mips-elf/jalr3.dd b/ld/testsuite/ld-mips-elf/jalr3.dd index 6b6d4841208..5c9d83fdfd4 100644 --- a/ld/testsuite/ld-mips-elf/jalr3.dd +++ b/ld/testsuite/ld-mips-elf/jalr3.dd @@ -9,6 +9,6 @@ Disassembly of section \.text: c: 00000000 nop 0+000010 <\$bar>: - 10: 03e00008 jr ra + 10: 03e0000[89] jr ra 14: 00000000 nop \.\.\. diff --git a/ld/testsuite/ld-mips-elf/jalx-1.d b/ld/testsuite/ld-mips-elf/jalx-1.d index f0826288ecb..80c3be229a4 100644 --- a/ld/testsuite/ld-mips-elf/jalx-1.d +++ b/ld/testsuite/ld-mips-elf/jalx-1.d @@ -1,5 +1,5 @@ #name: MIPS jalx-1 -#source: jalx-1.s +#source: jalx-1.s -march=from-abi #ld: -T jalx-1.ld #objdump: -d diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index 920bb121a67..ff9635ec9d1 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -72,7 +72,8 @@ proc run_dump_test_abi { abi name args } { set asflags [regsub -- {-march=[^[:blank:]]*} $asflags {}] set args [lreplace $args 0 0] } - if !$has_abi($abi) { + set abi_r [regsub "l$" $abi {}] + if !$has_abi($abi_r) { lappend args {notarget *-*-*} } if { [llength $args] > 0 } { @@ -91,6 +92,13 @@ proc run_dump_test_abi { abi name args } { proc run_dump_test_o32 { name args } { run_dump_test_abi o32 $name [lindex $args 0] } +proc run_dump_test_o32l { name args } { + if {[istarget *-linux*] || [istarget *-img-elf]} { + run_dump_test_abi o32l $name [lindex $args 0] + } else { + run_dump_test_abi o32 $name [lindex $args 0] + } +} # run_dump_test_n32 NAME ARGS # @@ -99,6 +107,13 @@ proc run_dump_test_o32 { name args } { proc run_dump_test_n32 { name args } { run_dump_test_abi n32 $name [lindex $args 0] } +proc run_dump_test_n32l { name args } { + if {[istarget *-linux*] || [istarget *-img-elf]} { + run_dump_test_abi n32l $name [lindex $args 0] + } else { + run_dump_test_abi n32 $name [lindex $args 0] + } +} # run_dump_test_n64 NAME ARGS # @@ -107,6 +122,13 @@ proc run_dump_test_n32 { name args } { proc run_dump_test_n64 { name args } { run_dump_test_abi n64 $name [lindex $args 0] } +proc run_dump_test_n64l { name args } { + if {[istarget *-linux*] || [istarget *-img-elf]} { + run_dump_test_abi n64l $name [lindex $args 0] + } else { + run_dump_test_abi n64 $name [lindex $args 0] + } +} # run_dump_test_eabi NAME ARGS # @@ -139,49 +161,69 @@ set linux_gnu [expr [istarget mips*-*-linux*]] set embedded_elf [expr [istarget mips*-*-elf]] # Set defaults. +# ABI with l tail means legacy, aka pre-R6. +# Please use them, if the test only suite for pre-R6, +# such as mips16/micromips tests. set abi_asflags(o32) "" +set abi_asflags(o32l) "" set abi_asflags(n32) "" +set abi_asflags(n32l) "" set abi_asflags(n64) "" +set abi_asflags(n64l) "" set abi_asflags(eabi) "" set abi_ldflags(o32) "" +set abi_ldflags(o32l) "" set abi_ldflags(n32) "" +set abi_ldflags(n32l) "" set abi_ldflags(n64) "" +set abi_ldflags(n64l) "" set abi_ldflags(eabi) "" # Override as needed. if {[istarget *-*-openbsd*] } { set irixemul 0 -} elseif { [istarget mips64*-*-linux*] } { +} elseif { [istarget mips*64*-*-linux*] } { + set abi_asflags(o32) -32 + set abi_asflags(o32l) "-32 -march=from-abi" + set abi_asflags(n32) "" + set abi_asflags(n32l) "-n32 -march=from-abi" + set abi_asflags(n64) "-64" + set abi_asflags(n64l) "-march=from-abi -64" if [istarget *el-*-*] { - set abi_asflags(o32) -32 set abi_ldflags(o32) -melf32ltsmip - set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(o32l) -melf32ltsmip set abi_ldflags(n64) -melf64ltsmip + set abi_ldflags(n64l) -melf64ltsmip } else { - set abi_asflags(o32) -32 set abi_ldflags(o32) -melf32btsmip - set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(o32l) -melf32btsmip set abi_ldflags(n64) -melf64btsmip + set abi_ldflags(n64l) -melf64btsmip } set irixemul 0 -} elseif {[istarget *-*-linux*] } { +} elseif {[istarget *-*-linux*] || [istarget *-img-elf] } { + set abi_asflags(o32) "" + set abi_asflags(o32l) "-march=from-abi" + set abi_asflags(n32) "-n32" + set abi_asflags(n32l) "-n32 -march=from-abi" + set abi_asflags(n64) "-64" + set abi_asflags(n64l) "-64 -march=from-abi" if [istarget *el-*-*] { - set abi_asflags(n32) "-march=from-abi -n32" set abi_ldflags(n32) -melf32ltsmipn32 - set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(n32l) -melf32ltsmipn32 set abi_ldflags(n64) -melf64ltsmip + set abi_ldflags(n64l) -melf64ltsmip } else { - set abi_asflags(n32) "-march=from-abi -n32" set abi_ldflags(n32) -melf32btsmipn32 - set abi_asflags(n64) "-march=from-abi -64" + set abi_ldflags(n32l) -melf32btsmipn32 set abi_ldflags(n64) -melf64btsmip + set abi_ldflags(n64l) -melf64btsmip } set irixemul 0 } elseif {[istarget *-img-elf*] \ || [istarget *-mti-elf*] \ || [istarget *-sde-elf*] \ || [istarget *-*-netbsd*] \ - || [istarget *-*-linux*] \ || [istarget *-*-sysv4*] } { if [istarget *el-*-*] { set abi_asflags(o32) -32 @@ -305,56 +347,56 @@ run_dump_test "mips16-1" # MIPS branch offset final link checking. run_dump_test "branch-misc-1" run_dump_test "branch-misc-2" -run_dump_test_o32 "branch-absolute" -run_dump_test_o32 "branch-absolute-addend" -run_dump_test_n32 "branch-absolute-n32" -run_dump_test_n32 "branch-absolute-addend-n32" -run_dump_test_n64 "branch-absolute-n64" -run_dump_test_n64 "branch-absolute-addend-n64" - -run_dump_test_o32 "mips16-pcrel-0" -run_dump_test_o32 "mips16-pcrel-1" noarch -run_dump_test_o32 "mips16e2-pcrel-0" noarch -run_dump_test_o32 "mips16e2-pcrel-1" noarch -run_dump_test_o32 "mips16-pcrel-addend-2" -run_dump_test_o32 "mips16-pcrel-addend-6" -run_dump_test_o32 "mips16e2-pcrel-addend-2" noarch -run_dump_test_o32 "mips16e2-pcrel-addend-6" noarch -run_dump_test_n32 "mips16-pcrel-n32-0" -run_dump_test_n32 "mips16-pcrel-n32-1" -run_dump_test_n64 "mips16-pcrel-n64-sym32-0" -run_dump_test_n64 "mips16-pcrel-n64-sym32-1" -run_dump_test_n32 "mips16e2-pcrel-n32-0" noarch -run_dump_test_n32 "mips16e2-pcrel-n32-1" noarch -run_dump_test_n64 "mips16e2-pcrel-n64-sym32-0" noarch -run_dump_test_n64 "mips16e2-pcrel-n64-sym32-1" noarch - -run_dump_test_o32 "mips16-branch-2" -run_dump_test_o32 "mips16-branch-3" -run_dump_test_o32 "mips16-branch-addend-2" -run_dump_test_o32 "mips16-branch-addend-3" -run_dump_test_o32 "mips16-branch-absolute" -run_dump_test_o32 "mips16-branch-absolute-1" -run_dump_test_o32 "mips16-branch-absolute-2" -run_dump_test_o32 "mips16-branch-absolute-addend" -run_dump_test_o32 "mips16-branch-absolute-addend-1" -run_dump_test_n32 "mips16-branch-absolute-n32" -run_dump_test_n32 "mips16-branch-absolute-n32-1" -run_dump_test_n32 "mips16-branch-absolute-n32-2" -run_dump_test_n32 "mips16-branch-absolute-addend-n32" -run_dump_test_n32 "mips16-branch-absolute-addend-n32-1" -run_dump_test_n64 "mips16-branch-absolute-n64" -run_dump_test_n64 "mips16-branch-absolute-n64-1" -run_dump_test_n64 "mips16-branch-absolute-n64-2" -run_dump_test_n64 "mips16-branch-absolute-addend-n64" -run_dump_test_n64 "mips16-branch-absolute-addend-n64-1" - -run_dump_test_o32 "micromips-branch-absolute" -run_dump_test_o32 "micromips-branch-absolute-addend" -run_dump_test_n32 "micromips-branch-absolute-n32" -run_dump_test_n32 "micromips-branch-absolute-addend-n32" -run_dump_test_n64 "micromips-branch-absolute-n64" -run_dump_test_n64 "micromips-branch-absolute-addend-n64" +run_dump_test_o32l "branch-absolute" +run_dump_test_o32l "branch-absolute-addend" +run_dump_test_n32l "branch-absolute-n32" +run_dump_test_n32l "branch-absolute-addend-n32" +run_dump_test_n64l "branch-absolute-n64" +run_dump_test_n64l "branch-absolute-addend-n64" + +run_dump_test_o32l "mips16-pcrel-0" +run_dump_test_o32l "mips16-pcrel-1" noarch +run_dump_test_o32l "mips16e2-pcrel-0" noarch +run_dump_test_o32l "mips16e2-pcrel-1" noarch +run_dump_test_o32l "mips16-pcrel-addend-2" +run_dump_test_o32l "mips16-pcrel-addend-6" noarch +run_dump_test_o32l "mips16e2-pcrel-addend-2" noarch +run_dump_test_o32l "mips16e2-pcrel-addend-6" noarch +run_dump_test_n32l "mips16-pcrel-n32-0" +run_dump_test_n32l "mips16-pcrel-n32-1" +run_dump_test_n64l "mips16-pcrel-n64-sym32-0" +run_dump_test_n64l "mips16-pcrel-n64-sym32-1" +run_dump_test_n32l "mips16e2-pcrel-n32-0" noarch +run_dump_test_n32l "mips16e2-pcrel-n32-1" noarch +run_dump_test_n64l "mips16e2-pcrel-n64-sym32-0" noarch +run_dump_test_n64l "mips16e2-pcrel-n64-sym32-1" noarch + +run_dump_test_o32l "mips16-branch-2" +run_dump_test_o32l "mips16-branch-3" +run_dump_test_o32l "mips16-branch-addend-2" +run_dump_test_o32l "mips16-branch-addend-3" +run_dump_test_o32l "mips16-branch-absolute" +run_dump_test_o32l "mips16-branch-absolute-1" +run_dump_test_o32l "mips16-branch-absolute-2" +run_dump_test_o32l "mips16-branch-absolute-addend" +run_dump_test_o32l "mips16-branch-absolute-addend-1" +run_dump_test_n32l "mips16-branch-absolute-n32" +run_dump_test_n32l "mips16-branch-absolute-n32-1" +run_dump_test_n32l "mips16-branch-absolute-n32-2" +run_dump_test_n32l "mips16-branch-absolute-addend-n32" +run_dump_test_n32l "mips16-branch-absolute-addend-n32-1" +run_dump_test_n64l "mips16-branch-absolute-n64" +run_dump_test_n64l "mips16-branch-absolute-n64-1" +run_dump_test_n64l "mips16-branch-absolute-n64-2" +run_dump_test_n64l "mips16-branch-absolute-addend-n64" +run_dump_test_n64l "mips16-branch-absolute-addend-n64-1" + +run_dump_test_o32l "micromips-branch-absolute" +run_dump_test_o32l "micromips-branch-absolute-addend" +run_dump_test_n32l "micromips-branch-absolute-n32" +run_dump_test_n32l "micromips-branch-absolute-addend-n32" +run_dump_test_n64l "micromips-branch-absolute-n64" +run_dump_test_n64l "micromips-branch-absolute-addend-n64" # Jalx test run_dump_test "jalx-1" @@ -381,69 +423,69 @@ if { $linux_gnu } { "jalx-2"]] } -run_dump_test_o32 "jalx-addend" -run_dump_test_o32 "jalx-local" -run_dump_test_o32 "bal-jalx-addend" -run_dump_test_o32 "bal-jalx-addend-micromips" -run_dump_test_o32 "bal-jalx-local" -run_dump_test_o32 "bal-jalx-local-micromips" -run_dump_test_o32 "bal-jalx-pic" -run_dump_test_o32 "bal-jalx-pic-micromips" -run_dump_test_o32 "bal-jalx-pic-ignore" -run_dump_test_o32 "bal-jalx-pic-ignore-micromips" -run_dump_test_n32 "jalx-addend-n32" -run_dump_test_n32 "jalx-local-n32" -run_dump_test_n32 "bal-jalx-addend-n32" -run_dump_test_n32 "bal-jalx-addend-micromips-n32" -run_dump_test_n32 "bal-jalx-local-n32" -run_dump_test_n32 "bal-jalx-local-micromips-n32" -run_dump_test_n32 "bal-jalx-pic-n32" -run_dump_test_n32 "bal-jalx-pic-micromips-n32" -run_dump_test_n32 "bal-jalx-pic-ignore-n32" -run_dump_test_n32 "bal-jalx-pic-ignore-micromips-n32" -run_dump_test_n64 "jalx-addend-n64" -run_dump_test_n64 "jalx-local-n64" -run_dump_test_n64 "bal-jalx-addend-n64" -run_dump_test_n64 "bal-jalx-addend-micromips-n64" -run_dump_test_n64 "bal-jalx-local-n64" -run_dump_test_n64 "bal-jalx-local-micromips-n64" -run_dump_test_n64 "bal-jalx-pic-n64" -run_dump_test_n64 "bal-jalx-pic-micromips-n64" -run_dump_test_n64 "bal-jalx-pic-ignore-n64" -run_dump_test_n64 "bal-jalx-pic-ignore-micromips-n64" - -run_dump_test "unaligned-jalx-0" [list [list ld $abi_ldflags(o32)]] -run_dump_test "unaligned-jalx-1" [list [list ld $abi_ldflags(o32)]] -run_dump_test "unaligned-jalx-2" [list [list ld $abi_ldflags(o32)]] -run_dump_test "unaligned-jalx-3" [list [list ld $abi_ldflags(o32)]] -run_dump_test "unaligned-jalx-mips16-0" [list [list ld $abi_ldflags(o32)]] -run_dump_test "unaligned-jalx-mips16-1" [list [list ld $abi_ldflags(o32)]] -run_dump_test "unaligned-jalx-micromips-0" [list [list ld $abi_ldflags(o32)]] -run_dump_test "unaligned-jalx-micromips-1" [list [list ld $abi_ldflags(o32)]] - -run_dump_test_n32 "unaligned-jalx-addend-0" -run_dump_test_n32 "unaligned-jalx-addend-1" -run_dump_test_n32 "unaligned-jalx-addend-2" -run_dump_test_n32 "unaligned-jalx-addend-3" -run_dump_test_n32 "unaligned-jalx-addend-mips16-0" -run_dump_test_n32 "unaligned-jalx-addend-mips16-1" -run_dump_test_n32 "unaligned-jalx-addend-micromips-0" -run_dump_test_n32 "unaligned-jalx-addend-micromips-1" +run_dump_test_o32l "jalx-addend" +run_dump_test_o32l "jalx-local" +run_dump_test_o32l "bal-jalx-addend" +run_dump_test_o32l "bal-jalx-addend-micromips" +run_dump_test_o32l "bal-jalx-local" +run_dump_test_o32l "bal-jalx-local-micromips" +run_dump_test_o32l "bal-jalx-pic" +run_dump_test_o32l "bal-jalx-pic-micromips" +run_dump_test_o32l "bal-jalx-pic-ignore" +run_dump_test_o32l "bal-jalx-pic-ignore-micromips" +run_dump_test_n32l "jalx-addend-n32" +run_dump_test_n32l "jalx-local-n32" +run_dump_test_n32l "bal-jalx-addend-n32" +run_dump_test_n32l "bal-jalx-addend-micromips-n32" +run_dump_test_n32l "bal-jalx-local-n32" +run_dump_test_n32l "bal-jalx-local-micromips-n32" +run_dump_test_n32l "bal-jalx-pic-n32" +run_dump_test_n32l "bal-jalx-pic-micromips-n32" +run_dump_test_n32l "bal-jalx-pic-ignore-n32" +run_dump_test_n32l "bal-jalx-pic-ignore-micromips-n32" +run_dump_test_n64l "jalx-addend-n64" +run_dump_test_n64l "jalx-local-n64" +run_dump_test_n64l "bal-jalx-addend-n64" +run_dump_test_n64l "bal-jalx-addend-micromips-n64" +run_dump_test_n64l "bal-jalx-local-n64" +run_dump_test_n64l "bal-jalx-local-micromips-n64" +run_dump_test_n64l "bal-jalx-pic-n64" +run_dump_test_n64l "bal-jalx-pic-micromips-n64" +run_dump_test_n64l "bal-jalx-pic-ignore-n64" +run_dump_test_n64l "bal-jalx-pic-ignore-micromips-n64" + +run_dump_test_o32l "unaligned-jalx-0" [list [list ld $abi_ldflags(o32)]] +run_dump_test_o32l "unaligned-jalx-1" [list [list ld $abi_ldflags(o32)]] +run_dump_test_o32l "unaligned-jalx-2" [list [list ld $abi_ldflags(o32)]] +run_dump_test_o32l "unaligned-jalx-3" [list [list ld $abi_ldflags(o32)]] +run_dump_test_o32l "unaligned-jalx-mips16-0" [list [list ld $abi_ldflags(o32)]] +run_dump_test_o32l "unaligned-jalx-mips16-1" [list [list ld $abi_ldflags(o32)]] +run_dump_test_o32l "unaligned-jalx-micromips-0" [list [list ld $abi_ldflags(o32)]] +run_dump_test_o32l "unaligned-jalx-micromips-1" [list [list ld $abi_ldflags(o32)]] + +run_dump_test_n32l "unaligned-jalx-addend-0" +run_dump_test_n32l "unaligned-jalx-addend-1" +run_dump_test_n32l "unaligned-jalx-addend-2" +run_dump_test_n32l "unaligned-jalx-addend-3" +run_dump_test_n32l "unaligned-jalx-addend-mips16-0" +run_dump_test_n32l "unaligned-jalx-addend-mips16-1" +run_dump_test_n32l "unaligned-jalx-addend-micromips-0" +run_dump_test_n32l "unaligned-jalx-addend-micromips-1" run_dump_test_o32 "unaligned-branch" noarch -run_dump_test_n32 "unaligned-branch-2" -run_dump_test_n32 "unaligned-branch-ignore-2" +run_dump_test_n32l "unaligned-branch-2" +run_dump_test_n32l "unaligned-branch-ignore-2" run_dump_test_n32 "unaligned-branch-r6-1" run_dump_test_n32 "unaligned-branch-ignore-r6-1" run_dump_test_n32 "unaligned-branch-r6-2" noarch -run_dump_test_n32 "unaligned-branch-mips16" -run_dump_test_n32 "unaligned-branch-ignore-mips16" -run_dump_test_n32 "unaligned-branch-micromips" -run_dump_test_n32 "unaligned-branch-ignore-micromips" -run_dump_test_n32 "unaligned-jump" -run_dump_test_n32 "unaligned-jump-mips16" -run_dump_test_n32 "unaligned-jump-micromips" +run_dump_test_n32l "unaligned-branch-mips16" +run_dump_test_n32l "unaligned-branch-ignore-mips16" +run_dump_test_n32l "unaligned-branch-micromips" +run_dump_test_n32l "unaligned-branch-ignore-micromips" +run_dump_test_n32l "unaligned-jump" +run_dump_test_n32l "unaligned-jump-mips16" +run_dump_test_n32l "unaligned-jump-micromips" run_dump_test_o32 "unaligned-lwpc-0" noarch run_dump_test_o32 "unaligned-lwpc-1" noarch @@ -474,11 +516,11 @@ if { $linux_gnu } { } if { $embedded_elf } { - run_dump_test_n32 "elf-rel-got-n32-embed" {{as -EB} {ld -EB}} - run_dump_test_n32 "elf-rel-xgot-n32-embed" {{as -EB} {ld -EB}} + run_dump_test_n32l "elf-rel-got-n32-embed" {{as -EB} {ld -EB}} + run_dump_test_n32l "elf-rel-xgot-n32-embed" {{as -EB} {ld -EB}} } else { - run_dump_test_n32 "elf-rel-got-n32" {{as -EB} {ld -EB}} - run_dump_test_n32 "elf-rel-xgot-n32" {{as -EB} {ld -EB}} + run_dump_test_n32l "elf-rel-got-n32" {{as -EB} {ld -EB}} + run_dump_test_n32l "elf-rel-xgot-n32" {{as -EB} {ld -EB}} } if { $irix } { run_dump_test_n64 "elf-rel-got-n64-irix" @@ -487,8 +529,8 @@ if { $irix } { run_dump_test_n64 "elf-rel-got-n64-embed" {{as -EB} {ld -EB}} run_dump_test_n64 "elf-rel-xgot-n64-embed" {{as -EB} {ld -EB}} } else { - run_dump_test_n64 "elf-rel-got-n64" {{as -EB} {ld -EB}} - run_dump_test_n64 "elf-rel-xgot-n64" {{as -EB} {ld -EB}} + run_dump_test_n64l "elf-rel-got-n64" {{as -EB} {ld -EB}} + run_dump_test_n64l "elf-rel-xgot-n64" {{as -EB} {ld -EB}} } run_dump_test_n32 "relax-jalr-n32" {{as -EB} {ld -EB}} @@ -795,8 +837,8 @@ run_dump_test_n32 "jalbal" noarch run_dump_test "mode-change-error-1" -run_dump_test_o32 "mips16-hilo" -run_dump_test_n32 "mips16-hilo-n32" +run_dump_test_o32l "mips16-hilo" +run_dump_test_n32l "mips16-hilo-n32" if { $linux_gnu } { run_dump_test_n32 "textrel-1" @@ -865,8 +907,8 @@ if { $linux_gnu && $has_abi(o32) } { set base_syms 1 foreach { isa aflag lflag suffix } \ { MIPS -march=mips1 "" "" \ - microMIPS -mmicromips "" -micromips \ - "microMIPS insn32" "-mmicromips -minsn32" --insn32 \ + microMIPS "-mips32r2 -mmicromips" "" -micromips \ + "microMIPS insn32" "-mips32r2 -mmicromips -minsn32" --insn32 \ -micromips-insn32 } { foreach dynsym { 7fff 8000 fff0 10000 2fe80 } { run_ld_link_tests \ @@ -1206,7 +1248,7 @@ foreach { abi } $abis { [list \ "MIPS JALR reloc unaligned/cross-mode link test ($abi)" \ "$abi_ldflags($abi) -T jalr3.ld" "" \ - "$abi_asflags($abi)" \ + "$abi_asflags($abi) -march=from-abi" \ [list ../../../gas/testsuite/gas/mips/jalr4.s] \ [list "objdump {-d --prefix-addresses --show-raw-insn} jalr4.dd"] \ "jalr4-${abi}"] \ @@ -1244,6 +1286,8 @@ proc run_mips_plt_test { name abi filter micromips suffix {extra {}} } { append as_flags " --defsym micromips=$micromips --defsym $abi=1" if {[string equal $abi o32]} { append as_flags " -march=mips2" + } else { + append as_flags " -march=mips3" } set ld_flags "$abi_ldflags($abi) -T compressed-plt-1.ld" set dynobj "tmpdir/compressed-plt-1-${abi}-dyn.so" @@ -1383,7 +1427,7 @@ if { $has_abi(o32) } { run_ld_link_tests [list \ [list \ "PR ld/21334 MIPS GOT16 relocation in static binary" \ - "$abi_ldflags(o32) -e foo -T pr21334.ld" "" "$abi_asflags(o32)" \ + "$abi_ldflags(o32) -e foo -T pr21334.ld" "" "$abi_asflags(o32) -march=from-abi" \ {pr21334.s} \ {{objdump {-d --prefix-addresses} pr21334.dd} \ {readelf -A pr21334.gd}} \ @@ -1418,7 +1462,7 @@ if { $has_abi(o32) } { [list \ "microMIPS link PIC branch relaxation with offset" \ "$abi_ldflags(o32) -shared -T relax-offset.ld" "" \ - "$abi_asflags(o32) -relax-branch -mmicromips" \ + "$abi_asflags(o32) -relax-branch -mips32r2 -mmicromips" \ {../../../gas/testsuite/gas/mips/relax-offset.s} \ {{objdump \ {-d --prefix-addresses --show-raw-insn} \ @@ -1571,7 +1615,7 @@ proc run_mips_undefweak_test { name abi args } { "$name" \ "$abi_ldflags($abi) -e foo -T pr21375${scrsuf}.ld ${ldxtra}" \ "" \ - "$abi_asflags($abi) ${asxtra}" \ + "$abi_asflags($abi) -march=from-abi ${asxtra}" \ [list pr21375${srcsuf}.s] \ [list \ [list objdump -d pr21375${objsuf}.dd] \ @@ -1650,11 +1694,11 @@ run_dump_test "pic-reloc-2" run_dump_test "pic-reloc-3" run_dump_test "pic-reloc-4" run_dump_test_o32 "pic-reloc-5" -run_dump_test_o32 "pic-reloc-5" [list [list name (microMIPS)] \ +run_dump_test_o32l "pic-reloc-5" [list [list name (microMIPS)] \ [list as "-mmicromips"]] -run_dump_test_o32 "pic-reloc-6" +run_dump_test_o32l "pic-reloc-6" run_dump_test_n64 "pic-reloc-7" -run_dump_test_n64 "pic-reloc-7" [list [list name (microMIPS)] \ +run_dump_test_n64l "pic-reloc-7" [list [list name (microMIPS)] \ [list as "-mmicromips"]] run_dump_test_o32 "reloc-pcrel-r6" diff --git a/ld/testsuite/ld-mips-elf/mips16-1.d b/ld/testsuite/ld-mips-elf/mips16-1.d index 77d1316cb1e..f2d5caafe4b 100644 --- a/ld/testsuite/ld-mips-elf/mips16-1.d +++ b/ld/testsuite/ld-mips-elf/mips16-1.d @@ -1,5 +1,5 @@ -#source: mips16-1a.s -no-mips16 -#source: mips16-1b.s -mips16 +#source: mips16-1a.s -no-mips16 -march=from-abi +#source: mips16-1b.s -mips16 -march=from-abi #ld: -r #objdump: -pd diff --git a/ld/testsuite/ld-mips-elf/mips16-and-micromips.d b/ld/testsuite/ld-mips-elf/mips16-and-micromips.d index 6d740fe7209..4b89ae30388 100644 --- a/ld/testsuite/ld-mips-elf/mips16-and-micromips.d +++ b/ld/testsuite/ld-mips-elf/mips16-and-micromips.d @@ -1,5 +1,5 @@ #name: MIPS16 and microMIPS interlink -#source: ../../../gas/testsuite/gas/mips/nop.s -mips16 -#source: ../../../gas/testsuite/gas/mips/nop.s -mmicromips +#source: ../../../gas/testsuite/gas/mips/nop.s -mips16 -march=from-abi +#source: ../../../gas/testsuite/gas/mips/nop.s -mmicromips -march=from-abi #ld: -e0 #error: \A.*: .*\.o: ASE mismatch: linking microMIPS module with previous MIPS16 modules[\n\r]+.*: failed to merge target specific data of file .*\.o\Z diff --git a/ld/testsuite/ld-mips-elf/mode-change-error-1.d b/ld/testsuite/ld-mips-elf/mode-change-error-1.d index afa54d88f0e..90636c2e42d 100644 --- a/ld/testsuite/ld-mips-elf/mode-change-error-1.d +++ b/ld/testsuite/ld-mips-elf/mode-change-error-1.d @@ -1,6 +1,6 @@ #name: Mode Change Error 1 -#source: mode-change-error-1a.s -#source: mode-change-error-1b.s +#source: mode-change-error-1a.s -march=from-abi +#source: mode-change-error-1b.s -march=from-abi #ld: -e 0x8000000 #error: \A[^\n]*: in function `main':\n #error: \(\.text\+0x0\): unsupported jump between ISA modes; consider recompiling with interlinking enabled\n diff --git a/ld/testsuite/ld-mips-elf/n64-plt-1.dd b/ld/testsuite/ld-mips-elf/n64-plt-1.dd index 4c24a9a16ce..51d654a343b 100644 --- a/ld/testsuite/ld-mips-elf/n64-plt-1.dd +++ b/ld/testsuite/ld-mips-elf/n64-plt-1.dd @@ -15,7 +15,7 @@ Disassembly of section \.plt: 00000000100002a0 : 100002a0: 3c0f7fff lui t3,0x7fff 100002a4: ddf97ff8 ld t9,32760\(t3\) - 100002a8: 03200008 jr t9 + 100002a8: 0320000[89] jr t9 100002ac: 25f87ff8 addiu t8,t3,32760 Disassembly of section \.text: diff --git a/ld/testsuite/ld-mips-elf/n64-plt-4.dd b/ld/testsuite/ld-mips-elf/n64-plt-4.dd index 01c50256153..71fee33c4e1 100644 --- a/ld/testsuite/ld-mips-elf/n64-plt-4.dd +++ b/ld/testsuite/ld-mips-elf/n64-plt-4.dd @@ -15,7 +15,7 @@ ffffffff1000029c: 2718fffe addiu t8,t8,-2 ffffffff100002a0 : ffffffff100002a0: 3c0f8000 lui t3,0x8000 ffffffff100002a4: ddf98010 ld t9,-32752\(t3\) -ffffffff100002a8: 03200008 jr t9 +ffffffff100002a8: 0320000[89] jr t9 ffffffff100002ac: 25f88010 addiu t8,t3,-32752 Disassembly of section \.text: diff --git a/ld/testsuite/ld-mips-elf/nan-legacy.d b/ld/testsuite/ld-mips-elf/nan-legacy.d index 8dacc069671..0d90432e61b 100644 --- a/ld/testsuite/ld-mips-elf/nan-legacy.d +++ b/ld/testsuite/ld-mips-elf/nan-legacy.d @@ -1,5 +1,6 @@ #source: nan-legacy.s #source: nan-legacy.s +#as: -march=from-abi #ld: -r #objdump: -p diff --git a/ld/testsuite/ld-mips-elf/nan-mixed-1.d b/ld/testsuite/ld-mips-elf/nan-mixed-1.d index 9bc524c5552..c7e9570d5ee 100644 --- a/ld/testsuite/ld-mips-elf/nan-mixed-1.d +++ b/ld/testsuite/ld-mips-elf/nan-mixed-1.d @@ -1,5 +1,6 @@ #source: nan-legacy.s #source: nan-2008.s +#as: -march=from-abi #ld: -r #error: \A[^\n]*: [^\n]* linking -mnan=2008 module with previous -mnan=legacy modules\n #error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z diff --git a/ld/testsuite/ld-mips-elf/nan-mixed-2.d b/ld/testsuite/ld-mips-elf/nan-mixed-2.d index 388d7709663..a96cda06081 100644 --- a/ld/testsuite/ld-mips-elf/nan-mixed-2.d +++ b/ld/testsuite/ld-mips-elf/nan-mixed-2.d @@ -1,5 +1,6 @@ #source: nan-2008.s #source: nan-legacy.s +#as: -march=from-abi #ld: -r #error: \A[^\n]*: [^\n]* linking -mnan=legacy module with previous -mnan=2008 modules\n #error: [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z diff --git a/ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d b/ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d index 3baf22851a0..e3cc14ec793 100644 --- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d +++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-2.d @@ -17,6 +17,6 @@ Disassembly of section \.text: 4101c: 27391020 addiu t9,t9,4128 00041020 : - 41020: 03e00008 jr ra + 41020: 03e0000[89] jr ra 41024: 00000000 nop \.\.\. diff --git a/ld/testsuite/ld-mips-elf/reloc-3.d b/ld/testsuite/ld-mips-elf/reloc-3.d index 1ec51c5f8f3..02150162d37 100644 --- a/ld/testsuite/ld-mips-elf/reloc-3.d +++ b/ld/testsuite/ld-mips-elf/reloc-3.d @@ -1,5 +1,5 @@ #name: R_MIPS16_GPREL reloc -#source: ../../../gas/testsuite/gas/mips/elf-rel6.s +#source: ../../../gas/testsuite/gas/mips/elf-rel6.s -march=from-abi #objdump: --prefix-addresses -tdr --show-raw-insn #ld: -Ttext 0x20000000 -e 0x20000000 -N From patchwork Fri Jun 16 06:25:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YunQiang Su X-Patchwork-Id: 108844 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1123632vqr; Thu, 15 Jun 2023 23:28:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7oQVFiXvRzucNl6LahFRZaFMSgwCZQ0QTFa4fmQ3cHXvWOgIGkVrboPNBjPvumscHY8DiQ X-Received: by 2002:a05:6402:5112:b0:514:387c:930 with SMTP id m18-20020a056402511200b00514387c0930mr7045693edd.5.1686896930028; Thu, 15 Jun 2023 23:28:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686896930; cv=pass; d=google.com; s=arc-20160816; b=GUghge8XrL5dvVG9b7IMClChAB0ZKik4hdHFl3lbfgGo4ns8wrEqUabtd6FdNdwfQW cCsHOV3y+Xo052k8nY5yIz5WutCfIF+pbsHr707wYRsLsDQ/ki8576AlSBQP6g5tmKKk pcyNIz1CfP7eYvFhU3JW7BfpDKs1Wmm0RlBYgOZy+lZ8t9X5j08dDwpPKlhKB8UHFHlR J5GmdviLlXHfa6+rvl3RCp/zHbPcTr6RsGeU+oJEMJxq9QKLym8h3Zcl1VbHjOxzMd+I NhdyIws6gYcyG9wLbhe0w7sq0Opqg0gArAJ0/5oQPSnntawgl2yhFkKJgQtIrmaK2TrY 5ZjA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dmarc-filter:delivered-to; bh=pC3zazetaBd3baedMgLO3h9NY2Cr29hFHggrSIAuIRI=; b=DQzHwbGCpRipchET5SjhRBwia1MDkOmTW5KkpCnpB8/dgFUStv3LM9r0xI1NnTA6ga G6nFTQS6/NfKkpsF8/7Wzq39b+Wp2JAf2vpIU5XXMWIklndgS27A+9WxHKCU4tMqp9h4 q3lgrO2JRlGhu5cniP+DBzzCbsT9Tm/KQEaGLUMLI8diXZyrWhaNx//M9C6CxZhzGse7 8wAMsCwHC9M6DQjNldvT8osOHKwA7fvnF+JCJVMSQ8lZWu+rf0Pa1y3HeGMxzlJ9xBts R/nV33AtEmj6R0MRvdKxnkvMWCu4p7+Yz1YidSSN6HVFYmYwG95oltRs0s87G9G1G/+c Vx7w== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b="jhBBiA/X"; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id j3-20020aa7c0c3000000b0051a2fb511ecsi911901edp.37.2023.06.15.23.28.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 23:28:49 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b="jhBBiA/X"; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 946773883018 for ; Fri, 16 Jun 2023 06:26:48 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2110.outbound.protection.outlook.com [40.107.215.110]) by sourceware.org (Postfix) with ESMTPS id 0B8543850432 for ; Fri, 16 Jun 2023 06:26:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0B8543850432 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=Z/arseQ1VM3ADQute9y5Y3ayYnSlVVc8MSXEn0IFHqsVpjSVu6kEfX7YubeOYo5r5/tlQ8X6R9waphjkglLZVgJhCiK0eUmwyvS78hUvBX8HCm626hGaoib+RVAw9QZDeoRMbFqLPAUP0qfH0+6bA5lafJq8pDA4zHSUY1goqy2eufMdAzbOosrcrRUz18x6uYVzkuJcN4u3dg2hDKyOHcD88SFmhxYrliRK9+4rBrZTM4WhtNO1wcXeSVyEYwj4XTwoj2rMrO4JMagvbV4S2bjNX0FQybKaSshLvj3bCQLP+LuCBUzJ2iCv9d0emkOdm6CNCysgkuAmo4IHuRILMA== 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=pC3zazetaBd3baedMgLO3h9NY2Cr29hFHggrSIAuIRI=; b=Hvx1WPixbbAuqTtq36KSMKDuYT2k13u+/LE0UBR66U8MSQQxQUB+RCtQE2bYGIXoA7saIEi8nosUnffjm4fEaNvA/YEKaSLw4qsEVszjDrs4CAQnq5Z8T4gpIVIv35LsHytX7ng4NNmXG4JL8ByaLze2Nhky9gt6p9iSeATPPfbOYv0vI6jD5s0sEPomMpapSH6ngldh0HbmnvDmeL3Rangv2/7WI1xmTY44bSJ2g9qGaWhDo7wdhaCpD8JOMHqPdqhdilBi7PfYC4xCeBj5h85lwSgfaM114y+U6CqdkQ9uNdFEHXZpFkAa6AN0uF8y61t+/eTH5pYmjUXMdai4iA== 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=pC3zazetaBd3baedMgLO3h9NY2Cr29hFHggrSIAuIRI=; b=jhBBiA/X2QAxqoTp4p/5nr350TJBiKBjoe8I4lWIghQfgLnmvR+ue9zdXX0YJX5mHnWpeEIUEI3EzcrB2K1UuV7gkagZCFrZV5JlGKN4QLUjkpwZ5L3/x1fFYYr+oWBU/AK81I16ehQeNgaLjlQ4NznunEY9SM5osaayVzZutNk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cipunited.com; Received: from SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) by TYUPR04MB6911.apcprd04.prod.outlook.com (2603:1096:400:350::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Fri, 16 Jun 2023 06:25:48 +0000 Received: from SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9]) by SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9%4]) with mapi id 15.20.6500.026; Fri, 16 Jun 2023 06:25:48 +0000 From: YunQiang Su To: binutils@sourceware.org Cc: macro@orcam.me.uk, paul.hua.gm@gmail.com, amodra@gmail.com, jbeulich@suse.com, YunQiang Su Subject: [PATCH v3 4/7] MIPS: Fix -gnuabi64 testsuite Date: Fri, 16 Jun 2023 14:25:00 +0800 Message-Id: <20230616062504.1713904-8-yunqiang.su@cipunited.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230616062504.1713904-1-yunqiang.su@cipunited.com> References: <20230616062504.1713904-1-yunqiang.su@cipunited.com> X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35) To SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR04MB6121:EE_|TYUPR04MB6911:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e3c297f-c01d-495c-6878-08db6e328601 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: U89cPnlTscE+eoU1vLiVBkGxugZEpWasHpVZTTcIpcbCmEv+kXMk+PjVFPHgYtY7u0FJm/qTiiUZr5sVyayNDPqLnlKcARvQ4NIrqlSqOl/7HWT36/Oq9JKyhJhss0jxvw4y4FriHn4mE6KOngNDKAzShp4jRUq61nq8PLpKwipUlfR1Lp4dZsjFwFxTzPNtqPtKlWXJ46Y5hwI3s45QVSmt1bQ9XV+7e3v6pg9Qb7wevwWfzBuM5Icq2inw1uSbps7uozYNHRYZFeWtChzIkm7G6XWwFBGqJkZfidh4OYZxn4uOJzYS+5b7jB55hHMcImer7vbsCJMX8++6u6i7o7HjIrBRuVFWFycKsKlu5G0M9OJJeYXvl2tLQOEa5frw9o5dkAi1IKs9c+Bdx8v3qlojzlEzFq3+9Oy+Fsjx0shLC4mrDVFcwsFhrk8IEUFwUNslwvuH84vTrP5hSaUB2XeOxOZCBHCmDtWQ7Hao6S6iD3FdbklL4DWCm4ozRm+c4e/DcUyWqfRJVtQ+T53eJ/fvu+LP4ZhKtMw9MdZ2govyToOll8QTZpjp9IMDlVeiqQZiFaF2zO2w9q41THeeh/C90dRh0Pv1M9uASLjSa0joqYW+fBPZe9NNMw6AtMdJutOUBCm1yUTrRdH80kR1SOr5G33i4+rq6g7SWz5rb/Y= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR04MB6121.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(396003)(39830400003)(366004)(346002)(376002)(451199021)(36756003)(186003)(30864003)(2906002)(83380400001)(26005)(1076003)(6512007)(6506007)(66946007)(52116002)(41300700001)(6486002)(40140700001)(107886003)(316002)(8676002)(8936002)(5660300002)(86362001)(66476007)(2616005)(66556008)(4326008)(6916009)(38350700002)(38100700002)(478600001)(6666004)(559001)(579004)(473944003)(357404004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 214jDkLEVRglmAyFyNYOo+IuJapBTA4uvKDC6Q4i7jIus5fO5mUKU4fXtYt4HviV62IRG5+NjDqegmSSLBPcibOcMB1H5IFGjwrjytTe7ohHXgqvkGgcwZrg3XFeuRSGsBDd2dVmzPnE1ZKyFzGeqy86rRNsR3+KQnVhU0g63k7cmNq1F1TQSn4aaVrvMioGHPCCoHCembxRY5zmjYJ3jVe5KozM91Sv/yrBR9sEkWTD5clBaiNsJ8fLdE00Iu+LHF9cAcp/HodYSP+yj7OJ78SImdPmwpUeWzWxzA5+B/WpUQoQh4yE8IKxboJrAUKduI1ONhW5TJ1eNKkO2rEzJf+XNLTgbyOHSZA9QOf4EGlsxDc/X83GGBZayfvsKX8aguL1A00VJ7LzRntxuZc0s386Af5D0gNIkIjrEgTitmFQl+bsy08x18Ew0gMhFlui3IIVZxJMEAP/mOGWy223eZzXCBcmYCC55qVB8T8htaYwQKKtvwk9mAV7d7ykhH1/A0nLjsugUYeqANHHKb240do2oGnU2B0JjSa3wXJ4gvmaH3aP9aaoLUphkiKCg1V7p6Ohcy1kmlh0svAPk/oGIdp2JyfYieCa+CA3gWojRChoIl5eousZXywXl4s0EMpB0i0AH1/4YcBLPB5MdLTsPIl3AoDqOc/O5IZRSwIrVI/r1rh0AJeaUiQOcHLst5dFjYiZLVu2btwcrkus59Q2bu36zEPisZ/7SWL4GpJa5wXjhDemTddoBWFtc7FD9uGmsd0ELwhxwdiizlLTOMyVVAF/AzdPbCv9hGufoERe1xXNfuxkxehRPCsYJKX8sg08t8uS062BttbRM2AZKQn53En0DMiaUUDL8ffZKWbn77lY9LJTymCq5z+N7awUZoGbbexN5RzDNohZfjdZJa2/8roNCDC53NVhNdStcIxilUpaKdehQ95c33Z1HMbTFoiJ9F2QVFG8+JztkCLFcOgJiTh/oNlhhqrj37nns8By5f57bh/x3ye1WoOWNSNuK0UuPnSYHM6IcOZVmWws6f/coagAdF4JKXxHpbK8NpsAIM7wsBq4OLtMvjsqWbE5idOv1f5otgPRGfJR+uS3b8nYYge/SQcJKWIlQCLJ3U/HpIXMHmrTnvwdxItAtRXYNjP4gevEVfAzMTvcghkYYVuB12xMLZk1Wg+3SrtpJNST/93Qe52Xc0t13yJzBiFwSbQbxn4bDbVZkoHkUqX5Tpenbcv6QWlvh/jbS7j2iNX4lMY6w7Y9HnfOv2vbZzOyj4QxKMRW1PqLvw8I4BUe6JHtwO0octNuh+kNtlkl9N5cS70FUQtLR6jHy3txWF7rihV5GKxhzS04HyYJY/WY2w9zQ2XKmqzuiPpUFfuGBzeqjaTdd3qmniAc+IDED6oVV3pbj0bAqXb9cuUNkeentPP6Pb7CFytEteyCAJWYVDUNQwNcPuoh/6MeQXVOuVQT1vafnsr5NXvj1ESRlTHCEmk7LICRzvDeUqHsUEvy9mIxmxnDlRM5m0UUTNWXJebkmN09YGNYl5BK76LixfC3YMjaoLXFN/sWkqtIu7t/yfeC20r6y5DSsu6alGHvhxhUSFCHGGmZaUDzf4eHBvv1IgeCCg== X-OriginatorOrg: cipunited.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e3c297f-c01d-495c-6878-08db6e328601 X-MS-Exchange-CrossTenant-AuthSource: SEZPR04MB6121.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 06:25:48.2541 (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: t0Cxb4IupWWPooLCMQDcLPo3077X3F4Vy5J9nIhzHHu73gpuQOd4gW9NrdQp9dAXCTEnEF1nJ3PHeaIwMEn16y1QbyA4MPzW58J+CKG2iPc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR04MB6911 X-Spam-Status: No, score=-13.0 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: 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: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768839635173603232?= X-GMAIL-MSGID: =?utf-8?q?1768839635173603232?= Tested on: mips64-linux-gnuabi64 mips64el-linux-gnuabi64 mipsisa64-linux-gnuabi64 mipsisa64el-linux-gnuabi64 mipsisa64r2-linux-gnuabi64 mipsisa64r2el-linux-gnuabi64 mipsisa64r6-linux-gnuabi64 mipsisa64r6el-linux-gnuabi64 --- binutils/testsuite/binutils-all/mips/mips.exp | 19 + binutils/testsuite/binutils-all/objcopy.exp | 2 +- binutils/testsuite/binutils-all/readelf.r-64 | 2 + binutils/testsuite/binutils-all/readelf.s-64 | 10 +- .../testsuite/binutils-all/remove-relocs-01.d | 2 +- .../testsuite/binutils-all/remove-relocs-04.d | 2 +- .../testsuite/binutils-all/remove-relocs-05.d | 2 +- .../testsuite/binutils-all/remove-relocs-06.d | 2 +- binutils/testsuite/binutils-all/strip-3.d | 2 +- gas/testsuite/gas/all/assign.d | 4 + gas/testsuite/gas/all/fwdexp.d | 2 + gas/testsuite/gas/all/none.d | 2 + gas/testsuite/gas/elf/missing-build-notes.d | 8 + gas/testsuite/gas/macros/irp.d | 12 + gas/testsuite/gas/macros/repeat.d | 72 ++ gas/testsuite/gas/macros/rept.d | 6 + gas/testsuite/gas/macros/test2.d | 6 + gas/testsuite/gas/macros/vararg.d | 12 + gas/testsuite/gas/mips/align2-el.d | 8 +- gas/testsuite/gas/mips/align2.d | 8 +- gas/testsuite/gas/mips/compact-eh-eb-1.d | 11 +- gas/testsuite/gas/mips/compact-eh-eb-2.d | 23 +- gas/testsuite/gas/mips/compact-eh-eb-3.d | 15 +- gas/testsuite/gas/mips/compact-eh-eb-4.d | 15 +- gas/testsuite/gas/mips/compact-eh-eb-5.d | 23 +- gas/testsuite/gas/mips/compact-eh-eb-6.d | 15 +- gas/testsuite/gas/mips/compact-eh-eb-7.d | 23 +- gas/testsuite/gas/mips/compact-eh-el-1.d | 11 +- gas/testsuite/gas/mips/compact-eh-el-2.d | 23 +- gas/testsuite/gas/mips/compact-eh-el-3.d | 15 +- gas/testsuite/gas/mips/compact-eh-el-4.d | 15 +- gas/testsuite/gas/mips/compact-eh-el-5.d | 23 +- gas/testsuite/gas/mips/compact-eh-el-6.d | 15 +- gas/testsuite/gas/mips/compact-eh-el-7.d | 23 +- gas/testsuite/gas/mips/fix-rm7000-2.d | 2 +- gas/testsuite/gas/mips/llpscp-64.d | 1 + gas/testsuite/gas/mips/loongson-2f-2.d | 2 +- gas/testsuite/gas/mips/loongson-2f-3.d | 4 +- .../gas/mips/micromips@fix-rm7000-2.d | 2 +- gas/testsuite/gas/mips/mips-jalx.d | 4 +- gas/testsuite/gas/mips/mips.exp | 14 +- gas/testsuite/gas/mips/mips64-dsp.d | 2 +- gas/testsuite/gas/mips/pcrel-1.d | 4 +- gas/testsuite/gas/mips/set-arch.d | 718 +++++++++--------- ld/testsuite/ld-elf/eh5.d | 38 +- ld/testsuite/ld-elf/group.ld | 2 +- ld/testsuite/ld-elf/orphan-region.ld | 2 +- ld/testsuite/ld-elf/orphan.ld | 2 +- ld/testsuite/ld-mips-elf/compact-eh6.d | 6 +- ld/testsuite/ld-mips-elf/got-dump-1.d | 22 +- ld/testsuite/ld-mips-elf/got-page-1.ld | 2 +- ld/testsuite/ld-mips-elf/got-page-3.d | 11 +- ld/testsuite/ld-mips-elf/jaloverflow-2.d | 2 +- ld/testsuite/ld-mips-elf/jalx-1.d | 10 +- ld/testsuite/ld-mips-elf/mips-elf.exp | 28 +- ld/testsuite/ld-mips-elf/reloc-estimate-1.d | 4 +- ld/testsuite/ld-scripts/overlay-size.t | 2 +- ld/testsuite/ld-undefined/undefined.exp | 4 + 58 files changed, 797 insertions(+), 524 deletions(-) diff --git a/binutils/testsuite/binutils-all/mips/mips.exp b/binutils/testsuite/binutils-all/mips/mips.exp index 3b7bc29056a..bd2a2f754e3 100644 --- a/binutils/testsuite/binutils-all/mips/mips.exp +++ b/binutils/testsuite/binutils-all/mips/mips.exp @@ -152,6 +152,25 @@ set abi_ldflags(eabi) "" # Override as needed. if {[istarget *-*-openbsd*] } { set irixemul 0 +} elseif { [istarget mips*64*-*-linux*-gnuabi64] } { + set abi_asflags(o32) -32 + set abi_asflags(o32l) "-32 -march=from-abi" + set abi_asflags(n32) "-n32" + set abi_asflags(n32l) "-n32 -march=from-abi" + set abi_asflags(n64) "" + set abi_asflags(n64l) "-march=from-abi -64" + if [istarget *el-*-*] { + set abi_ldflags(o32) -melf32ltsmip + set abi_ldflags(o32l) -melf32ltsmip + set abi_ldflags(n32) -melf32ltsmipn32 + set abi_ldflags(n32l) -melf32ltsmipn32 + } else { + set abi_ldflags(o32) -melf32btsmip + set abi_ldflags(o32l) -melf32btsmip + set abi_ldflags(n32) -melf32btsmipn32 + set abi_ldflags(n32l) -melf32btsmipn32 + } + set irixemul 0 } elseif { [istarget mips*64*-*-linux*] } { set abi_asflags(o32) -32 set abi_asflags(o32l) "-32 -march=from-abi" diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp index 361e430f119..f6d4d1b839e 100644 --- a/binutils/testsuite/binutils-all/objcopy.exp +++ b/binutils/testsuite/binutils-all/objcopy.exp @@ -1269,7 +1269,7 @@ if [is_elf_format] { run_dump_test "strip-9" run_dump_test "strip-12" - if { [istarget "mips64*-*-openbsd*"] } { + if { [istarget "mips64*-*-openbsd*"] || [istarget "mips*64*-linux-gnuabi64"] } { set reloc_format mips64 } # A relocation type not supported by any target diff --git a/binutils/testsuite/binutils-all/readelf.r-64 b/binutils/testsuite/binutils-all/readelf.r-64 index e7487f1bece..7f850d9e0db 100644 --- a/binutils/testsuite/binutils-all/readelf.r-64 +++ b/binutils/testsuite/binutils-all/readelf.r-64 @@ -2,3 +2,5 @@ Relocation section '.rel.*text' at offset 0x.* contains 1 entry: Offset Info Type Sym. Value Sym. Name.* 0+04 [0-9A-Fa-f]+ *R_.*0+00 external_symbol.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* diff --git a/binutils/testsuite/binutils-all/readelf.s-64 b/binutils/testsuite/binutils-all/readelf.s-64 index e0037a56954..380a9c1aa55 100644 --- a/binutils/testsuite/binutils-all/readelf.s-64 +++ b/binutils/testsuite/binutils-all/readelf.s-64 @@ -10,8 +10,8 @@ Section Headers: +\[ 2\] .rel.+text +REL. +0+ +0+.* +000000000000001. +000000000000001. +I +. +1 +8 +\[ 3\] .data +PROGBITS +0000000000000000 +000000(48|50) - +000000000000000[48] +0000000000000000 +WA +0 +0 +.* - +\[ 4\] .bss +NOBITS +0000000000000000 +000000(4c|50|54|58|68) + +00000000000000(04|08|10) +0000000000000000 +WA +0 +0 +.* + +\[ 4\] .bss +NOBITS +0000000000000000 +000000(4c|50|54|58|60|68) +0000000000000000 +0000000000000000 +WA +0 +0 +.* # x86 targets may put .note.gnu.property here. # riscv targets put .riscv.attributes here. @@ -20,10 +20,10 @@ Section Headers: # aarch64-elf targets have one more data symbol. # x86 targets may have .note.gnu.property. # riscv targets have two more symbols, data symbol and .riscv.attributes. - +0+.* +0000000000000018 +(6|7) +(3|4|5) +8 - +\[ .\] .strtab +STRTAB +0000000000000000 +0+.* + +0+.* +0000000000000(018|180) +(6|7|10) +(3|4|5|10) +8 + +\[..\] .strtab +STRTAB +0000000000000000 +0+.* +0+.* +0000000000000000 .* +0 +0 +1 - +\[ .\] .shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ + +\[..\] .shstrtab +STRTAB +0000000000000000 +[0-9a-f]+ +00000000000000.. +0000000000000000 .* +0 +0 +.* Key to Flags: #... diff --git a/binutils/testsuite/binutils-all/remove-relocs-01.d b/binutils/testsuite/binutils-all/remove-relocs-01.d index 702747bc3f3..abef16fdff2 100644 --- a/binutils/testsuite/binutils-all/remove-relocs-01.d +++ b/binutils/testsuite/binutils-all/remove-relocs-01.d @@ -2,7 +2,7 @@ #source: remove-relocs-01.s #objcopy: --remove-relocations=.data.relocs.01 #readelf: -r -#notarget: "mips64*-*-openbsd*" +#notarget: "mips64*-*-openbsd*" "mips*64*-*-linux-gnuabi64" Relocation section '\.rela?\.data\.relocs\.02' at offset 0x[0-9a-f]+ contains 3 entries: .* diff --git a/binutils/testsuite/binutils-all/remove-relocs-04.d b/binutils/testsuite/binutils-all/remove-relocs-04.d index 1b8eab39a1a..ce63f50827a 100644 --- a/binutils/testsuite/binutils-all/remove-relocs-04.d +++ b/binutils/testsuite/binutils-all/remove-relocs-04.d @@ -2,7 +2,7 @@ #source: remove-relocs-01.s #objcopy: --remove-relocations=.data.relocs.0\[12\] #readelf: -r -#notarget: "mips64*-*-openbsd*" +#notarget: "mips64*-*-openbsd*" "mips*64*-linux-gnuabi64" Relocation section '\.rela?\.data\.relocs\.03' at offset 0x[0-9a-f]+ contains 3 entries: .* diff --git a/binutils/testsuite/binutils-all/remove-relocs-05.d b/binutils/testsuite/binutils-all/remove-relocs-05.d index a429182d258..a74c573cf90 100644 --- a/binutils/testsuite/binutils-all/remove-relocs-05.d +++ b/binutils/testsuite/binutils-all/remove-relocs-05.d @@ -2,7 +2,7 @@ #source: remove-relocs-01.s #objcopy: --remove-section=.rela.data.relocs.01 --remove-section=.rel.data.relocs.01 #readelf: -r -#notarget: "mips64*-*-openbsd*" +#notarget: "mips64*-*-openbsd*" "mips*64*-linux-gnuabi64" Relocation section '\.rela?\.data\.relocs\.02' at offset 0x[0-9a-f]+ contains 3 entries: .* diff --git a/binutils/testsuite/binutils-all/remove-relocs-06.d b/binutils/testsuite/binutils-all/remove-relocs-06.d index 5214bc7297a..53c47b582da 100644 --- a/binutils/testsuite/binutils-all/remove-relocs-06.d +++ b/binutils/testsuite/binutils-all/remove-relocs-06.d @@ -2,7 +2,7 @@ #source: remove-relocs-01.s #objcopy: --remove-relocations=.data.relocs.* --remove-relocations=!.data.relocs.02 #readelf: -r -#notarget: "mips64*-*-openbsd*" +#notarget: "mips64*-*-openbsd*" "mips*64*-linux-gnuabi64" Relocation section '\.rela?\.data\.relocs\.02' at offset 0x[0-9a-f]+ contains 3 entries: .* diff --git a/binutils/testsuite/binutils-all/strip-3.d b/binutils/testsuite/binutils-all/strip-3.d index cb2f78eef5c..89c75ae6992 100644 --- a/binutils/testsuite/binutils-all/strip-3.d +++ b/binutils/testsuite/binutils-all/strip-3.d @@ -1,6 +1,6 @@ #PROG: strip #source: empty.s -#strip: -R .text -R .data -R .bss -R .ARM.attributes -R .reginfo -R .gnu.attributes -R .MIPS.abiflags -R .pdr -R .xtensa.info -R .ARC.attributes -R .note.gnu.property -R .riscv.attributes -R .csky.attributes +#strip: -R .text -R .data -R .bss -R .ARM.attributes -R .reginfo -R .gnu.attributes -R .MIPS.abiflags -R .MIPS.options -R .pdr -R .xtensa.info -R .ARC.attributes -R .note.gnu.property -R .riscv.attributes -R .csky.attributes #readelf: -S --wide #name: strip empty file #target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi diff --git a/gas/testsuite/gas/all/assign.d b/gas/testsuite/gas/all/assign.d index 64b39976ec4..172d0b74f29 100644 --- a/gas/testsuite/gas/all/assign.d +++ b/gas/testsuite/gas/all/assign.d @@ -3,5 +3,9 @@ #... .*zzz.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* .*zzz.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* #pass diff --git a/gas/testsuite/gas/all/fwdexp.d b/gas/testsuite/gas/all/fwdexp.d index e83d05a9a94..9b839314741 100644 --- a/gas/testsuite/gas/all/fwdexp.d +++ b/gas/testsuite/gas/all/fwdexp.d @@ -6,6 +6,8 @@ RELOCATION RECORDS FOR .* OFFSET +TYPE +VALUE 0+ .*(\.data|label_i)(|\+0xf+e|\+0xf+c|\+0xf+8|-0x0*2|-0x0*4|-0x0*8) +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .* 0+ (0+|feff|fffe|fcffffff|fffffffc|f8ffffff|f8ffffff ffffffff|ffffffff fffffff8|0+4) .* diff --git a/gas/testsuite/gas/all/none.d b/gas/testsuite/gas/all/none.d index 374808a4f59..9ea861cbd71 100644 --- a/gas/testsuite/gas/all/none.d +++ b/gas/testsuite/gas/all/none.d @@ -5,3 +5,5 @@ #... 0+ .*(NONE|NULL|UNUSED0) +\*ABS\* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* diff --git a/gas/testsuite/gas/elf/missing-build-notes.d b/gas/testsuite/gas/elf/missing-build-notes.d index 95071baefa7..273bd37c5a9 100644 --- a/gas/testsuite/gas/elf/missing-build-notes.d +++ b/gas/testsuite/gas/elf/missing-build-notes.d @@ -8,7 +8,15 @@ RELOCATION RECORDS FOR \[.gnu.build.attributes\]: OFFSET +TYPE +VALUE 0+014 .*[ ]+.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+0(18|1c) .*[ ]+.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+0(30|38) .*[ ]+.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+0(34|40) .*[ ]+.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* #pass diff --git a/gas/testsuite/gas/macros/irp.d b/gas/testsuite/gas/macros/irp.d index fd98b60cc80..62a5df265a2 100644 --- a/gas/testsuite/gas/macros/irp.d +++ b/gas/testsuite/gas/macros/irp.d @@ -8,9 +8,21 @@ RELOCATION RECORDS FOR .* OFFSET[ ]+TYPE[ ]+VALUE.* 0+00[ ]+[a-zA-Z0-9_]+[ ]+foo1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+04[ ]+[a-zA-Z0-9_]+[ ]+foo2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+08[ ]+[a-zA-Z0-9_]+[ ]+foo3 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+0c[ ]+[a-zA-Z0-9_]+[ ]+bar1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+10[ ]+[a-zA-Z0-9_]+[ ]+bar2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+14[ ]+[a-zA-Z0-9_]+[ ]+bar3 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* #pass diff --git a/gas/testsuite/gas/macros/repeat.d b/gas/testsuite/gas/macros/repeat.d index 8f3bdcf535c..3392bfd7532 100644 --- a/gas/testsuite/gas/macros/repeat.d +++ b/gas/testsuite/gas/macros/repeat.d @@ -8,39 +8,111 @@ RELOCATION RECORDS FOR .* OFFSET[ ]+TYPE[ ]+VALUE.* 0+00[ ]+[a-zA-Z0-9_]+[ ]+irp_irp_19 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+04[ ]+[a-zA-Z0-9_]+[ ]+irp_irp_18 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+08[ ]+[a-zA-Z0-9_]+[ ]+irp_irp_29 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+0c[ ]+[a-zA-Z0-9_]+[ ]+irp_irp_28 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+10[ ]+[a-zA-Z0-9_]+[ ]+irp_irpc_19 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+14[ ]+[a-zA-Z0-9_]+[ ]+irp_irpc_18 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+18[ ]+[a-zA-Z0-9_]+[ ]+irp_irpc_29 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+1c[ ]+[a-zA-Z0-9_]+[ ]+irp_irpc_28 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+20[ ]+[a-zA-Z0-9_]+[ ]+irp_rept_1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+24[ ]+[a-zA-Z0-9_]+[ ]+irp_rept_1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+28[ ]+[a-zA-Z0-9_]+[ ]+irp_rept_2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+2c[ ]+[a-zA-Z0-9_]+[ ]+irp_rept_2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+30[ ]+[a-zA-Z0-9_]+[ ]+irpc_irp_19 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+34[ ]+[a-zA-Z0-9_]+[ ]+irpc_irp_18 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+38[ ]+[a-zA-Z0-9_]+[ ]+irpc_irp_29 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+3c[ ]+[a-zA-Z0-9_]+[ ]+irpc_irp_28 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+40[ ]+[a-zA-Z0-9_]+[ ]+irpc_irpc_19 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+44[ ]+[a-zA-Z0-9_]+[ ]+irpc_irpc_18 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+48[ ]+[a-zA-Z0-9_]+[ ]+irpc_irpc_29 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+4c[ ]+[a-zA-Z0-9_]+[ ]+irpc_irpc_28 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+50[ ]+[a-zA-Z0-9_]+[ ]+irpc_rept_1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+54[ ]+[a-zA-Z0-9_]+[ ]+irpc_rept_1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+58[ ]+[a-zA-Z0-9_]+[ ]+irpc_rept_2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+5c[ ]+[a-zA-Z0-9_]+[ ]+irpc_rept_2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+60[ ]+[a-zA-Z0-9_]+[ ]+rept_irp_9 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+64[ ]+[a-zA-Z0-9_]+[ ]+rept_irp_8 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+68[ ]+[a-zA-Z0-9_]+[ ]+rept_irp_9 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+6c[ ]+[a-zA-Z0-9_]+[ ]+rept_irp_8 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+70[ ]+[a-zA-Z0-9_]+[ ]+rept_irpc_9 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+74[ ]+[a-zA-Z0-9_]+[ ]+rept_irpc_8 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+78[ ]+[a-zA-Z0-9_]+[ ]+rept_irpc_9 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+7c[ ]+[a-zA-Z0-9_]+[ ]+rept_irpc_8 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+80[ ]+[a-zA-Z0-9_]+[ ]+rept_rept +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+84[ ]+[a-zA-Z0-9_]+[ ]+rept_rept +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+88[ ]+[a-zA-Z0-9_]+[ ]+rept_rept +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+8c[ ]+[a-zA-Z0-9_]+[ ]+rept_rept +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* #pass diff --git a/gas/testsuite/gas/macros/rept.d b/gas/testsuite/gas/macros/rept.d index 73223490e4f..1e553181601 100644 --- a/gas/testsuite/gas/macros/rept.d +++ b/gas/testsuite/gas/macros/rept.d @@ -8,6 +8,12 @@ RELOCATION RECORDS FOR .* OFFSET[ ]+TYPE[ ]+VALUE.* 0+00[ ]+[a-zA-Z0-9_]+[ ]+foo1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+04[ ]+[a-zA-Z0-9_]+[ ]+foo1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+08[ ]+[a-zA-Z0-9_]+[ ]+foo1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* #pass diff --git a/gas/testsuite/gas/macros/test2.d b/gas/testsuite/gas/macros/test2.d index 08ba703ddd5..9d5cc6c0b14 100644 --- a/gas/testsuite/gas/macros/test2.d +++ b/gas/testsuite/gas/macros/test2.d @@ -8,6 +8,12 @@ RELOCATION RECORDS FOR .* OFFSET[ ]+TYPE[ ]+VALUE.* 0+00[ ]+[a-zA-Z0-9_]+[ ]+foo1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+04[ ]+[a-zA-Z0-9_]+[ ]+foo2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+08[ ]+[a-zA-Z0-9_]+[ ]+foo3 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* #pass diff --git a/gas/testsuite/gas/macros/vararg.d b/gas/testsuite/gas/macros/vararg.d index f566eae4356..c83d93972cd 100644 --- a/gas/testsuite/gas/macros/vararg.d +++ b/gas/testsuite/gas/macros/vararg.d @@ -8,9 +8,21 @@ RELOCATION RECORDS FOR .* OFFSET[ ]+TYPE[ ]+VALUE.* 0+00[ ]+[a-zA-Z0-9_]+[ ]+foo1 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+04[ ]+[a-zA-Z0-9_]+[ ]+foo2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+08[ ]+[a-zA-Z0-9_]+[ ]+foo3 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+0c[ ]+[a-zA-Z0-9_]+[ ]+foo4 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+10[ ]+[a-zA-Z0-9_]+[ ]+foo5 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 0+14[ ]+[a-zA-Z0-9_]+[ ]+foo6 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* #pass diff --git a/gas/testsuite/gas/mips/align2-el.d b/gas/testsuite/gas/mips/align2-el.d index 8072c528282..8be241d9df4 100644 --- a/gas/testsuite/gas/mips/align2-el.d +++ b/gas/testsuite/gas/mips/align2-el.d @@ -6,7 +6,7 @@ Disassembly of section \.text: -00000000 : +0+000000 : 0: 4a01 addiu v0,1 2: 6500 nop 4: 6500 nop @@ -14,14 +14,14 @@ Disassembly of section \.text: 8: 4b01 addiu v1,1 a: 6500 nop -0000000c : +0+00000c : c: 24420001 addiu v0,v0,1 10: 24630001 addiu v1,v1,1 \.\.\. 20: 24840001 addiu a0,a0,1 24: 00000000 nop -00000028 : +0+000028 : 28: 4001 addiu s0,s0,1 2a: 6500 nop 2c: 6500 nop @@ -37,6 +37,6 @@ Disassembly of section \.text: Disassembly of section \.text\.a: -00000000 : +0+000000 : 0: 24a50001 addiu a1,a1,1 \.\.\. diff --git a/gas/testsuite/gas/mips/align2.d b/gas/testsuite/gas/mips/align2.d index d14fa2ce7c4..d9d4bd1e2a8 100644 --- a/gas/testsuite/gas/mips/align2.d +++ b/gas/testsuite/gas/mips/align2.d @@ -5,7 +5,7 @@ Disassembly of section \.text: -00000000 : +0+000000 : 0: 4a01 addiu v0,1 2: 6500 nop 4: 6500 nop @@ -13,14 +13,14 @@ Disassembly of section \.text: 8: 4b01 addiu v1,1 a: 6500 nop -0000000c : +0+00000c : c: 24420001 addiu v0,v0,1 10: 24630001 addiu v1,v1,1 \.\.\. 20: 24840001 addiu a0,a0,1 24: 00000000 nop -00000028 : +0+000028 : 28: 4001 addiu s0,s0,1 2a: 6500 nop 2c: 6500 nop @@ -36,6 +36,6 @@ Disassembly of section \.text: Disassembly of section \.text\.a: -00000000 : +0+000000 : 0: 24a50001 addiu a1,a1,1 \.\.\. diff --git a/gas/testsuite/gas/mips/compact-eh-eb-1.d b/gas/testsuite/gas/mips/compact-eh-eb-1.d index de88882296d..dd23259c24c 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-1.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-1.d @@ -8,14 +8,17 @@ RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-2.d b/gas/testsuite/gas/mips/compact-eh-eb-2.d index e8d9f489d92..b626e5da018 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-2.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-2.d @@ -8,27 +8,36 @@ RELOCATION RECORDS FOR \[.data.DW.ref.__gnu_compact_pr2\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_32 __gnu_compact_pr2 +0+000000 R_MIPS_32 __gnu_compact_pr2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.gnu_extab\]: OFFSET +TYPE +VALUE -00000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2 +0+000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .group: 0000 00000001 00000007 00000008 .* Contents of section .text: 0000 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-3.d b/gas/testsuite/gas/mips/compact-eh-eb-3.d index 3a5345c79c6..5fca29fd6bb 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-3.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-3.d @@ -8,15 +8,20 @@ RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-4.d b/gas/testsuite/gas/mips/compact-eh-eb-4.d index a39ab45455c..1964220962e 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-4.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-4.d @@ -8,16 +8,21 @@ RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000 00000000 00000000 00000000 .* 0010 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-5.d b/gas/testsuite/gas/mips/compact-eh-eb-5.d index bc568353605..bcc3472e9e1 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-5.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-5.d @@ -8,18 +8,26 @@ RELOCATION RECORDS FOR \[.data.DW.ref.__gnu_compact_pr2\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_32 __gnu_compact_pr2 +0+000000 R_MIPS_32 __gnu_compact_pr2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.gnu_extab\]: OFFSET +TYPE +VALUE -00000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2 +0+000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .group: @@ -27,9 +35,10 @@ Contents of section .group: Contents of section .text: 0000 00000000 00000000 00000000 00000000 .* 0010 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-6.d b/gas/testsuite/gas/mips/compact-eh-eb-6.d index a3d13c50035..3dd8e8b685d 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-6.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-6.d @@ -8,16 +8,21 @@ RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000 00000000 00000000 00000000 .* 0010 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-eb-7.d b/gas/testsuite/gas/mips/compact-eh-eb-7.d index 82da65ca286..fbc1330d872 100644 --- a/gas/testsuite/gas/mips/compact-eh-eb-7.d +++ b/gas/testsuite/gas/mips/compact-eh-eb-7.d @@ -8,27 +8,34 @@ RELOCATION RECORDS FOR \[.eh_frame\]: OFFSET +TYPE +VALUE -0000001c R_MIPS_PC32 .text.* +0+00001c R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .eh_frame.* +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .eh_frame.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* Contents of section .eh_frame: 0000 00000010 00000000 017a5200 017c1f01 .* - 0010 1b0d1d00 00000014 00000018 00000000 .* - 0020 00000008 00441308 440e0000 .* + 0010 1b0d1d00 0000001[48] 00000018 00000000 .* + 0020 00000008 00441308 440e0000 (00000000| ) .* Contents of section .eh_frame_entry: 0000 00000001 00000015 .* Contents of section .gnu.attributes: diff --git a/gas/testsuite/gas/mips/compact-eh-el-1.d b/gas/testsuite/gas/mips/compact-eh-el-1.d index d88871242aa..97ad1d84d8d 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-1.d +++ b/gas/testsuite/gas/mips/compact-eh-el-1.d @@ -8,14 +8,17 @@ RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-el-2.d b/gas/testsuite/gas/mips/compact-eh-el-2.d index b589122af59..e8c030ecd88 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-2.d +++ b/gas/testsuite/gas/mips/compact-eh-el-2.d @@ -8,27 +8,36 @@ RELOCATION RECORDS FOR \[.data.DW.ref.__gnu_compact_pr2\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_32 __gnu_compact_pr2 +0+000000 R_MIPS_32 __gnu_compact_pr2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.gnu_extab\]: OFFSET +TYPE +VALUE -00000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2 +0+000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .group: 0000 01000000 07000000 08000000 .* Contents of section .text: 0000 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-el-3.d b/gas/testsuite/gas/mips/compact-eh-el-3.d index bffe5772343..486c4f53d3e 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-3.d +++ b/gas/testsuite/gas/mips/compact-eh-el-3.d @@ -8,15 +8,20 @@ RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-el-4.d b/gas/testsuite/gas/mips/compact-eh-el-4.d index 85bc6d10e1d..61bd45d0397 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-4.d +++ b/gas/testsuite/gas/mips/compact-eh-el-4.d @@ -8,16 +8,21 @@ RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000 00000000 00000000 00000000 .* 0010 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-el-5.d b/gas/testsuite/gas/mips/compact-eh-el-5.d index ffa93b6e7e8..4d330023190 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-5.d +++ b/gas/testsuite/gas/mips/compact-eh-el-5.d @@ -7,18 +7,26 @@ RELOCATION RECORDS FOR \[.data.DW.ref.__gnu_compact_pr2\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_32 __gnu_compact_pr2 +0+000000 R_MIPS_32 __gnu_compact_pr2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.gnu_extab\]: OFFSET +TYPE +VALUE -00000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2 +0+000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2 +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .group: @@ -26,9 +34,10 @@ Contents of section .group: Contents of section .text: 0000 00000000 00000000 00000000 00000000 .* 0010 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-el-6.d b/gas/testsuite/gas/mips/compact-eh-el-6.d index 3dc8fb9ac57..e7f8d17f034 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-6.d +++ b/gas/testsuite/gas/mips/compact-eh-el-6.d @@ -8,16 +8,21 @@ RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .gnu_extab +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .gnu_extab +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000 00000000 00000000 00000000 .* 0010 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* diff --git a/gas/testsuite/gas/mips/compact-eh-el-7.d b/gas/testsuite/gas/mips/compact-eh-el-7.d index 626f84c0202..35d3fb6016d 100644 --- a/gas/testsuite/gas/mips/compact-eh-el-7.d +++ b/gas/testsuite/gas/mips/compact-eh-el-7.d @@ -8,27 +8,34 @@ RELOCATION RECORDS FOR \[.eh_frame\]: OFFSET +TYPE +VALUE -0000001c R_MIPS_PC32 .text.* +0+00001c R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* RELOCATION RECORDS FOR \[.eh_frame_entry\]: OFFSET +TYPE +VALUE -00000000 R_MIPS_PC32 .text.* -00000004 R_MIPS_PC32 .eh_frame.* +0+000000 R_MIPS_PC32 .text.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* +0+000004 R_MIPS_PC32 .eh_frame.* +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* Contents of section .text: 0000 00000000 00000000.* -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 .* - 0010 00000000 00000000 .* +Contents of section (.reginfo|.MIPS.options): + 0000 0(000|128)0000 00000000 00000000 00000000 .* + (0010 00000000 00000000 |0010 00000000 00000000 00000000 00000000) .* +#? 0020 00000000 00000000 .* Contents of section .MIPS.abiflags: .* .* Contents of section .eh_frame: 0000 10000000 00000000 017a5200 017c1f01 .* - 0010 1b0d1d00 14000000 18000000 00000000 .* - 0020 08000000 00441308 440e0000 .* + 0010 1b0d1d00 1[48]000000 18000000 00000000 .* + 0020 08000000 00441308 440e0000 (00000000| ) .* Contents of section .eh_frame_entry: 0000 01000000 15000000 .* Contents of section .gnu.attributes: diff --git a/gas/testsuite/gas/mips/fix-rm7000-2.d b/gas/testsuite/gas/mips/fix-rm7000-2.d index 3ec28174336..552dad52044 100644 --- a/gas/testsuite/gas/mips/fix-rm7000-2.d +++ b/gas/testsuite/gas/mips/fix-rm7000-2.d @@ -1,4 +1,4 @@ -#as: -mfix-rm7000 +#as: -mfix-rm7000 -mabi=n32 #objdump: -dz --prefix-addresses #name: MIPS RM7000 workarounds test 2 #source: fix-rm7000-2.s diff --git a/gas/testsuite/gas/mips/llpscp-64.d b/gas/testsuite/gas/mips/llpscp-64.d index bbf1efb062f..033055019e4 100644 --- a/gas/testsuite/gas/mips/llpscp-64.d +++ b/gas/testsuite/gas/mips/llpscp-64.d @@ -1,4 +1,5 @@ #objdump: -dr +#as: -n32 #name: Paired LL/SC for mips64r6 .*: +file format .* diff --git a/gas/testsuite/gas/mips/loongson-2f-2.d b/gas/testsuite/gas/mips/loongson-2f-2.d index 0c4ec9819b9..a70573a3c96 100644 --- a/gas/testsuite/gas/mips/loongson-2f-2.d +++ b/gas/testsuite/gas/mips/loongson-2f-2.d @@ -6,7 +6,7 @@ Disassembly of section .text: -00000000 : +0+000000 : 0: 00200825 move \$1,\$1 4: 00200825 move \$1,\$1 8: 00200825 move \$1,\$1 diff --git a/gas/testsuite/gas/mips/loongson-2f-3.d b/gas/testsuite/gas/mips/loongson-2f-3.d index 5269bcc33bc..c31d3abf53a 100644 --- a/gas/testsuite/gas/mips/loongson-2f-3.d +++ b/gas/testsuite/gas/mips/loongson-2f-3.d @@ -6,7 +6,7 @@ Disassembly of section .text: -00000000 <.text>: +0+000000 <.text>: 0: 3c01cfff lui \$1,0xcfff 4: 3421ffff ori \$1,\$1,0xffff 8: 03c1f024 and \$30,\$30,\$1 @@ -30,5 +30,7 @@ Disassembly of section .text: 44: 08000000 j 0x0 44: R_MIPS_26 external_label +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 48: 00000000 nop 4c: 00000000 nop diff --git a/gas/testsuite/gas/mips/micromips@fix-rm7000-2.d b/gas/testsuite/gas/mips/micromips@fix-rm7000-2.d index b95d6154d0e..236548fcab0 100644 --- a/gas/testsuite/gas/mips/micromips@fix-rm7000-2.d +++ b/gas/testsuite/gas/mips/micromips@fix-rm7000-2.d @@ -1,4 +1,4 @@ -#as: -mfix-rm7000 +#as: -mfix-rm7000 -mabi=n32 #objdump: -dz --prefix-addresses #name: MIPS RM7000 workarounds test 2 #source: fix-rm7000-2.s diff --git a/gas/testsuite/gas/mips/mips-jalx.d b/gas/testsuite/gas/mips/mips-jalx.d index 04174e39cf6..374a0a1b51c 100644 --- a/gas/testsuite/gas/mips/mips-jalx.d +++ b/gas/testsuite/gas/mips/mips-jalx.d @@ -3,9 +3,11 @@ #name: mips jalx .*: file format .* Disassembly of section .text: -00000000 <.text>: +0+000000 <.text>: 0: 74000000 jalx 0x0 0: R_MIPS_26 external_label +#?.*R_MIPS_NONE.* +#?.*R_MIPS_NONE.* 4: 00000000 nop 8: 00000000 nop c: 00000000 nop diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 28bc88b1725..92f6e4dac2d 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -572,6 +572,8 @@ if { [istarget mips*-*-vxworks*] } { set has_newabi [expr [istarget *-*-irix6*] || [istarget mips*-*-linux*] \ || [istarget mips*-sde-elf*] || [istarget mips*-mti-elf*] \ || [istarget mips*-img-elf*]] + set default_n64 [expr [istarget mips*64*-linux-gnuabi64] ] + if { [istarget "mips*-*-*linux*"] || [istarget "mips*-sde-elf*"] @@ -1465,7 +1467,9 @@ if { [istarget mips*-*-vxworks*] } { if { $has_newabi } { run_dump_test_arches "octeon" [mips_arch_list_matching octeon] } - run_dump_test_arches "octeon-saa-saad" [mips_arch_list_matching octeonp] + if !$default_n64 { + run_dump_test_arches "octeon-saa-saad" [mips_arch_list_matching octeonp] + } run_list_test_arches "octeon-ill" [mips_arch_list_matching octeon] if { $has_newabi } { run_dump_test_arches "octeon-pref" \ @@ -1630,10 +1634,12 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "r5900" run_dump_test "r5900-fix" run_dump_test "r5900-no-fix" - run_dump_test "r5900-full" - run_list_test "r5900-nollsc" "-mabi=o64 -march=r5900" - run_dump_test "r5900-vu0" + if !$default_n64 { + run_dump_test "r5900-full" + run_dump_test "r5900-vu0" + } run_dump_test "r5900-full-vu0" + run_list_test "r5900-nollsc" "-mabi=o64 -march=r5900" run_dump_test "r5900-all-vu0" run_list_test "r5900-error-vu0" "-march=r5900" diff --git a/gas/testsuite/gas/mips/mips64-dsp.d b/gas/testsuite/gas/mips/mips64-dsp.d index b56855dffdd..6eaad3240c7 100644 --- a/gas/testsuite/gas/mips/mips64-dsp.d +++ b/gas/testsuite/gas/mips/mips64-dsp.d @@ -15,7 +15,7 @@ Disassembly of section .text: 0+0014 <[^>]*> 7c851b94 addq_s\.qh v1,a0,a1 0+0018 <[^>]*> 7d4b4814 addu\.ob t1,t2,t3 0+001c <[^>]*> 7d6c5114 addu_s\.ob t2,t3,t4 -0+0020 <[^>]*> 041dfff7 bposge64 00000000 +0+0020 <[^>]*> 041dfff7 bposge64 0+000000 0+0024 <[^>]*> 00000000 nop 0+0028 <[^>]*> 7e950415 cmp\.eq\.pw s4,s5 0+002c <[^>]*> 7eb60455 cmp\.lt\.pw s5,s6 diff --git a/gas/testsuite/gas/mips/pcrel-1.d b/gas/testsuite/gas/mips/pcrel-1.d index 5c9f655d95a..91128178f29 100644 --- a/gas/testsuite/gas/mips/pcrel-1.d +++ b/gas/testsuite/gas/mips/pcrel-1.d @@ -5,10 +5,10 @@ Disassembly of section .text: -00000000 : +0+000000 : 0: 3c040001 lui a0,0x1 4: 2484800c addiu a0,a0,-32756 ... -00008010 : +0+008010 : #pass diff --git a/gas/testsuite/gas/mips/set-arch.d b/gas/testsuite/gas/mips/set-arch.d index 49f6c19aad5..3ca32857450 100644 --- a/gas/testsuite/gas/mips/set-arch.d +++ b/gas/testsuite/gas/mips/set-arch.d @@ -9,363 +9,363 @@ .*: file format .* Disassembly of section \.text: -00000000 <[^>]*> bc010000 cache 0x1,0\(zero\) -00000004 <[^>]*> bc020000 cache 0x2,0\(zero\) -00000008 <[^>]*> bc030000 cache 0x3,0\(zero\) -0000000c <[^>]*> 0085001c dmult a0,a1 -00000010 <[^>]*> 00a6001d dmultu a1,a2 -00000014 <[^>]*> 00e0300b movn a2,a3,zero -00000018 <[^>]*> 0100380a movz a3,t0,zero -0000001c <[^>]*> 0109001e ddiv zero,t0,t1 -00000020 <[^>]*> 012a001f ddivu zero,t1,t2 -00000024 <[^>]*> 016c5005 .word 0x16c5005 -00000028 <[^>]*> 018d5801 movt t3,t4,\$fcc3 -0000002c <[^>]*> 42000020 wait -00000030 <[^>]*> bdc40010 cache 0x4,16\(t6\) -00000034 <[^>]*> 71ee0010 .word 0x71ee0010 -00000038 <[^>]*> 42000023 c0 0x23 -0000003c <[^>]*> 42000021 c0 0x21 -00000040 <[^>]*> 42000022 c0 0x22 -00000044 <[^>]*> 70850000 madd a0,a1 -00000048 <[^>]*> 70a60001 maddu a1,a2 -0000004c <[^>]*> 70e83002 mul a2,a3,t0 -00000050 <[^>]*> 4500ffff bc1f 00000050 <[^>]*> -00000054 <[^>]*> 4504fffe bc1f \$fcc1,00000050 <[^>]*> -00000058 <[^>]*> 4506fffd bc1fl \$fcc1,00000050 <[^>]*> -0000005c <[^>]*> 4505fffc bc1t \$fcc1,00000050 <[^>]*> -00000060 <[^>]*> 450bfffb bc1tl \$fcc2,00000050 <[^>]*> -00000064 <[^>]*> 46262030 c\.f\.d \$f4,\$f6 -00000068 <[^>]*> 46262130 c\.f\.d \$fcc1,\$f4,\$f6 -0000006c <[^>]*> 4ca40081 ldxc1 \$f2,a0\(a1\) -00000070 <[^>]*> 4ca40080 lwxc1 \$f2,a0\(a1\) -00000074 <[^>]*> 4c462021 madd\.d \$f0,\$f2,\$f4,\$f6 -00000078 <[^>]*> 4c462020 madd\.s \$f0,\$f2,\$f4,\$f6 -0000007c <[^>]*> 00b02001 movf a0,a1,\$fcc4 -00000080 <[^>]*> 46203111 movf\.d \$f4,\$f6,\$fcc0 -00000084 <[^>]*> 46003111 movf\.s \$f4,\$f6,\$fcc0 -00000088 <[^>]*> 00c6200b movn a0,a2,a2 -0000008c <[^>]*> 46263113 movn\.d \$f4,\$f6,a2 -00000090 <[^>]*> 46063113 movn\.s \$f4,\$f6,a2 -00000094 <[^>]*> 00b12001 movt a0,a1,\$fcc4 -00000098 <[^>]*> 46213111 movt\.d \$f4,\$f6,\$fcc0 -0000009c <[^>]*> 46013111 movt\.s \$f4,\$f6,\$fcc0 -000000a0 <[^>]*> 00c6200a movz a0,a2,a2 -000000a4 <[^>]*> 46263112 movz\.d \$f4,\$f6,a2 -000000a8 <[^>]*> 46063112 movz\.s \$f4,\$f6,a2 -000000ac <[^>]*> 4c462029 msub\.d \$f0,\$f2,\$f4,\$f6 -000000b0 <[^>]*> 4c462028 msub\.s \$f0,\$f2,\$f4,\$f6 -000000b4 <[^>]*> 4c462031 nmadd\.d \$f0,\$f2,\$f4,\$f6 -000000b8 <[^>]*> 4c462030 nmadd\.s \$f0,\$f2,\$f4,\$f6 -000000bc <[^>]*> 4c462039 nmsub\.d \$f0,\$f2,\$f4,\$f6 -000000c0 <[^>]*> 4c462038 nmsub\.s \$f0,\$f2,\$f4,\$f6 -000000c4 <[^>]*> 4ca4200f prefx 0x4,a0\(a1\) -000000c8 <[^>]*> 46203115 recip\.d \$f4,\$f6 -000000cc <[^>]*> 46003115 recip\.s \$f4,\$f6 -000000d0 <[^>]*> 46203116 rsqrt\.d \$f4,\$f6 -000000d4 <[^>]*> 46003116 rsqrt\.s \$f4,\$f6 -000000d8 <[^>]*> 4ca42009 sdxc1 \$f4,a0\(a1\) -000000dc <[^>]*> 4ca42008 swxc1 \$f4,a0\(a1\) -000000e0 <[^>]*> 46c01005 abs\.ps \$f0,\$f2 -000000e4 <[^>]*> 46c62080 add\.ps \$f2,\$f4,\$f6 -000000e8 <[^>]*> 4c6a419e alnv\.ps \$f6,\$f8,\$f10,v1 -000000ec <[^>]*> 46ca4032 c\.eq\.ps \$f8,\$f10 -000000f0 <[^>]*> 46cc5232 c\.eq\.ps \$fcc2,\$f10,\$f12 -000000f4 <[^>]*> 46ca4030 c\.f\.ps \$f8,\$f10 -000000f8 <[^>]*> 46cc5230 c\.f\.ps \$fcc2,\$f10,\$f12 -000000fc <[^>]*> 46ca403e c\.le\.ps \$f8,\$f10 -00000100 <[^>]*> 46cc523e c\.le\.ps \$fcc2,\$f10,\$f12 -00000104 <[^>]*> 46ca403c c\.lt\.ps \$f8,\$f10 -00000108 <[^>]*> 46cc523c c\.lt\.ps \$fcc2,\$f10,\$f12 -0000010c <[^>]*> 46ca403d c\.nge\.ps \$f8,\$f10 -00000110 <[^>]*> 46cc523d c\.nge\.ps \$fcc2,\$f10,\$f12 -00000114 <[^>]*> 46ca403b c\.ngl\.ps \$f8,\$f10 -00000118 <[^>]*> 46cc523b c\.ngl\.ps \$fcc2,\$f10,\$f12 -0000011c <[^>]*> 46ca4039 c\.ngle\.ps \$f8,\$f10 -00000120 <[^>]*> 46cc5239 c\.ngle\.ps \$fcc2,\$f10,\$f12 -00000124 <[^>]*> 46ca403f c\.ngt\.ps \$f8,\$f10 -00000128 <[^>]*> 46cc523f c\.ngt\.ps \$fcc2,\$f10,\$f12 -0000012c <[^>]*> 46ca4036 c\.ole\.ps \$f8,\$f10 -00000130 <[^>]*> 46cc5236 c\.ole\.ps \$fcc2,\$f10,\$f12 -00000134 <[^>]*> 46ca4034 c\.olt\.ps \$f8,\$f10 -00000138 <[^>]*> 46cc5234 c\.olt\.ps \$fcc2,\$f10,\$f12 -0000013c <[^>]*> 46ca403a c\.seq\.ps \$f8,\$f10 -00000140 <[^>]*> 46cc523a c\.seq\.ps \$fcc2,\$f10,\$f12 -00000144 <[^>]*> 46ca4038 c\.sf\.ps \$f8,\$f10 -00000148 <[^>]*> 46cc5238 c\.sf\.ps \$fcc2,\$f10,\$f12 -0000014c <[^>]*> 46ca4033 c\.ueq\.ps \$f8,\$f10 -00000150 <[^>]*> 46cc5233 c\.ueq\.ps \$fcc2,\$f10,\$f12 -00000154 <[^>]*> 46ca4037 c\.ule\.ps \$f8,\$f10 -00000158 <[^>]*> 46cc5237 c\.ule\.ps \$fcc2,\$f10,\$f12 -0000015c <[^>]*> 46ca4035 c\.ult\.ps \$f8,\$f10 -00000160 <[^>]*> 46cc5235 c\.ult\.ps \$fcc2,\$f10,\$f12 -00000164 <[^>]*> 46ca4031 c\.un\.ps \$f8,\$f10 -00000168 <[^>]*> 46cc5231 c\.un\.ps \$fcc2,\$f10,\$f12 -0000016c <[^>]*> 46107326 cvt\.ps\.s \$f12,\$f14,\$f16 -00000170 <[^>]*> 46c09428 cvt\.s\.pl \$f16,\$f18 -00000174 <[^>]*> 46c0a4a0 cvt\.s\.pu \$f18,\$f20 -00000178 <[^>]*> 4ca40505 luxc1 \$f20,a0\(a1\) -0000017c <[^>]*> 4edac526 madd\.ps \$f20,\$f22,\$f24,\$f26 -00000180 <[^>]*> 46c0d606 mov\.ps \$f24,\$f26 -00000184 <[^>]*> 46c8e691 movf\.ps \$f26,\$f28,\$fcc2 -00000188 <[^>]*> 46c3e693 movn\.ps \$f26,\$f28,v1 -0000018c <[^>]*> 46d1f711 movt\.ps \$f28,\$f30,\$fcc4 -00000190 <[^>]*> 46c5f712 movz\.ps \$f28,\$f30,a1 -00000194 <[^>]*> 4c0417ae msub\.ps \$f30,\$f0,\$f2,\$f4 -00000198 <[^>]*> 46c62082 mul\.ps \$f2,\$f4,\$f6 -0000019c <[^>]*> 46c04187 neg\.ps \$f6,\$f8 -000001a0 <[^>]*> 4d0c51b6 nmadd\.ps \$f6,\$f8,\$f10,\$f12 -000001a4 <[^>]*> 4d0c51be nmsub\.ps \$f6,\$f8,\$f10,\$f12 -000001a8 <[^>]*> 46ce62ac pll\.ps \$f10,\$f12,\$f14 -000001ac <[^>]*> 46d283ad plu\.ps \$f14,\$f16,\$f18 -000001b0 <[^>]*> 46d4942e pul\.ps \$f16,\$f18,\$f20 -000001b4 <[^>]*> 46d8b52f puu\.ps \$f20,\$f22,\$f24 -000001b8 <[^>]*> 46dac581 sub\.ps \$f22,\$f24,\$f26 -000001bc <[^>]*> 4ce6d00d suxc1 \$f26,a2\(a3\) -000001c0 <[^>]*> 46cc5332 c\.eq\.ps \$fcc3,\$f10,\$f12 -000001c4 <[^>]*> 46cce691 movf\.ps \$f26,\$f28,\$fcc3 -000001c8 <[^>]*> 70410821 clo at,v0 -000001cc <[^>]*> 70831820 clz v1,a0 -000001d0 <[^>]*> 70a60000 madd a1,a2 -000001d4 <[^>]*> 70e80001 maddu a3,t0 -000001d8 <[^>]*> 712a0004 msub t1,t2 -000001dc <[^>]*> 716c0005 msubu t3,t4 -000001e0 <[^>]*> 71cf6802 mul t5,t6,t7 -000001e4 <[^>]*> ce040000 pref 0x4,0\(s0\) -000001e8 <[^>]*> ce247fff pref 0x4,32767\(s1\) -000001ec <[^>]*> ce448000 pref 0x4,-32768\(s2\) -000001f0 <[^>]*> 00000040 ssnop -000001f4 <[^>]*> 4900ff96 bc2f 00000050 <[^>]*> -000001f8 <[^>]*> 00000000 nop -000001fc <[^>]*> 4902ff94 bc2fl 00000050 <[^>]*> -00000200 <[^>]*> 00000000 nop -00000204 <[^>]*> 4901ff92 bc2t 00000050 <[^>]*> -00000208 <[^>]*> 00000000 nop -0000020c <[^>]*> 4903ff90 bc2tl 00000050 <[^>]*> -00000210 <[^>]*> 00000000 nop -00000214 <[^>]*> 48411000 cfc2 at,\$2 -00000218 <[^>]*> 4b234567 c2 0x1234567 -0000021c <[^>]*> 48c21800 ctc2 v0,\$3 -00000220 <[^>]*> 48032000 mfc2 v1,\$4 -00000224 <[^>]*> 48042800 mfc2 a0,\$5 -00000228 <[^>]*> 48053007 mfc2 a1,\$6,7 -0000022c <[^>]*> 48863800 mtc2 a2,\$7 -00000230 <[^>]*> 48874000 mtc2 a3,\$8 -00000234 <[^>]*> 48884807 mtc2 t0,\$9,7 -00000238 <[^>]*> bc250000 cache 0x5,0\(at\) -0000023c <[^>]*> bc457fff cache 0x5,32767\(v0\) -00000240 <[^>]*> bc658000 cache 0x5,-32768\(v1\) -00000244 <[^>]*> 42000018 eret -00000248 <[^>]*> 42000008 tlbp -0000024c <[^>]*> 42000001 tlbr -00000250 <[^>]*> 42000002 tlbwi -00000254 <[^>]*> 42000006 tlbwr -00000258 <[^>]*> 42000020 wait -0000025c <[^>]*> 42000020 wait -00000260 <[^>]*> 4359e260 wait 0x56789 -00000264 <[^>]*> 0000000d break -00000268 <[^>]*> 0000000d break -0000026c <[^>]*> 0345000d break 0x345 -00000270 <[^>]*> 0048d14d break 0x48,0x345 -00000274 <[^>]*> 7000003f sdbbp -00000278 <[^>]*> 7000003f sdbbp -0000027c <[^>]*> 7159e27f sdbbp 0x56789 -00000280 <[^>]*> 000000c0 ehb -00000284 <[^>]*> 7ca43980 .word 0x7ca43980 -00000288 <[^>]*> 7ca46984 .word 0x7ca46984 -0000028c <[^>]*> 0100fc09 jalr.hb t0 -00000290 <[^>]*> 0120a409 jalr.hb s4,t1 -00000294 <[^>]*> 01000408 jr.hb t0 -00000298 <[^>]*> 7c0a003b .word 0x7c0a003b -0000029c <[^>]*> 7c0b083b .word 0x7c0b083b -000002a0 <[^>]*> 7c0c103b .word 0x7c0c103b -000002a4 <[^>]*> 7c0d183b .word 0x7c0d183b -000002a8 <[^>]*> 7c0e203b .word 0x7c0e203b -000002ac <[^>]*> 7c0f283b .word 0x7c0f283b -000002b0 <[^>]*> 002acf02 .word 0x2acf02 -000002b4 <[^>]*> 002ac902 .word 0x2ac902 -000002b8 <[^>]*> 0004c823 negu t9,a0 -000002bc <[^>]*> 032ac846 .word 0x32ac846 -000002c0 <[^>]*> 008ac846 .word 0x8ac846 -000002c4 <[^>]*> 008ac846 .word 0x8ac846 -000002c8 <[^>]*> 7c073c20 .word 0x7c073c20 -000002cc <[^>]*> 7c0a4420 .word 0x7c0a4420 -000002d0 <[^>]*> 7c073e20 .word 0x7c073e20 -000002d4 <[^>]*> 7c0a4620 .word 0x7c0a4620 -000002d8 <[^>]*> 055f5555 .word 0x55f5555 -000002dc <[^>]*> 7c0738a0 .word 0x7c0738a0 -000002e0 <[^>]*> 7c0a40a0 .word 0x7c0a40a0 -000002e4 <[^>]*> 41606000 .word 0x41606000 -000002e8 <[^>]*> 41606000 .word 0x41606000 -000002ec <[^>]*> 416a6000 .word 0x416a6000 -000002f0 <[^>]*> 41606020 .word 0x41606020 -000002f4 <[^>]*> 41606020 .word 0x41606020 -000002f8 <[^>]*> 416a6020 .word 0x416a6020 -000002fc <[^>]*> 41595000 .word 0x41595000 -00000300 <[^>]*> 41d95000 .word 0x41d95000 -00000304 <[^>]*> 44710000 .word 0x44710000 -00000308 <[^>]*> 44f10000 .word 0x44f10000 -0000030c <[^>]*> 48715555 .word 0x48715555 -00000310 <[^>]*> 48f15555 .word 0x48f15555 -00000314 <[^>]*> 70410825 dclo at,v0 -00000318 <[^>]*> 70831824 dclz v1,a0 -0000031c <[^>]*> 48232000 dmfc2 v1,\$4 -00000320 <[^>]*> 48242800 dmfc2 a0,\$5 -00000324 <[^>]*> 48253007 dmfc2 a1,\$6,7 -00000328 <[^>]*> 48a63800 dmtc2 a2,\$7 -0000032c <[^>]*> 48a74000 dmtc2 a3,\$8 -00000330 <[^>]*> 48a84807 dmtc2 t0,\$9,7 -00000334 <[^>]*> 00850029 .word 0x850029 -00000338 <[^>]*> 00a60028 .word 0xa60028 -0000033c <[^>]*> 00002012 mflo a0 -00000340 <[^>]*> 00a62029 .word 0xa62029 -00000344 <[^>]*> 00a62229 .word 0xa62229 -00000348 <[^>]*> 00a62629 .word 0xa62629 -0000034c <[^>]*> 00a62269 .word 0xa62269 -00000350 <[^>]*> 00a62669 .word 0xa62669 -00000354 <[^>]*> 00a62429 .word 0xa62429 -00000358 <[^>]*> 00a62069 .word 0xa62069 -0000035c <[^>]*> 00a62469 .word 0xa62469 -00000360 <[^>]*> 00002012 mflo a0 -00000364 <[^>]*> 00a62028 .word 0xa62028 -00000368 <[^>]*> 00a62228 .word 0xa62228 -0000036c <[^>]*> 00a62628 .word 0xa62628 -00000370 <[^>]*> 00a62268 .word 0xa62268 -00000374 <[^>]*> 00a62668 .word 0xa62668 -00000378 <[^>]*> 00a62428 .word 0xa62428 -0000037c <[^>]*> 00a62068 .word 0xa62068 -00000380 <[^>]*> 00a62468 .word 0xa62468 -00000384 <[^>]*> 00a62059 .word 0xa62059 -00000388 <[^>]*> 00a62258 .word 0xa62258 -0000038c <[^>]*> 00a62259 .word 0xa62259 -00000390 <[^>]*> 00a620d8 .word 0xa620d8 -00000394 <[^>]*> 00a620d9 .word 0xa620d9 -00000398 <[^>]*> 00a622d8 .word 0xa622d8 -0000039c <[^>]*> 00a622d9 .word 0xa622d9 -000003a0 <[^>]*> 00a62158 .word 0xa62158 -000003a4 <[^>]*> 00a62159 .word 0xa62159 -000003a8 <[^>]*> 00a62358 .word 0xa62358 -000003ac <[^>]*> 00a62359 .word 0xa62359 -000003b0 <[^>]*> 00a621d8 .word 0xa621d8 -000003b4 <[^>]*> 00a621d9 .word 0xa621d9 -000003b8 <[^>]*> 00a623d8 .word 0xa623d8 -000003bc <[^>]*> 00a623d9 .word 0xa623d9 -000003c0 <[^>]*> 00252642 .word 0x252642 -000003c4 <[^>]*> 00c52046 .word 0xc52046 -000003c8 <[^>]*> 0025267a .word 0x25267a -000003cc <[^>]*> 0025267e .word 0x25267e -000003d0 <[^>]*> 0025267e .word 0x25267e -000003d4 <[^>]*> 00c52056 .word 0xc52056 -000003d8 <[^>]*> 7000003f sdbbp -000003dc <[^>]*> 7000003e .word 0x7000003e -000003e0 <[^>]*> 7003183d .word 0x7003183d -000003e4 <[^>]*> 7083183d .word 0x7083183d -000003e8 <[^>]*> 4004c803 mfc0 a0,c0_perfcnt,3 -000003ec <[^>]*> 4004c802 mfc0 a0,c0_perfcnt,2 -000003f0 <[^>]*> 4084c803 mtc0 a0,c0_perfcnt,3 -000003f4 <[^>]*> 4084c802 mtc0 a0,c0_perfcnt,2 -000003f8 <[^>]*> 4ac4100b c2 0xc4100b -000003fc <[^>]*> 4886208b .word 0x4886208b -00000400 <[^>]*> 4bcf218b c2 0x1cf218b -00000404 <[^>]*> 4bdf310b c2 0x1df310b -00000408 <[^>]*> 4ac4100c c2 0xc4100c -0000040c <[^>]*> 4886208c .word 0x4886208c -00000410 <[^>]*> 4bcf218c c2 0x1cf218c -00000414 <[^>]*> 4bdf310c c2 0x1df310c -00000418 <[^>]*> 4ac20001 c2 0xc20001 -0000041c <[^>]*> 48862001 mtc2 a2,\$4,1 -00000420 <[^>]*> 4bcf3001 c2 0x1cf3001 -00000424 <[^>]*> 4bdf2001 c2 0x1df2001 -00000428 <[^>]*> 4ac20005 c2 0xc20005 -0000042c <[^>]*> 48862005 mtc2 a2,\$4,5 -00000430 <[^>]*> 4bcf3005 c2 0x1cf3005 -00000434 <[^>]*> 4bdf2005 c2 0x1df2005 -00000438 <[^>]*> 4ac20004 c2 0xc20004 -0000043c <[^>]*> 48862004 mtc2 a2,\$4,4 -00000440 <[^>]*> 4bcf3004 c2 0x1cf3004 -00000444 <[^>]*> 4bdf2004 c2 0x1df2004 -00000448 <[^>]*> 4ac41007 c2 0xc41007 -0000044c <[^>]*> 48862087 .word 0x48862087 -00000450 <[^>]*> 4bcf2187 c2 0x1cf2187 -00000454 <[^>]*> 4bdf3107 c2 0x1df3107 -00000458 <[^>]*> 4ac41006 c2 0xc41006 -0000045c <[^>]*> 48862086 .word 0x48862086 -00000460 <[^>]*> 4bcf2186 c2 0x1cf2186 -00000464 <[^>]*> 4bdf3106 c2 0x1df3106 -00000468 <[^>]*> 4ac41030 c2 0xc41030 -0000046c <[^>]*> 488620b0 .word 0x488620b0 -00000470 <[^>]*> 4bcf21b0 c2 0x1cf21b0 -00000474 <[^>]*> 4bdf3130 c2 0x1df3130 -00000478 <[^>]*> 4ac20033 c2 0xc20033 -0000047c <[^>]*> 48862033 .word 0x48862033 -00000480 <[^>]*> 4bcf3033 c2 0x1cf3033 -00000484 <[^>]*> 4bdf2033 c2 0x1df2033 -00000488 <[^>]*> 4ac20433 c2 0xc20433 -0000048c <[^>]*> 48862433 .word 0x48862433 -00000490 <[^>]*> 4bcf3433 c2 0x1cf3433 -00000494 <[^>]*> 4bdf2433 c2 0x1df2433 -00000498 <[^>]*> 4ac20032 c2 0xc20032 -0000049c <[^>]*> 48862032 .word 0x48862032 -000004a0 <[^>]*> 4bcf3032 c2 0x1cf3032 -000004a4 <[^>]*> 4bdf2032 c2 0x1df2032 -000004a8 <[^>]*> 4ac20432 c2 0xc20432 -000004ac <[^>]*> 48862432 .word 0x48862432 -000004b0 <[^>]*> 4bcf3432 c2 0x1cf3432 -000004b4 <[^>]*> 4bdf2432 c2 0x1df2432 -000004b8 <[^>]*> 4ac4100f c2 0xc4100f -000004bc <[^>]*> 4886208f .word 0x4886208f -000004c0 <[^>]*> 4bcf218f c2 0x1cf218f -000004c4 <[^>]*> 4bdf310f c2 0x1df310f -000004c8 <[^>]*> 4ac4100e c2 0xc4100e -000004cc <[^>]*> 4886208e .word 0x4886208e -000004d0 <[^>]*> 4bcf218e c2 0x1cf218e -000004d4 <[^>]*> 4bdf310e c2 0x1df310e -000004d8 <[^>]*> 4ac41002 c2 0xc41002 -000004dc <[^>]*> 48862082 .word 0x48862082 -000004e0 <[^>]*> 4bcf2182 c2 0x1cf2182 -000004e4 <[^>]*> 4bdf3102 c2 0x1df3102 -000004e8 <[^>]*> 4ac41003 c2 0xc41003 -000004ec <[^>]*> 48862083 .word 0x48862083 -000004f0 <[^>]*> 4bcf2183 c2 0x1cf2183 -000004f4 <[^>]*> 4bdf3103 c2 0x1df3103 -000004f8 <[^>]*> 4ac4100a c2 0xc4100a -000004fc <[^>]*> 4886208a .word 0x4886208a -00000500 <[^>]*> 4bcf218a c2 0x1cf218a -00000504 <[^>]*> 4bdf310a c2 0x1df310a -00000508 <[^>]*> 4ac4100d c2 0xc4100d -0000050c <[^>]*> 4886208d .word 0x4886208d -00000510 <[^>]*> 4bcf218d c2 0x1cf218d -00000514 <[^>]*> 4bdf310d c2 0x1df310d -00000518 <[^>]*> 48a41018 .word 0x48a41018 -0000051c <[^>]*> 4984101f .word 0x4984101f -00000520 <[^>]*> 49c4101f .word 0x49c4101f -00000524 <[^>]*> 4904101f bc2f \$cc1,000045a4 <[^>]*> -00000528 <[^>]*> 4944101f .word 0x4944101f -0000052c <[^>]*> 48c62090 .word 0x48c62090 -00000530 <[^>]*> 4bce3110 c2 0x1ce3110 -00000534 <[^>]*> 48c62092 .word 0x48c62092 -00000538 <[^>]*> 4bce3112 c2 0x1ce3112 -0000053c <[^>]*> 4bcd00a0 c2 0x1cd00a0 -00000540 <[^>]*> 4a0000bf c2 0xbf -00000544 <[^>]*> 480000bf .word 0x480000bf -00000548 <[^>]*> 490000bf bc2f 00000848 <[^>]*> -0000054c <[^>]*> 4a00103e c2 0x103e -00000550 <[^>]*> 4804103e .word 0x4804103e -00000554 <[^>]*> 00c52046 .word 0xc52046 -00000558 <[^>]*> 00252442 .word 0x252442 -0000055c <[^>]*> 00c52056 .word 0xc52056 -00000560 <[^>]*> 0025207e .word 0x25207e -00000564 <[^>]*> 002520ba .word 0x2520ba -00000568 <[^>]*> 4ca4200f prefx 0x4,a0\(a1\) -0000056c <[^>]*> 42000020 wait -00000570 <[^>]*> 42000020 wait -00000574 <[^>]*> 4359e260 wait 0x56789 -00000578 <[^>]*> 00000040 ssnop -0000057c <[^>]*> 70831821 clo v1,a0 -00000580 <[^>]*> 70831825 dclo v1,a0 -00000584 <[^>]*> 70831820 clz v1,a0 -00000588 <[^>]*> 70831824 dclz v1,a0 -0000058c <[^>]*> 4c440005 luxc1 \$f0,a0\(v0\) -00000590 <[^>]*> 4c44100d suxc1 \$f2,a0\(v0\) -00000594 <[^>]*> 42000008 tlbp -00000598 <[^>]*> 42000001 tlbr +0+000000 <[^>]*> bc010000 cache 0x1,0\(zero\) +0+000004 <[^>]*> bc020000 cache 0x2,0\(zero\) +0+000008 <[^>]*> bc030000 cache 0x3,0\(zero\) +0+00000c <[^>]*> 0085001c dmult a0,a1 +0+000010 <[^>]*> 00a6001d dmultu a1,a2 +0+000014 <[^>]*> 00e0300b movn a2,a3,zero +0+000018 <[^>]*> 0100380a movz a3,t0,zero +0+00001c <[^>]*> 0109001e ddiv zero,t0,t1 +0+000020 <[^>]*> 012a001f ddivu zero,t1,t2 +0+000024 <[^>]*> 016c5005 .word 0x16c5005 +0+000028 <[^>]*> 018d5801 movt t3,t4,\$fcc3 +0+00002c <[^>]*> 42000020 wait +0+000030 <[^>]*> bdc40010 cache 0x4,16\(t6\) +0+000034 <[^>]*> 71ee0010 .word 0x71ee0010 +0+000038 <[^>]*> 42000023 c0 0x23 +0+00003c <[^>]*> 42000021 c0 0x21 +0+000040 <[^>]*> 42000022 c0 0x22 +0+000044 <[^>]*> 70850000 madd a0,a1 +0+000048 <[^>]*> 70a60001 maddu a1,a2 +0+00004c <[^>]*> 70e83002 mul a2,a3,t0 +0+000050 <[^>]*> 4500ffff bc1f 0+000050 <[^>]*> +0+000054 <[^>]*> 4504fffe bc1f \$fcc1,0+000050 <[^>]*> +0+000058 <[^>]*> 4506fffd bc1fl \$fcc1,0+000050 <[^>]*> +0+00005c <[^>]*> 4505fffc bc1t \$fcc1,0+000050 <[^>]*> +0+000060 <[^>]*> 450bfffb bc1tl \$fcc2,0+000050 <[^>]*> +0+000064 <[^>]*> 46262030 c\.f\.d \$f4,\$f6 +0+000068 <[^>]*> 46262130 c\.f\.d \$fcc1,\$f4,\$f6 +0+00006c <[^>]*> 4ca40081 ldxc1 \$f2,a0\(a1\) +0+000070 <[^>]*> 4ca40080 lwxc1 \$f2,a0\(a1\) +0+000074 <[^>]*> 4c462021 madd\.d \$f0,\$f2,\$f4,\$f6 +0+000078 <[^>]*> 4c462020 madd\.s \$f0,\$f2,\$f4,\$f6 +0+00007c <[^>]*> 00b02001 movf a0,a1,\$fcc4 +0+000080 <[^>]*> 46203111 movf\.d \$f4,\$f6,\$fcc0 +0+000084 <[^>]*> 46003111 movf\.s \$f4,\$f6,\$fcc0 +0+000088 <[^>]*> 00c6200b movn a0,a2,a2 +0+00008c <[^>]*> 46263113 movn\.d \$f4,\$f6,a2 +0+000090 <[^>]*> 46063113 movn\.s \$f4,\$f6,a2 +0+000094 <[^>]*> 00b12001 movt a0,a1,\$fcc4 +0+000098 <[^>]*> 46213111 movt\.d \$f4,\$f6,\$fcc0 +0+00009c <[^>]*> 46013111 movt\.s \$f4,\$f6,\$fcc0 +0+0000a0 <[^>]*> 00c6200a movz a0,a2,a2 +0+0000a4 <[^>]*> 46263112 movz\.d \$f4,\$f6,a2 +0+0000a8 <[^>]*> 46063112 movz\.s \$f4,\$f6,a2 +0+0000ac <[^>]*> 4c462029 msub\.d \$f0,\$f2,\$f4,\$f6 +0+0000b0 <[^>]*> 4c462028 msub\.s \$f0,\$f2,\$f4,\$f6 +0+0000b4 <[^>]*> 4c462031 nmadd\.d \$f0,\$f2,\$f4,\$f6 +0+0000b8 <[^>]*> 4c462030 nmadd\.s \$f0,\$f2,\$f4,\$f6 +0+0000bc <[^>]*> 4c462039 nmsub\.d \$f0,\$f2,\$f4,\$f6 +0+0000c0 <[^>]*> 4c462038 nmsub\.s \$f0,\$f2,\$f4,\$f6 +0+0000c4 <[^>]*> 4ca4200f prefx 0x4,a0\(a1\) +0+0000c8 <[^>]*> 46203115 recip\.d \$f4,\$f6 +0+0000cc <[^>]*> 46003115 recip\.s \$f4,\$f6 +0+0000d0 <[^>]*> 46203116 rsqrt\.d \$f4,\$f6 +0+0000d4 <[^>]*> 46003116 rsqrt\.s \$f4,\$f6 +0+0000d8 <[^>]*> 4ca42009 sdxc1 \$f4,a0\(a1\) +0+0000dc <[^>]*> 4ca42008 swxc1 \$f4,a0\(a1\) +0+0000e0 <[^>]*> 46c01005 abs\.ps \$f0,\$f2 +0+0000e4 <[^>]*> 46c62080 add\.ps \$f2,\$f4,\$f6 +0+0000e8 <[^>]*> 4c6a419e alnv\.ps \$f6,\$f8,\$f10,v1 +0+0000ec <[^>]*> 46ca4032 c\.eq\.ps \$f8,\$f10 +0+0000f0 <[^>]*> 46cc5232 c\.eq\.ps \$fcc2,\$f10,\$f12 +0+0000f4 <[^>]*> 46ca4030 c\.f\.ps \$f8,\$f10 +0+0000f8 <[^>]*> 46cc5230 c\.f\.ps \$fcc2,\$f10,\$f12 +0+0000fc <[^>]*> 46ca403e c\.le\.ps \$f8,\$f10 +0+000100 <[^>]*> 46cc523e c\.le\.ps \$fcc2,\$f10,\$f12 +0+000104 <[^>]*> 46ca403c c\.lt\.ps \$f8,\$f10 +0+000108 <[^>]*> 46cc523c c\.lt\.ps \$fcc2,\$f10,\$f12 +0+00010c <[^>]*> 46ca403d c\.nge\.ps \$f8,\$f10 +0+000110 <[^>]*> 46cc523d c\.nge\.ps \$fcc2,\$f10,\$f12 +0+000114 <[^>]*> 46ca403b c\.ngl\.ps \$f8,\$f10 +0+000118 <[^>]*> 46cc523b c\.ngl\.ps \$fcc2,\$f10,\$f12 +0+00011c <[^>]*> 46ca4039 c\.ngle\.ps \$f8,\$f10 +0+000120 <[^>]*> 46cc5239 c\.ngle\.ps \$fcc2,\$f10,\$f12 +0+000124 <[^>]*> 46ca403f c\.ngt\.ps \$f8,\$f10 +0+000128 <[^>]*> 46cc523f c\.ngt\.ps \$fcc2,\$f10,\$f12 +0+00012c <[^>]*> 46ca4036 c\.ole\.ps \$f8,\$f10 +0+000130 <[^>]*> 46cc5236 c\.ole\.ps \$fcc2,\$f10,\$f12 +0+000134 <[^>]*> 46ca4034 c\.olt\.ps \$f8,\$f10 +0+000138 <[^>]*> 46cc5234 c\.olt\.ps \$fcc2,\$f10,\$f12 +0+00013c <[^>]*> 46ca403a c\.seq\.ps \$f8,\$f10 +0+000140 <[^>]*> 46cc523a c\.seq\.ps \$fcc2,\$f10,\$f12 +0+000144 <[^>]*> 46ca4038 c\.sf\.ps \$f8,\$f10 +0+000148 <[^>]*> 46cc5238 c\.sf\.ps \$fcc2,\$f10,\$f12 +0+00014c <[^>]*> 46ca4033 c\.ueq\.ps \$f8,\$f10 +0+000150 <[^>]*> 46cc5233 c\.ueq\.ps \$fcc2,\$f10,\$f12 +0+000154 <[^>]*> 46ca4037 c\.ule\.ps \$f8,\$f10 +0+000158 <[^>]*> 46cc5237 c\.ule\.ps \$fcc2,\$f10,\$f12 +0+00015c <[^>]*> 46ca4035 c\.ult\.ps \$f8,\$f10 +0+000160 <[^>]*> 46cc5235 c\.ult\.ps \$fcc2,\$f10,\$f12 +0+000164 <[^>]*> 46ca4031 c\.un\.ps \$f8,\$f10 +0+000168 <[^>]*> 46cc5231 c\.un\.ps \$fcc2,\$f10,\$f12 +0+00016c <[^>]*> 46107326 cvt\.ps\.s \$f12,\$f14,\$f16 +0+000170 <[^>]*> 46c09428 cvt\.s\.pl \$f16,\$f18 +0+000174 <[^>]*> 46c0a4a0 cvt\.s\.pu \$f18,\$f20 +0+000178 <[^>]*> 4ca40505 luxc1 \$f20,a0\(a1\) +0+00017c <[^>]*> 4edac526 madd\.ps \$f20,\$f22,\$f24,\$f26 +0+000180 <[^>]*> 46c0d606 mov\.ps \$f24,\$f26 +0+000184 <[^>]*> 46c8e691 movf\.ps \$f26,\$f28,\$fcc2 +0+000188 <[^>]*> 46c3e693 movn\.ps \$f26,\$f28,v1 +0+00018c <[^>]*> 46d1f711 movt\.ps \$f28,\$f30,\$fcc4 +0+000190 <[^>]*> 46c5f712 movz\.ps \$f28,\$f30,a1 +0+000194 <[^>]*> 4c0417ae msub\.ps \$f30,\$f0,\$f2,\$f4 +0+000198 <[^>]*> 46c62082 mul\.ps \$f2,\$f4,\$f6 +0+00019c <[^>]*> 46c04187 neg\.ps \$f6,\$f8 +0+0001a0 <[^>]*> 4d0c51b6 nmadd\.ps \$f6,\$f8,\$f10,\$f12 +0+0001a4 <[^>]*> 4d0c51be nmsub\.ps \$f6,\$f8,\$f10,\$f12 +0+0001a8 <[^>]*> 46ce62ac pll\.ps \$f10,\$f12,\$f14 +0+0001ac <[^>]*> 46d283ad plu\.ps \$f14,\$f16,\$f18 +0+0001b0 <[^>]*> 46d4942e pul\.ps \$f16,\$f18,\$f20 +0+0001b4 <[^>]*> 46d8b52f puu\.ps \$f20,\$f22,\$f24 +0+0001b8 <[^>]*> 46dac581 sub\.ps \$f22,\$f24,\$f26 +0+0001bc <[^>]*> 4ce6d00d suxc1 \$f26,a2\(a3\) +0+0001c0 <[^>]*> 46cc5332 c\.eq\.ps \$fcc3,\$f10,\$f12 +0+0001c4 <[^>]*> 46cce691 movf\.ps \$f26,\$f28,\$fcc3 +0+0001c8 <[^>]*> 70410821 clo at,v0 +0+0001cc <[^>]*> 70831820 clz v1,a0 +0+0001d0 <[^>]*> 70a60000 madd a1,a2 +0+0001d4 <[^>]*> 70e80001 maddu a3,t0 +0+0001d8 <[^>]*> 712a0004 msub t1,t2 +0+0001dc <[^>]*> 716c0005 msubu t3,t4 +0+0001e0 <[^>]*> 71cf6802 mul t5,t6,t7 +0+0001e4 <[^>]*> ce040000 pref 0x4,0\(s0\) +0+0001e8 <[^>]*> ce247fff pref 0x4,32767\(s1\) +0+0001ec <[^>]*> ce448000 pref 0x4,-32768\(s2\) +0+0001f0 <[^>]*> 00000040 ssnop +0+0001f4 <[^>]*> 4900ff96 bc2f 0+000050 <[^>]*> +0+0001f8 <[^>]*> 00000000 nop +0+0001fc <[^>]*> 4902ff94 bc2fl 0+000050 <[^>]*> +0+000200 <[^>]*> 00000000 nop +0+000204 <[^>]*> 4901ff92 bc2t 0+000050 <[^>]*> +0+000208 <[^>]*> 00000000 nop +0+00020c <[^>]*> 4903ff90 bc2tl 0+000050 <[^>]*> +0+000210 <[^>]*> 00000000 nop +0+000214 <[^>]*> 48411000 cfc2 at,\$2 +0+000218 <[^>]*> 4b234567 c2 0x1234567 +0+00021c <[^>]*> 48c21800 ctc2 v0,\$3 +0+000220 <[^>]*> 48032000 mfc2 v1,\$4 +0+000224 <[^>]*> 48042800 mfc2 a0,\$5 +0+000228 <[^>]*> 48053007 mfc2 a1,\$6,7 +0+00022c <[^>]*> 48863800 mtc2 a2,\$7 +0+000230 <[^>]*> 48874000 mtc2 a3,\$8 +0+000234 <[^>]*> 48884807 mtc2 t0,\$9,7 +0+000238 <[^>]*> bc250000 cache 0x5,0\(at\) +0+00023c <[^>]*> bc457fff cache 0x5,32767\(v0\) +0+000240 <[^>]*> bc658000 cache 0x5,-32768\(v1\) +0+000244 <[^>]*> 42000018 eret +0+000248 <[^>]*> 42000008 tlbp +0+00024c <[^>]*> 42000001 tlbr +0+000250 <[^>]*> 42000002 tlbwi +0+000254 <[^>]*> 42000006 tlbwr +0+000258 <[^>]*> 42000020 wait +0+00025c <[^>]*> 42000020 wait +0+000260 <[^>]*> 4359e260 wait 0x56789 +0+000264 <[^>]*> 0000000d break +0+000268 <[^>]*> 0000000d break +0+00026c <[^>]*> 0345000d break 0x345 +0+000270 <[^>]*> 0048d14d break 0x48,0x345 +0+000274 <[^>]*> 7000003f sdbbp +0+000278 <[^>]*> 7000003f sdbbp +0+00027c <[^>]*> 7159e27f sdbbp 0x56789 +0+000280 <[^>]*> 000000c0 ehb +0+000284 <[^>]*> 7ca43980 .word 0x7ca43980 +0+000288 <[^>]*> 7ca46984 .word 0x7ca46984 +0+00028c <[^>]*> 0100fc09 jalr.hb t0 +0+000290 <[^>]*> 0120a409 jalr.hb s4,t1 +0+000294 <[^>]*> 01000408 jr.hb t0 +0+000298 <[^>]*> 7c0a003b .word 0x7c0a003b +0+00029c <[^>]*> 7c0b083b .word 0x7c0b083b +0+0002a0 <[^>]*> 7c0c103b .word 0x7c0c103b +0+0002a4 <[^>]*> 7c0d183b .word 0x7c0d183b +0+0002a8 <[^>]*> 7c0e203b .word 0x7c0e203b +0+0002ac <[^>]*> 7c0f283b .word 0x7c0f283b +0+0002b0 <[^>]*> 002acf02 .word 0x2acf02 +0+0002b4 <[^>]*> 002ac902 .word 0x2ac902 +0+0002b8 <[^>]*> 0004c823 negu t9,a0 +0+0002bc <[^>]*> 032ac846 .word 0x32ac846 +0+0002c0 <[^>]*> 008ac846 .word 0x8ac846 +0+0002c4 <[^>]*> 008ac846 .word 0x8ac846 +0+0002c8 <[^>]*> 7c073c20 .word 0x7c073c20 +0+0002cc <[^>]*> 7c0a4420 .word 0x7c0a4420 +0+0002d0 <[^>]*> 7c073e20 .word 0x7c073e20 +0+0002d4 <[^>]*> 7c0a4620 .word 0x7c0a4620 +0+0002d8 <[^>]*> 055f5555 .word 0x55f5555 +0+0002dc <[^>]*> 7c0738a0 .word 0x7c0738a0 +0+0002e0 <[^>]*> 7c0a40a0 .word 0x7c0a40a0 +0+0002e4 <[^>]*> 41606000 .word 0x41606000 +0+0002e8 <[^>]*> 41606000 .word 0x41606000 +0+0002ec <[^>]*> 416a6000 .word 0x416a6000 +0+0002f0 <[^>]*> 41606020 .word 0x41606020 +0+0002f4 <[^>]*> 41606020 .word 0x41606020 +0+0002f8 <[^>]*> 416a6020 .word 0x416a6020 +0+0002fc <[^>]*> 41595000 .word 0x41595000 +0+000300 <[^>]*> 41d95000 .word 0x41d95000 +0+000304 <[^>]*> 44710000 .word 0x44710000 +0+000308 <[^>]*> 44f10000 .word 0x44f10000 +0+00030c <[^>]*> 48715555 .word 0x48715555 +0+000310 <[^>]*> 48f15555 .word 0x48f15555 +0+000314 <[^>]*> 70410825 dclo at,v0 +0+000318 <[^>]*> 70831824 dclz v1,a0 +0+00031c <[^>]*> 48232000 dmfc2 v1,\$4 +0+000320 <[^>]*> 48242800 dmfc2 a0,\$5 +0+000324 <[^>]*> 48253007 dmfc2 a1,\$6,7 +0+000328 <[^>]*> 48a63800 dmtc2 a2,\$7 +0+00032c <[^>]*> 48a74000 dmtc2 a3,\$8 +0+000330 <[^>]*> 48a84807 dmtc2 t0,\$9,7 +0+000334 <[^>]*> 00850029 .word 0x850029 +0+000338 <[^>]*> 00a60028 .word 0xa60028 +0+00033c <[^>]*> 00002012 mflo a0 +0+000340 <[^>]*> 00a62029 .word 0xa62029 +0+000344 <[^>]*> 00a62229 .word 0xa62229 +0+000348 <[^>]*> 00a62629 .word 0xa62629 +0+00034c <[^>]*> 00a62269 .word 0xa62269 +0+000350 <[^>]*> 00a62669 .word 0xa62669 +0+000354 <[^>]*> 00a62429 .word 0xa62429 +0+000358 <[^>]*> 00a62069 .word 0xa62069 +0+00035c <[^>]*> 00a62469 .word 0xa62469 +0+000360 <[^>]*> 00002012 mflo a0 +0+000364 <[^>]*> 00a62028 .word 0xa62028 +0+000368 <[^>]*> 00a62228 .word 0xa62228 +0+00036c <[^>]*> 00a62628 .word 0xa62628 +0+000370 <[^>]*> 00a62268 .word 0xa62268 +0+000374 <[^>]*> 00a62668 .word 0xa62668 +0+000378 <[^>]*> 00a62428 .word 0xa62428 +0+00037c <[^>]*> 00a62068 .word 0xa62068 +0+000380 <[^>]*> 00a62468 .word 0xa62468 +0+000384 <[^>]*> 00a62059 .word 0xa62059 +0+000388 <[^>]*> 00a62258 .word 0xa62258 +0+00038c <[^>]*> 00a62259 .word 0xa62259 +0+000390 <[^>]*> 00a620d8 .word 0xa620d8 +0+000394 <[^>]*> 00a620d9 .word 0xa620d9 +0+000398 <[^>]*> 00a622d8 .word 0xa622d8 +0+00039c <[^>]*> 00a622d9 .word 0xa622d9 +0+0003a0 <[^>]*> 00a62158 .word 0xa62158 +0+0003a4 <[^>]*> 00a62159 .word 0xa62159 +0+0003a8 <[^>]*> 00a62358 .word 0xa62358 +0+0003ac <[^>]*> 00a62359 .word 0xa62359 +0+0003b0 <[^>]*> 00a621d8 .word 0xa621d8 +0+0003b4 <[^>]*> 00a621d9 .word 0xa621d9 +0+0003b8 <[^>]*> 00a623d8 .word 0xa623d8 +0+0003bc <[^>]*> 00a623d9 .word 0xa623d9 +0+0003c0 <[^>]*> 00252642 .word 0x252642 +0+0003c4 <[^>]*> 00c52046 .word 0xc52046 +0+0003c8 <[^>]*> 0025267a .word 0x25267a +0+0003cc <[^>]*> 0025267e .word 0x25267e +0+0003d0 <[^>]*> 0025267e .word 0x25267e +0+0003d4 <[^>]*> 00c52056 .word 0xc52056 +0+0003d8 <[^>]*> 7000003f sdbbp +0+0003dc <[^>]*> 7000003e .word 0x7000003e +0+0003e0 <[^>]*> 7003183d .word 0x7003183d +0+0003e4 <[^>]*> 7083183d .word 0x7083183d +0+0003e8 <[^>]*> 4004c803 mfc0 a0,c0_perfcnt,3 +0+0003ec <[^>]*> 4004c802 mfc0 a0,c0_perfcnt,2 +0+0003f0 <[^>]*> 4084c803 mtc0 a0,c0_perfcnt,3 +0+0003f4 <[^>]*> 4084c802 mtc0 a0,c0_perfcnt,2 +0+0003f8 <[^>]*> 4ac4100b c2 0xc4100b +0+0003fc <[^>]*> 4886208b .word 0x4886208b +0+000400 <[^>]*> 4bcf218b c2 0x1cf218b +0+000404 <[^>]*> 4bdf310b c2 0x1df310b +0+000408 <[^>]*> 4ac4100c c2 0xc4100c +0+00040c <[^>]*> 4886208c .word 0x4886208c +0+000410 <[^>]*> 4bcf218c c2 0x1cf218c +0+000414 <[^>]*> 4bdf310c c2 0x1df310c +0+000418 <[^>]*> 4ac20001 c2 0xc20001 +0+00041c <[^>]*> 48862001 mtc2 a2,\$4,1 +0+000420 <[^>]*> 4bcf3001 c2 0x1cf3001 +0+000424 <[^>]*> 4bdf2001 c2 0x1df2001 +0+000428 <[^>]*> 4ac20005 c2 0xc20005 +0+00042c <[^>]*> 48862005 mtc2 a2,\$4,5 +0+000430 <[^>]*> 4bcf3005 c2 0x1cf3005 +0+000434 <[^>]*> 4bdf2005 c2 0x1df2005 +0+000438 <[^>]*> 4ac20004 c2 0xc20004 +0+00043c <[^>]*> 48862004 mtc2 a2,\$4,4 +0+000440 <[^>]*> 4bcf3004 c2 0x1cf3004 +0+000444 <[^>]*> 4bdf2004 c2 0x1df2004 +0+000448 <[^>]*> 4ac41007 c2 0xc41007 +0+00044c <[^>]*> 48862087 .word 0x48862087 +0+000450 <[^>]*> 4bcf2187 c2 0x1cf2187 +0+000454 <[^>]*> 4bdf3107 c2 0x1df3107 +0+000458 <[^>]*> 4ac41006 c2 0xc41006 +0+00045c <[^>]*> 48862086 .word 0x48862086 +0+000460 <[^>]*> 4bcf2186 c2 0x1cf2186 +0+000464 <[^>]*> 4bdf3106 c2 0x1df3106 +0+000468 <[^>]*> 4ac41030 c2 0xc41030 +0+00046c <[^>]*> 488620b0 .word 0x488620b0 +0+000470 <[^>]*> 4bcf21b0 c2 0x1cf21b0 +0+000474 <[^>]*> 4bdf3130 c2 0x1df3130 +0+000478 <[^>]*> 4ac20033 c2 0xc20033 +0+00047c <[^>]*> 48862033 .word 0x48862033 +0+000480 <[^>]*> 4bcf3033 c2 0x1cf3033 +0+000484 <[^>]*> 4bdf2033 c2 0x1df2033 +0+000488 <[^>]*> 4ac20433 c2 0xc20433 +0+00048c <[^>]*> 48862433 .word 0x48862433 +0+000490 <[^>]*> 4bcf3433 c2 0x1cf3433 +0+000494 <[^>]*> 4bdf2433 c2 0x1df2433 +0+000498 <[^>]*> 4ac20032 c2 0xc20032 +0+00049c <[^>]*> 48862032 .word 0x48862032 +0+0004a0 <[^>]*> 4bcf3032 c2 0x1cf3032 +0+0004a4 <[^>]*> 4bdf2032 c2 0x1df2032 +0+0004a8 <[^>]*> 4ac20432 c2 0xc20432 +0+0004ac <[^>]*> 48862432 .word 0x48862432 +0+0004b0 <[^>]*> 4bcf3432 c2 0x1cf3432 +0+0004b4 <[^>]*> 4bdf2432 c2 0x1df2432 +0+0004b8 <[^>]*> 4ac4100f c2 0xc4100f +0+0004bc <[^>]*> 4886208f .word 0x4886208f +0+0004c0 <[^>]*> 4bcf218f c2 0x1cf218f +0+0004c4 <[^>]*> 4bdf310f c2 0x1df310f +0+0004c8 <[^>]*> 4ac4100e c2 0xc4100e +0+0004cc <[^>]*> 4886208e .word 0x4886208e +0+0004d0 <[^>]*> 4bcf218e c2 0x1cf218e +0+0004d4 <[^>]*> 4bdf310e c2 0x1df310e +0+0004d8 <[^>]*> 4ac41002 c2 0xc41002 +0+0004dc <[^>]*> 48862082 .word 0x48862082 +0+0004e0 <[^>]*> 4bcf2182 c2 0x1cf2182 +0+0004e4 <[^>]*> 4bdf3102 c2 0x1df3102 +0+0004e8 <[^>]*> 4ac41003 c2 0xc41003 +0+0004ec <[^>]*> 48862083 .word 0x48862083 +0+0004f0 <[^>]*> 4bcf2183 c2 0x1cf2183 +0+0004f4 <[^>]*> 4bdf3103 c2 0x1df3103 +0+0004f8 <[^>]*> 4ac4100a c2 0xc4100a +0+0004fc <[^>]*> 4886208a .word 0x4886208a +0+000500 <[^>]*> 4bcf218a c2 0x1cf218a +0+000504 <[^>]*> 4bdf310a c2 0x1df310a +0+000508 <[^>]*> 4ac4100d c2 0xc4100d +0+00050c <[^>]*> 4886208d .word 0x4886208d +0+000510 <[^>]*> 4bcf218d c2 0x1cf218d +0+000514 <[^>]*> 4bdf310d c2 0x1df310d +0+000518 <[^>]*> 48a41018 .word 0x48a41018 +0+00051c <[^>]*> 4984101f .word 0x4984101f +0+000520 <[^>]*> 49c4101f .word 0x49c4101f +0+000524 <[^>]*> 4904101f bc2f \$cc1,0+0045a4 <[^>]*> +0+000528 <[^>]*> 4944101f .word 0x4944101f +0+00052c <[^>]*> 48c62090 .word 0x48c62090 +0+000530 <[^>]*> 4bce3110 c2 0x1ce3110 +0+000534 <[^>]*> 48c62092 .word 0x48c62092 +0+000538 <[^>]*> 4bce3112 c2 0x1ce3112 +0+00053c <[^>]*> 4bcd00a0 c2 0x1cd00a0 +0+000540 <[^>]*> 4a0000bf c2 0xbf +0+000544 <[^>]*> 480000bf .word 0x480000bf +0+000548 <[^>]*> 490000bf bc2f 0+000848 <[^>]*> +0+00054c <[^>]*> 4a00103e c2 0x103e +0+000550 <[^>]*> 4804103e .word 0x4804103e +0+000554 <[^>]*> 00c52046 .word 0xc52046 +0+000558 <[^>]*> 00252442 .word 0x252442 +0+00055c <[^>]*> 00c52056 .word 0xc52056 +0+000560 <[^>]*> 0025207e .word 0x25207e +0+000564 <[^>]*> 002520ba .word 0x2520ba +0+000568 <[^>]*> 4ca4200f prefx 0x4,a0\(a1\) +0+00056c <[^>]*> 42000020 wait +0+000570 <[^>]*> 42000020 wait +0+000574 <[^>]*> 4359e260 wait 0x56789 +0+000578 <[^>]*> 00000040 ssnop +0+00057c <[^>]*> 70831821 clo v1,a0 +0+000580 <[^>]*> 70831825 dclo v1,a0 +0+000584 <[^>]*> 70831820 clz v1,a0 +0+000588 <[^>]*> 70831824 dclz v1,a0 +0+00058c <[^>]*> 4c440005 luxc1 \$f0,a0\(v0\) +0+000590 <[^>]*> 4c44100d suxc1 \$f2,a0\(v0\) +0+000594 <[^>]*> 42000008 tlbp +0+000598 <[^>]*> 42000001 tlbr \.\.\. diff --git a/ld/testsuite/ld-elf/eh5.d b/ld/testsuite/ld-elf/eh5.d index ac571940d4a..cec87105915 100644 --- a/ld/testsuite/ld-elf/eh5.d +++ b/ld/testsuite/ld-elf/eh5.d @@ -24,14 +24,14 @@ Contents of the .eh_frame section: #? DW_CFA_nop #? DW_CFA_nop -0+001[48] 0+0014 0+001[8c] FDE cie=0+0000 pc=.* +0+001[48] 0+001[4c] 0+001[8c] FDE cie=0+0000 pc=.* DW_CFA_advance_loc: 4 to .* DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+00(2c|30) 0+0014 0+0000 CIE +0+00(2c|30|38) 0+0014 0+0000 CIE Version: [13] Augmentation: "zPR" Code alignment factor: .* @@ -41,21 +41,21 @@ Contents of the .eh_frame section: DW_CFA_nop -0+004[48] 0+0014 0+001c FDE cie=0+00(2c|30) pc=.* +0+00(44|48|50) 0+001[4c] 0+001c FDE cie=0+00(2c|30|38) pc=.* DW_CFA_advance_loc: 4 to .* DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+00(5c|60) 0+0014 0+006[04] FDE cie=0+0000 pc=.* +0+00(5c|60|70) 0+001[4c] 0+00(60|64|74) FDE cie=0+0000 pc=.* DW_CFA_advance_loc: 4 to .* DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+007[48] 0+001[8c] 0+0000 CIE +0+00(74|78|90) 0+001[8c] 0+0000 CIE Version: [13] Augmentation: "zPLR" Code alignment factor: .* @@ -71,7 +71,7 @@ Contents of the .eh_frame section: #? DW_CFA_nop #? DW_CFA_nop -0+009[08] 0+001c 0+002[04] FDE cie=0+007[48] pc=.* +0+00(90|98|b0) 0+00(1c|24) 0+002[04] FDE cie=0+00(74|78|90) pc=.* Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef) DW_CFA_advance_loc: 4 to .* @@ -80,7 +80,7 @@ Contents of the .eh_frame section: DW_CFA_nop DW_CFA_nop -0+00b[08] 0+001[04] 0+0000 CIE +0+00(b0|b8|d8) 0+001[04] 0+0000 CIE Version: [13] Augmentation: "zR" Code alignment factor: .* @@ -94,7 +94,7 @@ Contents of the .eh_frame section: #? DW_CFA_nop #? DW_CFA_nop -0+00(c4|d0) 0+001[04] 0+001[8c] FDE cie=0+00b[08] pc=.* +0+00(c4|d0|f0) 0+001[048] 0+001[8c] FDE cie=0+00(b0|b8|d8) pc=.* DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -103,7 +103,7 @@ Contents of the .eh_frame section: #? DW_CFA_nop #? DW_CFA_nop -0+00[de]8 0+0014 0+0000 CIE +0+0(0d8|0e8|10c) 0+001[48] 0+0000 CIE Version: [13] Augmentation: "zPR" Code alignment factor: .* @@ -112,15 +112,19 @@ Contents of the .eh_frame section: Augmentation data: 03 .. .. .. .. [01][bc] DW_CFA_nop +#? DW_CFA_nop +#? DW_CFA_nop +#? DW_CFA_nop +#? DW_CFA_nop -0+0(0f|10)0 0+0014 0+001c FDE cie=0+00[de]8 pc=.* +0+0(0f0|100|128) 0+001[4c] 0+00(1c|20) FDE cie=0+0(0d8|0e8|10c) pc=.* DW_CFA_advance_loc: 4 to .* DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+01[01]8 0+001[04] 0+00(5c|64) FDE cie=0+00b[08] pc=.* +0+01[014]8 0+001[048] 0+00(5c|64|74) FDE cie=0+00(b0|b8|d8) pc=.* DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -129,7 +133,7 @@ Contents of the .eh_frame section: #? DW_CFA_nop #? DW_CFA_nop -0+01(1c|30) 0+001[8c] 0+0000 CIE +0+0(11c|130|164) 0+001[8c] 0+0000 CIE Version: [13] Augmentation: "zPLR" Code alignment factor: .* @@ -145,7 +149,7 @@ Contents of the .eh_frame section: #? DW_CFA_nop #? DW_CFA_nop -0+01(38|50) 0+001c 0+002[04] FDE cie=0+01(1c|30) pc=.* +0+01(38|50|80) 0+00(1c|24|2c) 0+002[04] FDE cie=0+01(1c|30|64) pc=.* Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef) DW_CFA_advance_loc: 4 to .* @@ -154,7 +158,7 @@ Contents of the .eh_frame section: DW_CFA_nop DW_CFA_nop -0+01(58|70) 0+0014 0+01(5c|74) FDE cie=0+0000 pc=.* +0+01(58|70|a8) 0+001[4c] 0+01(5c|74|ac) FDE cie=0+0000 pc=.* DW_CFA_advance_loc: 4 to .* DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop @@ -170,14 +174,14 @@ Contents of the .eh_frame section: #? Augmentation data: 03 .. .. .. .. 1b #? DW_CFA_nop -0+01(70|88) 0+0014 0+0(01c|148|15c) FDE cie=0+0(02c|030|170) pc=.* +0+01(70|88|c8) 0+001[4c] 0+0(01c|148|15c|194) FDE cie=0+0(02c|030|038|170|188) pc=.* DW_CFA_advance_loc: 4 to .* DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop DW_CFA_nop DW_CFA_nop -0+01(88|a0) 0+0014 0+01(8c|a4) FDE cie=0+0000 pc=.* +0+01(88|a0|e8) 0+001[4c] 0+01(8c|a4|ec) FDE cie=0+0000 pc=.* DW_CFA_advance_loc: 4 to .* DW_CFA_def_cfa: r0(.*) ofs 16 DW_CFA_nop @@ -195,7 +199,7 @@ Contents of the .eh_frame section: #? DW_CFA_nop #? DW_CFA_nop -0+01(a0|b8|d4) 0+001c 0+0(020|130|144) FDE cie=0+0(074|078|1b8) pc=.* +0+0(1a0|1b8|1d4|208) 0+00(1c|24) 0+0(020|130|144|17c) FDE cie=0+0(074|078|090|1b8) pc=.* Augmentation data: (ef be ad de 00 00 00 00|00 00 00 00 de ad be ef) DW_CFA_advance_loc: 4 to .* diff --git a/ld/testsuite/ld-elf/group.ld b/ld/testsuite/ld-elf/group.ld index 53e27903563..1c561b6aa0e 100644 --- a/ld/testsuite/ld-elf/group.ld +++ b/ld/testsuite/ld-elf/group.ld @@ -8,5 +8,5 @@ SECTIONS { . = 0x1000; .text : { *(.text) *(.rodata.brlt) } :image :header - /DISCARD/ : { *(.dropme) *(.reginfo) *(.MIPS.abiflags) } + /DISCARD/ : { *(.dropme) *(.reginfo) *(.MIPS.abiflags) *(.MIPS.options) } } diff --git a/ld/testsuite/ld-elf/orphan-region.ld b/ld/testsuite/ld-elf/orphan-region.ld index 71834df647a..f4f7e1846d7 100644 --- a/ld/testsuite/ld-elf/orphan-region.ld +++ b/ld/testsuite/ld-elf/orphan-region.ld @@ -7,5 +7,5 @@ SECTIONS { .text : ALIGN (4) { *(.text) } > region .rodata : ALIGN (4) { *(.rodata) } > region - /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) *(.trampolines) *(.riscv.attributes) } + /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) *(.MIPS.options) *(.trampolines) *(.riscv.attributes) } } diff --git a/ld/testsuite/ld-elf/orphan.ld b/ld/testsuite/ld-elf/orphan.ld index 8b5015e157e..86c0b8959c9 100644 --- a/ld/testsuite/ld-elf/orphan.ld +++ b/ld/testsuite/ld-elf/orphan.ld @@ -6,5 +6,5 @@ SECTIONS .bss : { *(.bss) *(COMMON) } .sbss : { *(.sbss) } .note : { *(.note) } - /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) *(.trampolines) } + /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) *(.MIPS.options) *(.trampolines) } } diff --git a/ld/testsuite/ld-mips-elf/compact-eh6.d b/ld/testsuite/ld-mips-elf/compact-eh6.d index e81285afc02..66b21b17c6c 100644 --- a/ld/testsuite/ld-mips-elf/compact-eh6.d +++ b/ld/testsuite/ld-mips-elf/compact-eh6.d @@ -8,6 +8,6 @@ Hex dump of section \'\.eh_frame_hdr\': - 0x[0-9a-f]+ 021b0000 00000005 ffffff[0-9a-f]+ 00000060.* - 0x[0-9a-f]+ ffffff[0-9a-f]+ 015d5d01 ffffff[0-9a-f]+ 00000029.* - 0x[0-9a-f]+ ffffff[0-9a-f]+ 00000035 ffffff[0-9a-f]+ 015d5d01.* + 0x[0-9a-f]+ 021b0000 00000005 ffffff[0-9a-f]+ 0000006[08].* + 0x[0-9a-f]+ ffffff[0-9a-f]+ 015d5d01 ffffff[0-9a-f]+ 0000002[9d].* + 0x[0-9a-f]+ ffffff[0-9a-f]+ 0000003[59] ffffff[0-9a-f]+ 015d5d01.* diff --git a/ld/testsuite/ld-mips-elf/got-dump-1.d b/ld/testsuite/ld-mips-elf/got-dump-1.d index b14adffa911..00c976c4625 100644 --- a/ld/testsuite/ld-mips-elf/got-dump-1.d +++ b/ld/testsuite/ld-mips-elf/got-dump-1.d @@ -5,21 +5,21 @@ #readelf: -A Primary GOT: - Canonical gp value: 00068000 + Canonical gp value: 0+068000 Reserved entries: - Address Access Initial Purpose - 00060010 -32752\(gp\) 00000000 Lazy resolver - 00060014 -32748\(gp\) 80000000 Module pointer \(GNU extension\) + * Address * Access * Initial Purpose + 0+060010 -32752\(gp\) 0+000000 Lazy resolver + 0+06001[48] -3274[48]\(gp\) 8000000+ Module pointer \(GNU extension\) Local entries: - Address Access Initial - 00060018 -32744\(gp\) 00060000 - 0006001c -32740\(gp\) 00060004 + * Address * Access * Initial + 0+0600(18|20) -327(44|36)\(gp\) 0+060000 + 0+0600(1c|28) -327(40|28)\(gp\) 0+060004 Global entries: - Address Access Initial Sym.Val. Type Ndx Name - 00060020 -32736\(gp\) 00050020 00050020 FUNC UND extern - 00060024 -32732\(gp\) 00050000 00050000 FUNC 7 glob - 00060028 -32728\(gp\) 00000000 00000000 NOTYPE UND undef + * Address * Access * Initial * Sym.Val. Type * Ndx Name + 0+0600(2|3)0 -327(36|20)\(gp\) 0+050020 0+050020 FUNC UND extern + 0+0600(24|38) -327(32|12)\(gp\) 0+050000 0+050000 FUNC 7 glob + 0+0600(28|40) -327(28|04)\(gp\) 0+000000 0+000000 NOTYPE UND undef diff --git a/ld/testsuite/ld-mips-elf/got-page-1.ld b/ld/testsuite/ld-mips-elf/got-page-1.ld index cfe7c1fb77d..b87abbfd6be 100644 --- a/ld/testsuite/ld-mips-elf/got-page-1.ld +++ b/ld/testsuite/ld-mips-elf/got-page-1.ld @@ -22,7 +22,7 @@ SECTIONS . = ALIGN (0x400); .bss : { *(.bss .bss.*) } - /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) } + /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) *(.MIPS.options) } } VERSION diff --git a/ld/testsuite/ld-mips-elf/got-page-3.d b/ld/testsuite/ld-mips-elf/got-page-3.d index 913b0c9cc83..430dd22c00c 100644 --- a/ld/testsuite/ld-mips-elf/got-page-3.d +++ b/ld/testsuite/ld-mips-elf/got-page-3.d @@ -5,6 +5,7 @@ #as: -mips3 #ld: -T got-page-1.ld -shared #objdump: -dr +#xfail: mips*64*-linux-gnuabi64 # # got-page-3a.s and got-page-3b.s should get assigned the same GOT, # with a page estimate of 10. Thus the first page entry has offset @@ -15,12 +16,12 @@ # The first global symbol should therefore be at offset -32744. # #... -.* lw a0,-32744\(gp\) -.* addiu a0,a0,.* + *.* lw a0,-32744\(gp\) + *.* addiu a0,a0,.* #... -.* lw a1,-32704\(gp\) + *.* lw a1,-32704\(gp\) #... -.* : + *.* : #... -.* lw a1,-32744\(gp\) + *.* lw a1,-32744\(gp\) #pass diff --git a/ld/testsuite/ld-mips-elf/jaloverflow-2.d b/ld/testsuite/ld-mips-elf/jaloverflow-2.d index b40f4281777..bff776e7f6c 100644 --- a/ld/testsuite/ld-mips-elf/jaloverflow-2.d +++ b/ld/testsuite/ld-mips-elf/jaloverflow-2.d @@ -4,5 +4,5 @@ #ld: -Ttext=0x20000000 -e start #objdump: -dr #... -0*20000000: 0c000000.* + *0*20000000: 0c000000.* #pass diff --git a/ld/testsuite/ld-mips-elf/jalx-1.d b/ld/testsuite/ld-mips-elf/jalx-1.d index 80c3be229a4..37cad5dd2a0 100644 --- a/ld/testsuite/ld-mips-elf/jalx-1.d +++ b/ld/testsuite/ld-mips-elf/jalx-1.d @@ -7,10 +7,10 @@ Disassembly of section \.text: -88000000 : -88000000: f200 0002 jalx 88000008 -88000004: 0000 0000 nop +0*88000000 : + *88000000: f200 0002 jalx 88000008 + *88000004: 0000 0000 nop -88000008 : -88000008: 00851821 addu v1,a0,a1 +0*88000008 : + *88000008: 00851821 addu v1,a0,a1 \.\.\. diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index ff9635ec9d1..ee0522b073f 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -182,6 +182,25 @@ set abi_ldflags(eabi) "" # Override as needed. if {[istarget *-*-openbsd*] } { set irixemul 0 +} elseif { [istarget mips*64*-*-linux*-gnuabi64] } { + set abi_asflags(o32) -32 + set abi_asflags(o32l) "-32 -march=from-abi" + set abi_asflags(n32) "-n32" + set abi_asflags(n32l) "-n32 -march=from-abi" + set abi_asflags(n64) "" + set abi_asflags(n64l) "-64 -march=from-abi" + if [istarget *el-*-*] { + set abi_ldflags(o32) -melf32ltsmip + set abi_ldflags(o32l) -melf32ltsmip + set abi_ldflags(n32) -melf32ltsmipn32 + set abi_ldflags(n32l) -melf32ltsmipn32 + } else { + set abi_ldflags(o32) -melf32btsmip + set abi_ldflags(o32l) -melf32btsmip + set abi_ldflags(n32) -melf32btsmipn32 + set abi_ldflags(n32l) -melf32btsmipn32 + } + set irixemul 0 } elseif { [istarget mips*64*-*-linux*] } { set abi_asflags(o32) -32 set abi_asflags(o32l) "-32 -march=from-abi" @@ -892,7 +911,8 @@ if { $linux_gnu } { } run_dump_test "got-dump-1" run_dump_test_n64 "got-dump-2" noarch - run_dump_test "reloc-estimate-1" + run_dump_test_n32 "reloc-estimate-1" + run_dump_test_o32 "reloc-estimate-1" } run_dump_test_n32 "emit-relocs-1" {{as -EB} {ld -EB}} @@ -1080,7 +1100,8 @@ if { $has_abi(o32) } { run_ld_link_tests $mips16_intermix_test } -run_dump_test "mips16-local-stubs-1" +run_dump_test_o32 "mips16-local-stubs-1" +run_dump_test_n32 "mips16-local-stubs-1" set mips16_fp_stub_test [list \ [list "Floating-point stub for mips16 functions" \ @@ -1106,7 +1127,8 @@ foreach firstfpabi [list 4 5 6 7 ] { } foreach firstfpabi [list 0 1 2 3 ] { foreach secondfpabi [list 0 1 2 3 8 9] { - run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}" + run_dump_test_o32 "attr-gnu-4-${firstfpabi}${secondfpabi}" + run_dump_test_n32 "attr-gnu-4-${firstfpabi}${secondfpabi}" } } diff --git a/ld/testsuite/ld-mips-elf/reloc-estimate-1.d b/ld/testsuite/ld-mips-elf/reloc-estimate-1.d index fcca55a2ade..fa536f938a7 100644 --- a/ld/testsuite/ld-mips-elf/reloc-estimate-1.d +++ b/ld/testsuite/ld-mips-elf/reloc-estimate-1.d @@ -8,8 +8,8 @@ DYNAMIC RELOCATION RECORDS OFFSET +TYPE +VALUE -00000000 R_MIPS_NONE \*ABS\* -00010000 R_MIPS_REL32 foo@@V2 +0+000000 R_MIPS_NONE \*ABS\* +0+010000 R_MIPS_REL32 foo@@V2 # The address must be 0x810. We should only ever allocate one dynamic diff --git a/ld/testsuite/ld-scripts/overlay-size.t b/ld/testsuite/ld-scripts/overlay-size.t index 68c09861b63..452e97cdf46 100644 --- a/ld/testsuite/ld-scripts/overlay-size.t +++ b/ld/testsuite/ld-scripts/overlay-size.t @@ -60,5 +60,5 @@ SECTIONS end_of_data_overlays = . ; . = 0x8000; - /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) } + /DISCARD/ : { *(.reginfo) *(.MIPS.abiflags) *(.MIPS.options) } } diff --git a/ld/testsuite/ld-undefined/undefined.exp b/ld/testsuite/ld-undefined/undefined.exp index 69a8f9bf6a9..1e7b05b8065 100644 --- a/ld/testsuite/ld-undefined/undefined.exp +++ b/ld/testsuite/ld-undefined/undefined.exp @@ -210,6 +210,10 @@ if { ![is_elf_format] || ![check_shared_lib_support]} then { set none_count 6 set reloc_count 4 } + "mips*64*-linux-gnuabi64" { + set none_count 6 + set reloc_count 4 + } "mips*" - "score*" { set none_count 1 From patchwork Fri Jun 16 06:25:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YunQiang Su X-Patchwork-Id: 108846 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1123720vqr; Thu, 15 Jun 2023 23:29:09 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6tJeJnkU+StFM0z46mlSf6WGXzw4esUt/zpNhCcTJtvEsWeBrl/i4NQwzcKMMcq7qDz8qo X-Received: by 2002:a17:907:d0c:b0:973:91f7:508a with SMTP id gn12-20020a1709070d0c00b0097391f7508amr1058931ejc.4.1686896949100; Thu, 15 Jun 2023 23:29:09 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686896949; cv=pass; d=google.com; s=arc-20160816; b=Ro+SlY7rDVf9YBvHU/mCgnZQC+6aCrddAmyUdPelJUz76E01rmNU/SrHpVqK9pNn7M 2yaPdJbgHF5NX8tso+6KUJ0gSL7aSY2mwudhr5VAT55YIg965pw0OCgdSRf+aPsVlULo vKz5hS8xFcijL+5fFf8GWon6qcV0frNF6HJnMM2jTiFjbmVEFjW3MoVMPz5lRDLh3AeP PgVZ6MilpzLZSkzPLusGIiWq9zW0GZBU6NE30GMNrwIvoFtxIV/kVTku5U9vfsc55CjR yUdaFGkhrJt+yvpRcIwX2PCz76NzaRww+BKMReU2b4gv7FtnjFPdmOezbQAG0HTW/EcR YA0g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dmarc-filter:delivered-to; bh=EAs39tU9FlL8LRRGl9VcDe5DbGsxO68/EtxXTiU1So0=; b=lkpAHC6UnlMDTVgVomTvpLDqcKBPOZLASW61mcbt+jlbksEtiAA/VhPkfHOmkiWVr8 hGsvk1e82+Btbnhoh0x9/K0uQmOOr1QaMds4Ks4uBlVb1+HRUMp7Hltohx8GomSntMpQ eUGSAiaDp+RVFbgBro5/amcphCGr02DlsUkmEfxN6oczCDMzDa5sHEgQGhl63DSGjEYD E/ph2WmopqUMfiHmKeyaHDB3YB0wURzQVT8oKuUsisZz9tn76tCwUhicq63WfIBCqiI4 N+CIfM1FQpyMUrpWVtlfdTfcz+iLH0zmLOAh1nmLPXXt96W1abFVjCLI8UAA/NnZNjPR HB8Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=nRMxTYcd; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id z15-20020a17090655cf00b009864b489bc8si275064ejp.765.2023.06.15.23.29.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 23:29:09 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=nRMxTYcd; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 45DFB3850861 for ; Fri, 16 Jun 2023 06:26:55 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2107.outbound.protection.outlook.com [40.107.215.107]) by sourceware.org (Postfix) with ESMTPS id DF3333853559 for ; Fri, 16 Jun 2023 06:26:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DF3333853559 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=Bt4mBpwE28Qo9lA9rUvVdpUhEqqJZcbokRGeu6AsjJ+PqGjXYGJYkOwb22xuWOtmSdTW5POJkf/ZQJTkCrzYdjTOvLSTRDGk2mncH2iDXpFUqUmSJEOrwAkvRE+lz6v4w0IQgEAURAEW46+mZ0qpuYP3+3DU0pE+UuCOpJ4rULdhc0CcCRwQ9gj1yH0Qo4BDCnnKZswF+P8QIaozU+FeI4vQOc4slw8/UO3FUvd1gisTpqyze0Mp+TNZmROa754yLCYnBKoSFcTtuW/47VvP+UZ7zG+kFcnzPlkyKPTgiXSHZdFBRpm5bKHPZVpFui9KUWJbIASEPDlRvkjTOLmg4g== 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=EAs39tU9FlL8LRRGl9VcDe5DbGsxO68/EtxXTiU1So0=; b=GYQybxMWeZ9T3x//UZIarQGitPXP4UBf9aE2PtIVJDyIJI3brW0RYWBLPLMKdzlrpigl0bv/N3FTFstx0uta/KLBhWAEFxjGwd5miovr4QMEAl1JnE+MGAbyZ74qslrdkIarqdV5cTwhimwKZirGRqr8jTmItmJNy4+fESW3tTtCtWIFPIFWQE+GB/Wlz2gTqAevMnx0jGc0XKbje6DrZc0S8SjIZckHvrO9ra9xbxlNeu3X6Lr4lfBQgaOeASS4jLyFZmTFioKsGjZJhFKIhkySu2hYM8r0JAOwueTvXK3w+Uy4KclvfCiuvGBKxJ9nQ9cy8i4AwqkLrluDEvqQ2g== 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=EAs39tU9FlL8LRRGl9VcDe5DbGsxO68/EtxXTiU1So0=; b=nRMxTYcdIQlX1GoDcvE3mHh/ykwQVn7FLGFGoDfsb7E3yHu8aj4JVE8VcStTdOattoGYjJ9ryTxiM/rCIGO61HbkbjzNnkbnGXYSdMcS8UdfPzysCEhNOv1V2+osHcNmtEcj3/9eQ48bTev/6GazaWOQpwMaxUlzc/flKz5sN4A= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cipunited.com; Received: from SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) by TYUPR04MB6911.apcprd04.prod.outlook.com (2603:1096:400:350::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Fri, 16 Jun 2023 06:25:53 +0000 Received: from SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9]) by SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9%4]) with mapi id 15.20.6500.026; Fri, 16 Jun 2023 06:25:53 +0000 From: YunQiang Su To: binutils@sourceware.org Cc: macro@orcam.me.uk, paul.hua.gm@gmail.com, amodra@gmail.com, jbeulich@suse.com, YunQiang Su Subject: [PATCH v3 5/7] MIPS: Fix some ld testcases with compiler Date: Fri, 16 Jun 2023 14:25:02 +0800 Message-Id: <20230616062504.1713904-10-yunqiang.su@cipunited.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230616062504.1713904-1-yunqiang.su@cipunited.com> References: <20230616062504.1713904-1-yunqiang.su@cipunited.com> X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35) To SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR04MB6121:EE_|TYUPR04MB6911:EE_ X-MS-Office365-Filtering-Correlation-Id: 3ed5f2ee-0053-478d-45a8-08db6e32892e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c8+9BbQLjogtQVn/gp8x6XqdILS5J6NuOxrZxlCY/1HI4QljoEonVXuiC353foHPcIGVEFClLANDkzXgLlBMZB9eVTDYVUZmtjC+C+kbVSuB3V1pkHNvfBtHL5QXDYK5Z0470NKCclM2w1OP2HsYhbw63Y2kHk0I9FpgQEzivmRwQOY0zl5AjcfM7oAtXTdDvFh2av4LM7Y9ALa9WP/StKimehG04qHQBEOFMRPUqZ0kNJBgu/6d/PmTD61KjWwMuWQ8MA1HdhsqSh82N3mCBSakI+gev3wzeS/at7MM3C4Rqy62B8uJG38sTWxuHGkTJba5fWnV1rDt+sIpryJA8Q2JexR7dQHmL3ztrrlF0rAqQhP1/QwnQSQ9F8qU5kQilrNsHTQ8ZjMWML/8aoL8X8pXUlRoCr0wQdCPLiZEawBwsQcphCPYQSAco638vxfxS5mPxCoQ6AQSGd+m9eLuQOenXpfPz10V/LHWKbpGsFT/mvRa6rJ/ZvUA+4hpykydRLdVUhjmPaCR2yb5a+L1BysTtovwQdtLAZlOd2AEtv8Da8QzY3FeFg+38EkzZJOPDFLKs1CeRPRSnIg7UAVdaAfwuQKlu/yE1pJiKd/lrhZbYJHeSrrk+g5WEhVVg2tb X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR04MB6121.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(396003)(39830400003)(366004)(346002)(376002)(451199021)(36756003)(186003)(30864003)(2906002)(83380400001)(26005)(1076003)(6512007)(6506007)(66946007)(52116002)(41300700001)(6486002)(107886003)(316002)(8676002)(8936002)(5660300002)(86362001)(66476007)(2616005)(66556008)(4326008)(6916009)(38350700002)(38100700002)(478600001)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VyNqfS01/8xdkKQAxodRqwH0tk4TQ5Y6ye/bXf7gD8Hh3f3zDrLqayACRrDbxE3IRBbdyYOXtAi7/WE4TAQJiD9/RRXreD1t95yPF+AFvzN7qeV2FwvmVuEPqFZrW7F0XUNfq2TWO8gNtsRbSVlyDmuEAgKjk4CPijUr6sG58J4tNUtme06/xiOKBqw/flrdamEawI+ZRQejIyYZcLmWSnMPqVgtW8glyY0AzVxVuHp8H63bfCr9Y4PEQlq4DNSJVfV8UiTcFfmqdGWkdutgJIlsdc7VXAM0nCd3VnslWDn8q7HN6vSPc8yGZnocW+VXUCJkX4oK+TvUeyuAs6nU6RI3NiwyqJilA3AtfExy4bnv0wzO/CcQeNCbd2d4fC15/lqlJPakf7mmfLhFGbB3w50o60LOJGEffALTlAwp6GkWErWjA+9NtRehszpXa5E3JK1ebnnYLGSNapDCsK4gmT/eNJVWEU4bbbJ3C5C8eR29GObT0LGMSMqzCHnr/IZFpncS07pv9e0AoVvzSuo1qnH+SiRFS4kPW4J1CJ2kRlSBhUNGqdAEXUBG8va22Xnkn6o2RNu6FcgjfwjJ22OLBSTdBgNgg60tbAVQ77GuPopDM04cml/9r5LHk5fvqLsicJZ7E2cdbEI/3/LX52rWpNoEtTqgVQWCEgu0FA9Up/NfBOjFIjiiSVTO+hipBNkXpDZ9btem/mKDwax6/qxWmrjRVgvpoaKQqDYZgA16+mx1JQMcu30gnVy6OqXm5eforN2dQV9b4AlQcFcw65nTrUGJWKjXZoN0Wc8KWn29WcCs4mA2N2bi3NMdOiWgLL2MajoBhU33od6ABl8bGEYFFx8tkJYgGnK94W/oTosliXs2iaS3DFzUiIjP81CPQD7LM8Mg7xBNoEju8kdwb0Bw/mQO79ezGYdPLI/zDmH6GEXyL+nnfqR1hCFne10mkr3h5aXSMf+dYzzz8OXm2YKSPDq9GBXfvf6KgfrOoBbGfCnadrRtOibHF46t9cQrwx+UfxI4fwADqt+T+tgcpECIneuUNottstnGEs4gB6LX2UYY0jAmqxZ2HaFRDKFR9M1N1ifWgC1bFrcmuH8I5AaFwI336hZ6NPk40aubVqb7qoBy3iANcf8js1k01UC/wsGiwD1COSlyDVeqMNz8z81LKyhVuugrG7vlh9/FJMYAS5iIrYvlzqTfQ08G4CCpRx+6laSBG5nhXXCvBTllU84xmLnPJycWfzKn28Ndtx1fhdBN0YmJ5livnnypGlk6+4KA4hp91GWloVTRg8w59lxe6A0rDMOo5sEExVapgl6G/qP0Uct1XoqYlQ/kwD/VcUsHOIAr/jLiNYVlNMotZ+nzw9lOVdDIYyqfX+67Ym4LXthYXtaPj+y5nu0Bv0FsXjfW6Vv3X+5IwPhPIXebGRTNRfFAqwjgGlS7yw/C9UurRx90ZQo+X1bw5mytAYzzbKXNLfS4kOGgdp7jxc0lcyyTm4GxcrUXUHepnvbWY7I5NYCXzG7R+WKWzuFHBhsfJXqIuHMuCu+//4vatpzex8hYnFSGQk6gWkAdNbHSrzASu/trLFyvTXhRq1TCPvvBdZOFL5yHqbZ7eBrqsUG1/0Wg+A== X-OriginatorOrg: cipunited.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ed5f2ee-0053-478d-45a8-08db6e32892e X-MS-Exchange-CrossTenant-AuthSource: SEZPR04MB6121.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 06:25:53.4039 (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: 9GwQg+dkuzFi9zZFgeZYjo1Vm2MkC71Oat4EtvVLwafCaMq5HEnORdyiB3D6LyLtB1D11Xn04uE4035F1hbhY/y7NI0eqbye4WxQH7dO2Ig= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR04MB6911 X-Spam-Status: No, score=-13.0 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: 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: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768839655411705604?= X-GMAIL-MSGID: =?utf-8?q?1768839655411705604?= 1. config/default.exp: use -mabi=32 not for -gnuabi64; xfail_from_runlist: remove an element and mark it xfail. 2. ld-elf/indirect.exp: xfail indirect5a, indirect5b, indirect6a, indirect6b, indirect5c, indirect5d, indirect6c, indirect6d. 3. ld-elf/pr23658-2: mips output is not common. 4. ld-elf/shared.exp: non-run on mips: Build libpr16496b.so. 5. ld-elfvers/vers.exp: xfail vers4, vers4b; no-run on mips: vers24a, vers24b, vers24c. 6. ld-gc/gc.exp: add -KPIC into asflags for pr13683, pr14265, pr19161. 7. ld-mips-elf/mips-elf.exp: use noarch for mips16-local-stubs-1, since it use -mips4. 8. ld-plugin/lto.exp: no-run on mips/linux: PR ld/12982; add -KPIC into asflags for lto-3r, lto-5r, PR ld/19317 (2); xfail PR ld/15323 (4), PR ld/19317 (3). 9. ld-plugin/plugin.exp: xfail plugin claimfile lost symbol, plugin claimfile replace symbol, plugin claimfile replace symbol, plugin claimfile lost symbol with source, plugin claimfile replace symbol with source, plugin claimfile resolve symbol with source, plugin 2 with source lib, load plugin 2 with source, plugin 3 with source lib, load plugin 3 with source. 11. ld-selective/selective.exp: add -fno-PIC, which is needed for -mno-abicalls. 12. ld-shared/shared.exp: xfail shared (non PIC), shared (PIC main, non PIC so). --- ld/testsuite/config/default.exp | 20 +++++++++++++++++++- ld/testsuite/ld-elf/indirect.exp | 8 ++++++-- ld/testsuite/ld-elf/pr23658-2.rd | 2 +- ld/testsuite/ld-elf/shared.exp | 12 +++++++++--- ld/testsuite/ld-elfvers/vers.exp | 12 +++++++----- ld/testsuite/ld-gc/gc.exp | 5 +++++ ld/testsuite/ld-mips-elf/mips-elf.exp | 2 +- ld/testsuite/ld-plugin/lto.exp | 11 ++++++++++- ld/testsuite/ld-plugin/plugin.exp | 15 +++++++++++++++ ld/testsuite/ld-selective/selective.exp | 2 +- ld/testsuite/ld-shared/shared.exp | 4 +++- 11 files changed, 77 insertions(+), 16 deletions(-) diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp index 5c925476e23..1bc8760e72b 100644 --- a/ld/testsuite/config/default.exp +++ b/ld/testsuite/config/default.exp @@ -155,7 +155,7 @@ if {! [info exists env(CCC_OVERRIDE_OPTIONS)]} { # installed, but to the O32 ABI in the build tree, because of some # specs-file hacks. Make sure we use an ABI that is compatible with # the one we expect. -if {[istarget mips64*-*-linux*] && +if {[istarget mips*64*-*-linux*] && ![istarget mips*64*-*-linux-gnuabi64] && (![board_info [target_info name] exists multilib_flags] || ![string match "*-mabi" [board_info [target_info name] multilib_flags]]) } { @@ -263,6 +263,24 @@ proc ld_exec { target output } { default_ld_exec $target $output } +# +# xfail_from_runlist +# mark a test xfail and remove it from the runlist +proc xfail_from_runlist { runlist name } { + set i 0 + set rtl $runlist + foreach t $runlist { + set tn [lindex $t 0] + if [string equal $name $tn] { + xfail $tn + set rtl [lreplace $rtl $i $i] + } + incr i + } + return $rtl +} + + # From gas-defs.exp, to support run_dump_test. if ![info exists AS] then { set AS $as diff --git a/ld/testsuite/ld-elf/indirect.exp b/ld/testsuite/ld-elf/indirect.exp index ce4771371dd..dfbb097378b 100644 --- a/ld/testsuite/ld-elf/indirect.exp +++ b/ld/testsuite/ld-elf/indirect.exp @@ -219,7 +219,9 @@ proc check_dynamic_syms { test } { foreach t [list indirect5a indirect5b indirect6a indirect6b] { set testname [concat $t "dynsym"] - if { [check_dynamic_syms tmpdir/$t] } { + if { [istarget mips*] } { + xfail $testname + } elseif { [check_dynamic_syms tmpdir/$t] } { pass $testname } else { fail $testname @@ -252,7 +254,9 @@ run_ld_link_exec_tests $pie_tests foreach t [list indirect5c indirect5d indirect6c indirect6d] { set testname [concat $t "dynsym"] - if { [check_dynamic_syms tmpdir/$t] } { + if { [istarget mips*] } { + xfail $testname + } elseif { [check_dynamic_syms tmpdir/$t] } { pass $testname } else { fail $testname diff --git a/ld/testsuite/ld-elf/pr23658-2.rd b/ld/testsuite/ld-elf/pr23658-2.rd index 9f89c4b40ae..e414ae3250d 100644 --- a/ld/testsuite/ld-elf/pr23658-2.rd +++ b/ld/testsuite/ld-elf/pr23658-2.rd @@ -1,5 +1,5 @@ #... - +[0-9]+ +\.interp \.note.4 \.note.1 \.note.2 \.note.3.* + +[0-9]+ +(\.MIPS\.abiflags \.MIPS\.options \.dynamic \.hash \.dynsym \.dynstr \.text |)\.interp \.note.4 \.note.1 \.note.2 \.note.3.* #... +[0-9]+ +\.note\.4 \.note\.1 + +[0-9]+ +\.note\.2 .note\.3 + diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index 1eef9f45667..2019275dda3 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -774,9 +774,6 @@ set build_tests { {"Build libpr16496b.a" "" "-fPIC" {pr16496b.c} {} "libpr16496b.a"} - {"Build libpr16496b.so" - "-shared -Wl,--no-as-needed tmpdir/pr16496b.o tmpdir/libpr16496a.so" "" - {dummy.c} {{objdump {-R} pr16496b.od}} "libpr16496b.so"} {"Build libpr16452a.so" "-shared -Wl,-soname,libpr16452a.so,--version-script=pr16452.map" "-fPIC" {pr16452a.c} {} "libpr16452a.so"} @@ -797,6 +794,15 @@ set build_tests { {pr18458b.c} {} "libpr18458b.so"} } +# MIPS PIC uses different way: .MIPS.stub +if { ![istarget mips*-linux*] } { + append build_tests { + {"Build libpr16496b.so" + "-shared -Wl,--no-as-needed tmpdir/pr16496b.o tmpdir/libpr16496a.so" "" + {dummy.c} {{objdump {-R} pr16496b.od}} "libpr16496b.so"} + } +} + run_cc_link_tests [list \ [list \ "Build libpr2404a.so" \ diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp index b266cc0226f..2ab5487d440 100644 --- a/ld/testsuite/ld-elfvers/vers.exp +++ b/ld/testsuite/ld-elfvers/vers.exp @@ -801,13 +801,13 @@ build_exec "vers3" vers3.c vers3 "-Wl,--no-as-needed" vers1.so vers3.ver vers3.d # This test fails on MIPS. On the MIPS we must put foo in the dynamic # symbol table, which the test does not expect. -setup_xfail "mips*-*-irix*" +setup_xfail "mips*-*-irix*" "mips*-linux-*" build_exec "vers4" vers4.c vers4 "" "" "" "" vers4.sym build_exec "vers4a" vers4.c vers4a "-Wl,-export-dynamic" "" vers4a.ver vers4a.dsym vers4a.sym # Verify that --no-export-dynamic undoes the effect of --export-dynamic. -setup_xfail "mips*-*-irix*" +setup_xfail "mips*-*-irix*" "mips*-linux-*" build_exec "vers4b" vers4.c vers4b "-Wl,-export-dynamic -Wl,--no-export-dynamic" "" "" "" vers4.sym @@ -932,18 +932,20 @@ set as_pic_flags "" if [istarget sparc*-*-*] { set as_pic_flags "-K PIC" } -run_ld_link_tests [list "\"vers24a\" +if { ![istarget mips*-*-*] } { + run_ld_link_tests [list "\"vers24a\" \"-shared --version-script $srcdir/$subdir/vers24.map\" \"\" \"$as_pic_flags $as_options\" {vers24a.c vers24b.c} { { readelf -Wrs vers24.rd } } \"libvers24a.so\" \"-fpic\""] -run_ld_link_tests [list "\"vers24b\" + run_ld_link_tests [list "\"vers24b\" \"-shared --version-script $srcdir/$subdir/vers24.map\" \"\" \"$as_pic_flags $as_options\" {vers24b.c vers24a.c} { { readelf -Wrs vers24.rd } } \"libvers24b.so\" \"-fpic\""] -run_ld_link_tests [list "\"vers24c\" + run_ld_link_tests [list "\"vers24c\" \"-shared --version-script $srcdir/$subdir/vers24.map\" \"\" \"$as_pic_flags $as_options\" {vers24c.c} { { readelf -Wrs vers24.rd } } \"libvers24c.so\" \"-fpic\""] +} # Test versioned definition vs. normal definition in different files. if [string match "yes" $pic] then { diff --git a/ld/testsuite/ld-gc/gc.exp b/ld/testsuite/ld-gc/gc.exp index bca0397ee02..e342c3ba2fe 100644 --- a/ld/testsuite/ld-gc/gc.exp +++ b/ld/testsuite/ld-gc/gc.exp @@ -151,6 +151,10 @@ if { [check_compiler_available] } { } } +set save_asflags $ASFLAGS +if { [istarget "mips*-*-linux*"] } { + append ASFLAGS " -KPIC" +} set symdefs "" if [is_pecoff_format] { set symdefs {{ld {--defsym __main=main --defsym ___main=main}}} @@ -174,6 +178,7 @@ if { [check_compiler_available] } { } run_dump_test "pr19161" $symdefs } +set ASFLAGS $save_asflags if { [is_elf_format] && [check_shared_lib_support] \ && [check_compiler_available] } { diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index ee0522b073f..4565bc9570c 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -1101,7 +1101,7 @@ if { $has_abi(o32) } { } run_dump_test_o32 "mips16-local-stubs-1" -run_dump_test_n32 "mips16-local-stubs-1" +run_dump_test_n32 "mips16-local-stubs-1" noarch set mips16_fp_stub_test [list \ [list "Floating-point stub for mips16 functions" \ diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp index e7e7952bb1b..a4b546d4253 100644 --- a/ld/testsuite/ld-plugin/lto.exp +++ b/ld/testsuite/ld-plugin/lto.exp @@ -557,7 +557,7 @@ if { ! [istarget "arm*-*-*"] } { # when using the LTO plugin. The HPPA target however requires an # executable stack for syscall restarts and signal returns, so we # skip this test for that target. -if { ! [istarget "hppa*-*-*"] } { +if { ! [istarget "hppa*-*-*"] && ! [istarget "mips*-linux*"] } { lappend lto_link_elf_tests \ [list "PR ld/12982" \ "-O2 -flto -fuse-linker-plugin" "-O2 -flto" \ @@ -909,6 +909,10 @@ if { [at_least_gcc_version 4 7] } { } } +set save_asflags $ASFLAGS +if { [istarget "mips*-*-linux*"] } { + append ASFLAGS " -KPIC" +} # Run "ld -r" to generate inputs for complex LTO tests. run_dump_test "lto-3r" remote_exec host "mv" "tmpdir/dump tmpdir/lto-3.o" @@ -922,7 +926,12 @@ run_ld_link_tests [list \ "-r tmpdir/pr19317.o" "" "" \ {dummy.s} {} "pr19317-r.o"] \ ] +set ASFLAGS $save_asflags +if { [istarget "mips*-*-linux*"] } { + set lto_run_tests [xfail_from_runlist $lto_run_tests "PR ld/15323 (4)"] + set lto_run_tests [xfail_from_runlist $lto_run_tests "PR ld/19317 (3)"] +} run_ld_link_exec_tests $lto_run_tests if { [is_elf_format] } { diff --git a/ld/testsuite/ld-plugin/plugin.exp b/ld/testsuite/ld-plugin/plugin.exp index bbb8cedbc2c..ce7d406c998 100644 --- a/ld/testsuite/ld-plugin/plugin.exp +++ b/ld/testsuite/ld-plugin/plugin.exp @@ -295,6 +295,15 @@ if { !$can_compile || $failed_compile } { return } +if { [istarget "mips*-*-linux*"] } { + set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile lost symbol"] + set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile replace symbol"] + set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile resolve symbol"] + set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile lost symbol with source"] + set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile replace symbol with source"] + set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile resolve symbol with source"] + set plugin_tests [xfail_from_runlist $plugin_tests "plugin claimfile resolve symbol with source"] +} run_ld_link_tests $plugin_tests if { [is_elf_format] \ @@ -355,6 +364,12 @@ if { [regexp "0+ T func" "$plugin_nm_output"] && # Check if ar --plugin works. file delete tmpdir/libfunc.a +if { [istarget "mips*-*-linux*"] } { + set plugin_src_tests [xfail_from_runlist $plugin_src_tests "plugin 2 with source lib"] + set plugin_src_tests [xfail_from_runlist $plugin_src_tests "load plugin 2 with source"] + set plugin_src_tests [xfail_from_runlist $plugin_src_tests "plugin 3 with source lib"] + set plugin_src_tests [xfail_from_runlist $plugin_src_tests "load plugin 3 with source"] +} if [ar_simple_create $ar "--plugin $plugin2_path" "tmpdir/libfunc.a" \ "tmpdir/main.o $srcdir/$subdir/func.c"] { set testname "ar --plugin" diff --git a/ld/testsuite/ld-selective/selective.exp b/ld/testsuite/ld-selective/selective.exp index 813a52d54de..2531a5e5df8 100644 --- a/ld/testsuite/ld-selective/selective.exp +++ b/ld/testsuite/ld-selective/selective.exp @@ -52,7 +52,7 @@ set ldflags "--gc-sections -Bstatic" if [istarget mips*-*] { # MIPS16 doesn't support PIC code. - set cflags "-mno-abicalls $cflags" + set cflags "-mno-abicalls -fno-PIC $cflags" # MIPS ELF uses __start by default, we override it. set ldflags "-e _start $ldflags" } diff --git a/ld/testsuite/ld-shared/shared.exp b/ld/testsuite/ld-shared/shared.exp index f56e42f667b..3b0adddf023 100644 --- a/ld/testsuite/ld-shared/shared.exp +++ b/ld/testsuite/ld-shared/shared.exp @@ -220,7 +220,7 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp. || ![ld_compile "$CC_FOR_TARGET $PLT_CFLAGS $SHCFLAG" $srcdir/$subdir/sh2.c $tmpdir/sh2np.o] } { unsupported "shared (non PIC)" } else { if { [is_xcoff_format] } { - shared_test shnp "shared (nonPIC)" mainnp.o sh1np.o sh2np.o xcoff + shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o xcoff } else { # Solaris defaults to -z text. setup_xfail "*-*-solaris2*" @@ -242,6 +242,7 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp. setup_xfail "arm*-*-linux*" } setup_xfail "aarch64*-*-linux*" + setup_xfail "mips*-*-linux*" shared_test shnp "shared (non PIC)" mainnp.o sh1np.o sh2np.o shared # Test ELF shared library relocations with a non-zero load @@ -323,6 +324,7 @@ if ![ld_compile "$CC_FOR_TARGET $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdi setup_xfail "arm*-*-linux*" } setup_xfail "aarch64*-*-linux*" + setup_xfail "mips*-*-linux*" shared_test shmpnp "shared (PIC main, non PIC so)" mainp.o sh1np.o sh2np.o shared } } else { From patchwork Fri Jun 16 06:25:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YunQiang Su X-Patchwork-Id: 108857 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1125633vqr; Thu, 15 Jun 2023 23:33:39 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7mAHeeAEbHgz/ZENh2TYEx9CjYjwm4ke/Uar/3qoDKGS738eo4XLPX/9n7Xuc1gOHk5wBr X-Received: by 2002:a17:906:5d0c:b0:982:3db3:8d25 with SMTP id g12-20020a1709065d0c00b009823db38d25mr1049838ejt.60.1686897219639; Thu, 15 Jun 2023 23:33:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686897219; cv=pass; d=google.com; s=arc-20160816; b=H4lysNokqmbGQ1teBksLlePmKyIc8Mfx1RlGiFX77jbowQYh1dP7LJYuc3SCMiX/08 1c0h7AJFpUjPKh11Gly52vDogokE+60mLIoEIlr9hyNUNxtyOa/gzp3SEPiMyT2RBlE1 vkj+Ueo9Z8GuzrB7+48Tr+nF2rMleVYJaPEnPFEE1jCATMOkbDlzTTc1asNomoZzajQ5 QWWE3XGQN3qj7ov6swQ/29iOgP6ZbEpVFkeinjTFchO28M3zQIIB0mMBbmrmtYIDqGha fj2v24/IviyqkU8KPZHMYF1HVc4j5fvbCJGlrFqtfc2QxCh5vcgt8l2K/cJkfKVj5vK3 cGow== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dmarc-filter:delivered-to; bh=mGqjypgZfWyPbO1tr1mGEC8gn1SVrC/JgmaCOobp5CY=; b=y6hGG81nj9x1mnxQAp1IsFJcWOrlvBDNi/GK6bui7YFLws/m6JtAZ38DJiwAZUKkM7 LYhrMc+fstMSP47CbOBkxs9MpHZwLRPWGZjJVMddmidMmTUAbNL5Zoo6IvzwYzb0DTtd 8m7RUbV9f4lZ+Y44tdvo+WQ3NVxDDismJTCcV0xasNWX45Fap2jqcGItm3eqYcQLpot0 O1Joy2sjQM5Xs4ocoEgoAthGgdPk5IAsdgtSoQpvmVWCp0Vu5ciPIf44BBuGC4QdfM2v 9x+CtogX/oH+mTrI7dZcJuI/UBDmlBbZcwT72V8HTGoBjUrqL1t1LB7AuevDsJkroQNY +9+g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=cRusyjmy; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id x24-20020a170906711800b00965ff5ddac8si9867495ejj.682.2023.06.15.23.33.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 23:33:39 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=cRusyjmy; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ADDB738AA27A for ; Fri, 16 Jun 2023 06:28:32 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2110.outbound.protection.outlook.com [40.107.215.110]) by sourceware.org (Postfix) with ESMTPS id C39FB38319F6 for ; Fri, 16 Jun 2023 06:26:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C39FB38319F6 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=ZtrissY68vJQpSIM1IfQCmjU7Exi9eG9YQYvlIJLgVLSquFNET69zu/w0K/OoTkRBx3OgIdcZNhz1L06lqpsFYFvImF7Ycw8iXCZVGywLwdYAQuFBWfF+4W/gYOjz93daaHYMrR26IK9BdPVQ99CfWkdusXCbTpaN+G72/M9hfAnMpOqxwUFD5zz1LJ9lAisVwvt0LSCoFMQMe4U7XAjcHpGJWEBlgs+nylGkdVTwpXdc+1HbnHUASWQQTrzr768Pw+zhFhPieZS0LSoud5EOctYy9XdnJKPRnS/TI3snl3KLX1gVNmiUOHQChF5dp+8taJ0zCEgARL/sJDU0C8+Ew== 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=mGqjypgZfWyPbO1tr1mGEC8gn1SVrC/JgmaCOobp5CY=; b=RzB2DPw6v0ZrhfX6Mt/L6IR0BiB2WSA4BjLma3yBFgG8jIr+dddoDJl341QIASrIIJqAGn3/hZeN3J7aBk+E4BtEAxC8J6aUQuKM5kaTDzgc3RNelxDg192c8kQi9Gx9BttLEY1F490PKP4CEYIOnHpXrie7FqOLdMEca7+eIOsHdLf1JNM7VaUOwtQx6hS4GkosayGO52d3bTa8IAS3NmRGrR1beam4lx+eXpFMfeQxfVOho3gIQnG4tBvRrV6/zVZ5vE5PnYuy31HLzWZZ1dlY/agCj9lSuo88qGN1DIEUocwq6hZlpqDStqIfyDZBIjECwOqBcnk5VKRP7+9s8A== 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=mGqjypgZfWyPbO1tr1mGEC8gn1SVrC/JgmaCOobp5CY=; b=cRusyjmyI8Lt7XYp9PT4KcAdObuOqPCwFOMZ+Q0mK8wSA5XNjsdOXjZ+bXW3raVrsPMDBoRsiOhVgURgWOwmcE4jGVNKqDbWdegpREWVs1vz4V3snt3Zt0v9xhjAgaitRC9bC54iwiqywMNE8kxw9S2DIlw2DjuuDOS4fRXC5OA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cipunited.com; Received: from SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) by TYUPR04MB6911.apcprd04.prod.outlook.com (2603:1096:400:350::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Fri, 16 Jun 2023 06:25:55 +0000 Received: from SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9]) by SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9%4]) with mapi id 15.20.6500.026; Fri, 16 Jun 2023 06:25:55 +0000 From: YunQiang Su To: binutils@sourceware.org Cc: macro@orcam.me.uk, paul.hua.gm@gmail.com, amodra@gmail.com, jbeulich@suse.com, YunQiang Su Subject: [PATCH v3 6/7] MIPS: disable fix-rm7000-2 and llpscp-64 if not has_newabi Date: Fri, 16 Jun 2023 14:25:03 +0800 Message-Id: <20230616062504.1713904-11-yunqiang.su@cipunited.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230616062504.1713904-1-yunqiang.su@cipunited.com> References: <20230616062504.1713904-1-yunqiang.su@cipunited.com> X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35) To SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR04MB6121:EE_|TYUPR04MB6911:EE_ X-MS-Office365-Filtering-Correlation-Id: b58206eb-8574-41d0-af7d-08db6e328a8c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CygwcH23ERmMdhKzIdm4PuIczP8nC3GWzszqF78e5i/mJM3+IOWdDyVuoBDq0rXU5syeeTJDFsbhrPCdDiJ98/BW8udGYjEiEAFswvXuLAVW5nfsGmQUx1Lzuhn4iFuesWnqZs6W9xA4bmmeXSWy6HEIWZHiJ5Akht55doNai9Oz9XAZZ4d6DhPlhz2cZnM76+p85TbwNYD1Mb/Cdd4/FquO+F0+4g87vfpKE5tHqJZtnJ15rZUeVMoImWBiA0QPBzm1S63gztT5UQZDZvkd9j30VegjdHj8nYulFUuLXDXmE0GKRsAX9jg43nES5sG3dApBeci4WKPkIcJhAR+oj/bsMx4IHSaZFMdCkFPkBANxkZBjNq7incAUxMg2eHV8viEtDhS1sXBcafb6GqFto1Xk8tbJ6Ip+OpaPOsbJVaatOciL9cUsXqa4P/vZcDy4ZYROo8MCV0jkEN+NVA91o1y0PJUJyUxne9Beah4f2W79RlO4mdtOyFyhLDaYkKcfoReIeIq/p6mbIiMM7Pyl++wXw3UrfPq4BEbwcaMhitNYepST0/T9Q+QquWDawrQswdZMsYzSHTT2ntM/AaEgoTpeGGfq0XgAMY8cIuHaLmfLfZaSCwv1h00p3LsBMViE X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR04MB6121.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(396003)(39830400003)(366004)(346002)(376002)(451199021)(36756003)(186003)(2906002)(83380400001)(26005)(1076003)(6512007)(6506007)(66946007)(52116002)(41300700001)(6486002)(107886003)(316002)(8676002)(8936002)(5660300002)(86362001)(66476007)(2616005)(66556008)(4326008)(6916009)(38350700002)(38100700002)(478600001)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1JFcR+FELop0vC8f0wHlBnQjMOvL5YMfFuBShU+6aOFtB7HtBCU90rq50x++Yb7+pehzmS8Etze92GW/2t0OwhFrQ9kcvzWit4MN/L6wIOihkKyL1M5RRjbWHTnUGPls2JxsseBwVeblsJRluB0Pil9LGCOcErE4M89eekCnE6c89qBYAp7kUm6kZW4xKlrkY57PPOWkrSMIZ41ESpTViwrDFg5QLo3eNQ3j4q8rWNTjuTKdTSeDo3Up2uHV85/9g3Y4B0A+jH3RBvfwXcBuv4Rz+elx7gOd3v38t6L3L/LcKIC51YyXrhxLKiOInSsYK1YY0kN6OVko1oanpV1wpTWSec/a1EHpL0OakjXQ+8nmFlqL/ss2IwlEBnGp/MYU4kIGDhwMPxul+298iYlaLetZSRszysGxqJr2kVSIaRa20FhA3bx0taXoDtesXuL+TvyN68EFGi2EmF9GS2QMl9tzx8PXHR0eBy1oTt1lkc+kzSFr9Gidglsvn6aQjAWeBfg9xYZBVl33sOfKcmSVsVgkgD72d6aiMHSWbpwe2Xkxoj8uAClDE2E9jm9CphDozfT8UayZjL2uC3u/YB8NBj5urySjAdcezSrIVZ3dFPtF9Vo/FNB+2BVbRrZCMBl6DbzN1ECIQ/OZapytTL78WLwcaoiDLij9dDOR8QPQ9OUM6eMnHZq9/dHw/6YcDCdGcaQcHPmAZfq2ECvhcrqaDDjeHLQUF3qA6ZeKICmXGui8OhCtbWWlOyYz8vJZNJTj5o/5qn6jWbpr0wUhtnVO0GM9fnhU6fWn7tKZW9rwCnoxcY95he98goHX4wg1b+8T7NZaf2cmYbXqH2mGPLaXQViyP2tdSgLDdxaTW7IVpc9+bmgsVcubCqhpjkGwTSl65P0WCpeKyAYlvKX2Rar7oqTUL5aikkCLOfpZQwbvCZPK67qoCrG/jghimIug/0Kva65d2qPytsXpLVwUljqH0zSB+p9Lptwl3j18MzMDShpgzneEgs+UxlKKP72ndS22f+cyMENSd+d35TOLpjnjejD/x/RNQiIFRuRkgsRQAveuAv6GrQuOsJEokszRM76N2m8PLQ70koly+g8mQ+x0XTYxt7fnJMtzHFbLOey405uOq/oV5Xm9yCEXIcPIS0pkxepgUc5yZzjOt+DxJxTM8gkADcsFrIPuc95I1+ew7RfzdayLyUGtaW1Wd4AJedryFe/a5H331u4Kw9yijkb20uyVwNCKsjILJC+NBm9RSRFs2gvpFLCnqn45uk4b9zCLGP6MXTrZpweu+IAIlV12/4Iu0+RaqBAumBFZWNywZT3MbCSm9aGs8KUctRM7R5q8Zoh0CJ0D5sJkqpFgpQ2RxByl1t0DoyqLhiXE7LxlLXdj8f8Fi6h2l3Rbnwrvi+u7V2tvN6oshCNSk0vbD1W0jQFFmUhVIEqQl4jUHiBWmBmXWIjh1klQae4e24eRquMGdQl5FfipvA0+T/RmQUnf4/Zlm5CxcHwbc9V5xkYNUELtgyq8vgQdUiTJ0H9pwrAZzOalMALXQxZozXuy8fgzPoQhY0VYj//njh4iI0LjcyBdg+1msjPqOlhqPrddyqHIHKVrfTbLVYfpZLTwaj2lZQ== X-OriginatorOrg: cipunited.com X-MS-Exchange-CrossTenant-Network-Message-Id: b58206eb-8574-41d0-af7d-08db6e328a8c X-MS-Exchange-CrossTenant-AuthSource: SEZPR04MB6121.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 06:25:55.6890 (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: cF0EL6lxMK7OdWGwV0odJIyYlgepVs/4wK3P+3WQU1DBtXDGFqWWL9YN0g22/MTPh/2ah0UtuG1XlFs4UBX189Q+LU8uRm9UtQjZqjXPL6U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR04MB6911 X-Spam-Status: No, score=-13.0 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: 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: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768839939457521260?= X-GMAIL-MSGID: =?utf-8?q?1768839939457521260?= Some triples may disable N32 support, such as mips*-elf without vendor: mipsisa32r2el-elf and mipstx39-elf included. Let's disable the testcases needing N32 support if not has_newabi. --- gas/testsuite/gas/mips/mips.exp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 92f6e4dac2d..4bfb350beb9 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -746,10 +746,10 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "fix-rm7000-1" \ [mips_arch_list_matching mips3 !singlefloat \ !mips64r6] - } - run_dump_test_arches "fix-rm7000-2" \ + run_dump_test_arches "fix-rm7000-2" \ [mips_arch_list_matching mips3 !singlefloat \ !mips64r6] + } run_dump_test_arches "24k-branch-delay-1" \ [mips_arch_list_matching mips1] run_dump_test_arches "24k-triple-stores-1" \ @@ -2172,7 +2172,9 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test_arches "ginv-err" [mips_arch_list_matching mips32r6] run_dump_test_arches "llpscp-32" [mips_arch_list_matching mips32r6] - run_dump_test_arch "llpscp-64" "" mips64r6 + if $has_newabi { + run_dump_test_arch "llpscp-64" "" mips64r6 + } run_dump_test "pr14798${imips}" run_dump_test "insn-isa-mode" From patchwork Fri Jun 16 06:25:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YunQiang Su X-Patchwork-Id: 108863 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1125881vqr; Thu, 15 Jun 2023 23:34:18 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6fD2nfAs+q/rhWr8fHbCVmikKN0dsxTzXAYXCqwNuu5eKeE0p0Ib42lyeHYz7FTgMHheVo X-Received: by 2002:a17:907:7287:b0:96a:ff7f:692 with SMTP id dt7-20020a170907728700b0096aff7f0692mr940702ejc.68.1686897258085; Thu, 15 Jun 2023 23:34:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1686897258; cv=pass; d=google.com; s=arc-20160816; b=NquLRoizTG8nYGedioNBkQpyvs3vU0t2GlRxj4hFmlX84v0ep8ItIbULIEas3MJKA7 eGSvuB25VfRYHYXMAnd+GIDBp/0kn7ab7JszYBU6oNoKs1sE57tT9NPZfo+3YcvIvs2z kENViHS1IN+3J9HnoInuzpDZjvlEtP+Sdut0AjlqLBgAQKcXqnUYB2GeGIdTpiy9lF8x 1LD7AFb0PQzEe+g9ChoPAQVgE38eL2T9i/cGozxkH0/o1epUXcDoZsK5SEDTz0D8Ywd1 /lgMcLUML/hgvNMFJ5Jx4yPWEc6LqzKxJ9COKdOh7+1VamOybyMgUqMmi6DuzI89KHv6 cMkQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dmarc-filter:delivered-to; bh=bff/4BMpUChOTCVOo68Yk8Di7c43aMGc1+RaX8Zt2UI=; b=eKK7QqR8Xq/1AsnYtqubSv3TKJk2fZu+f4sOcGtoH+V8TI0GT8VQbiLnDDjjFcvjBd PRRHOCiN5fOuQMEPB6dzixeoiKAcXbZjHnjIukIS+jc79dmhstLIkS8DhnF3LxQJ3qhA E2tc29oEUbl8q8oKum/ArG5LVVX/EgwM5hnEYS4dWeNWpARUU4fv8PQAPUfo0ULBIyxs RI/SDYokgD3pJ3z0YLvzp3ycUkK2dzMR/wsWj9lGFBHxgAtEP9sTztTmZ6b/CyUoF8Hd W2+nO7VaE3v/2mlTaoJ6u/SK1UhfFsehyGaLQdhSy6YjXRjalfFgE//m6Lf1MD1/36xR fq3A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=xYvkx+rr; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id p9-20020a170906140900b00977ead65611si10443334ejc.573.2023.06.15.23.34.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 23:34:18 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@cipunited.onmicrosoft.com header.s=selector1-cipunited-onmicrosoft-com header.b=xYvkx+rr; arc=pass (i=1 spf=pass spfdomain=cipunited.com dkim=pass dkdomain=cipunited.com dmarc=pass fromdomain=cipunited.com); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 976213885C1F for ; Fri, 16 Jun 2023 06:29:05 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2107.outbound.protection.outlook.com [40.107.215.107]) by sourceware.org (Postfix) with ESMTPS id 1201D3882039 for ; Fri, 16 Jun 2023 06:26:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1201D3882039 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=QGI6UXsxHer4GJL7hpLOWOOvWrpdSVmTgNofXba1CxfKVGjcuDIF5sLtTmQaEyyf0RbxjxZLIPwWQT7od4kj/WKdy/erpafhvJFaQ+GiuTvN1/rwp9z5b68qOKr59sdKsP+mDf2NfxzoA1NkoQjIfKlRLp9paxHFYVdF08UTiGTAZiYVGwtTrOrUafn6eEovwwzg+zG+5PP5Psp9Pnwk/p4XypX6wlBuOoI/4pqjy3AUwdHK586JxGxY4zrCk8GiNdcIJCj9IoljXuXY/O9rEWELvvZ93qX63XkmhoHRc9+0IkiYWl21paw3eBKIAx8gHVKrTI5k+7RwA5gyY5o/Cg== 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=bff/4BMpUChOTCVOo68Yk8Di7c43aMGc1+RaX8Zt2UI=; b=GBcPRX3CVDCL1Q+VZwvstEZmYS1AscTyOA+cEtfmezbp0BUtVNwGSD7xDujmW8C+7fbgVBgU6/Fo8spACCTgWffFJFOF4rz/s3jeyWaWXFPwVhKqUdukdtkPq5O8gh/Vdk33UygSZh85oGiKKzF7uOVafnDnbb7H2FIe3qVJz5yp8P8CYz9LFH/IumFNTnaL2GTfNS21chaVV6ZWoBlBbx2vOJDEIVFcJ1aXqQE8RFwyQLCydIWIbpqK2NJ69cyAWRhyM5l36JIYdXsUA2sTMCYBIu/NFirJE+ENZjjjHzEDFr6lp2qr/BuVg5FBFYo0RuD1mgP0InuezO80BaY9Uw== 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=bff/4BMpUChOTCVOo68Yk8Di7c43aMGc1+RaX8Zt2UI=; b=xYvkx+rrhZcTpiprUt304+kbzWHY+CjEhFTxtaVsW93e9T5Mmo27iYs1QPuKNyeCxi9289tK6xkoZ6dH9bTF8i5Vm1zo7p+jTmaMncIU0cYKKB1wBf6go+ye7IbyQtbDZgK3vlLof4lEQTrKQFiu0fiX1J2tIFQq3SS2TUelSCc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cipunited.com; Received: from SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) by TYUPR04MB6911.apcprd04.prod.outlook.com (2603:1096:400:350::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Fri, 16 Jun 2023 06:25:58 +0000 Received: from SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9]) by SEZPR04MB6121.apcprd04.prod.outlook.com ([fe80::8969:4dde:3fc5:33c9%4]) with mapi id 15.20.6500.026; Fri, 16 Jun 2023 06:25:58 +0000 From: YunQiang Su To: binutils@sourceware.org Cc: macro@orcam.me.uk, paul.hua.gm@gmail.com, amodra@gmail.com, jbeulich@suse.com, YunQiang Su Subject: [PATCH v3 7/7] MIPS: Fix Irix gas testcases Date: Fri, 16 Jun 2023 14:25:04 +0800 Message-Id: <20230616062504.1713904-12-yunqiang.su@cipunited.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230616062504.1713904-1-yunqiang.su@cipunited.com> References: <20230616062504.1713904-1-yunqiang.su@cipunited.com> X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35) To SEZPR04MB6121.apcprd04.prod.outlook.com (2603:1096:101:98::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEZPR04MB6121:EE_|TYUPR04MB6911:EE_ X-MS-Office365-Filtering-Correlation-Id: 617d40c0-e007-4a00-1956-08db6e328beb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JzY/srAxdkUwlwt52S0v06+rGbo5hUrpQ0WN6xVBtN2yWtDlxmi9aR5D9vJVd5z//apztnojFW9ygybAfLpNIZFxLAMg6eL3PzVlqUEmYRr3rKAltmpXZzpQwj4aAg+0aH2dtYB2H77w5zXXH0N2ZltfPPcKfzHalAoUjzMee0A4feGLMHTx9W0//osLqWw4VSJZ2whmYvNyHJAr574vSgpJxIP0Dz38IKkw/7FuIFZwJaNjNS7MBtOX1KyzE1qFykecDfWaz/VRuWRKmozw+dFF7gnLtyUsZQmDAZp3zxJumj4eItj1+LWyI7B/UG9fDIc3bjX1vuIyg11fhN9Ow2722Dnf4Pk8CrLpFJ0CwW59kZZKVNQEQnfwC7W1ob/XMKzyl0thBXUPL9Ri/USt2WWUXhBsUADjiwrXVg/vDISPvbzciipD3mbk/ZBKlYjlfPcg0sNT0B7MNOIJ534di4BBi+bnFEdHohfQdN2J1sePYkspyO4ALwW1bRfwq+yxVFEGjeWU71d0FwIEMkV2JAYI1OuyW8p2oxQ6Jzz5kxnGU5a7UiptN07Ua+5pVo2feTadgG1nTxk6ilmwT9+EqB0yOyKPwBD9J12PeY5QoMA= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SEZPR04MB6121.apcprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(396003)(39830400003)(366004)(346002)(376002)(451199021)(36756003)(186003)(2906002)(83380400001)(26005)(1076003)(6512007)(6506007)(66946007)(52116002)(41300700001)(6486002)(107886003)(316002)(8676002)(8936002)(5660300002)(86362001)(66476007)(2616005)(66556008)(4326008)(6916009)(38350700002)(38100700002)(478600001)(6666004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: qlWlAFibqXINRcVlyF1YHAmvZKzU1X6vZc6pxsKnwlDrxbLykBwqLm1TrRWPsJHI+Ni3KZpQ4Qs8Gmz4y9+lChXTVUgEjXgqB/oAadGSsaJNzyHjRR7qkTbfU0WKkdPWWoDMNxqXvzqKzccm9eyoAUXFv+I30WCugEUkF16SoJxk+f9vTt+Ug+83KpJWmq6NpBerGM19TNQYe3X2+hnuNP8IMtif8nFB4kpdkArrE+bvud95RxAE9X/6Li9YRezlmBhyEMXLvBJa/Z3Fzy0OIiH9BrGZe0JU0pQhWBVw1S/5K+DGSoIHm4ivFfO/zU8ejxZUt+0PMfol5xLa8RzZ3opYHV+MjH3ZR5RYMwp3EQMMhNAMvJkV4Y2h/9drKGCPGodGWAdkBztvWSGxqvu9qo5rPRPhNOUEmdtC7BsMkoE53hTggusMnna4NUfem91GFdjNZ9Q+rTC0P7PCfE+0T/48ZWxR1NIJ2AssYWxL/5IuD3yq6SNNtCp1TOfHlgPMobgejM/Snw9ZqxhEQG3RIcxpq36xLUY8V+YHwADUAS3WVknQn+gNASRokMYO6Ylxb+LU4V+lhuQYIzWv0eMSuyj9Vsi1BwDHanfQk77w0B54Ni1s9TNpUjK2eveb33tPkZqqwI6CIVKBZVPvS40TYKhf3vgM7q0vda3oRat/D1RwpjvCQ+dU+Lf62e0rHgWI+JCHbD3k2IaOld/ascFwApjenWLy3FaRQLBT3X36waD9xOqN92XY5etHgr0ComcDc6XZhroBrNewNoVe+VWCnw5IYcUtqt2m8+AQkdk4vya2p8Ty3Bd7UaX0efepDp6EsNpVAgC/J2y8TpdyF6EMrWpa7Iso5tpQXIsvwiihj4eio8l7KLcYMjlUIGMOknGWQUBK+FPr+cr/3vnYSDCOBk7Ekr0rdqeV9Pn2jIBzGoP9NL2O6T+M8HVhqyVuj/H/kliZTp7TIWy8sDh44JlloVRaesyaAnemPWD5ccIQtWXLTyh7ywOlp+coBV9GFPdT3UOGm+9mb/6FBC4GWqwtXh/Jlv9xgwtjYNfYLT9Tw3Q7TosHVjUE3WwWIUVHWAZimXWXHYhHNkNDjfnDK9TvvnrDqfmsjRcYUn2ot7EX48QZ4/6p/66OpSxxJoKU75i78m3Fl6D9HWguFcnG9Z2L86MUrkwWrrPI1c4eK9FX5fzYXe831tScCGaZMy21gY4t91BcA/WR0U+kicq+Zsng26zHHoL06B8YmWw1opACAYKUWzz10ot2wO4po3ZuPc/xn+ErTVZNdNjfRiCZxuLSWLTmsa+wKIPbIBzVvLnnnIK9j9Oor5xQPKrqP1r+9IZfHukPaP2DJoCYZzgfI3zL1GK49KY0CJSURdF6vVDKSNSFAQSGnkSTcvxyo3QV4zcPD9zG22oEtKHlPBnWDhMaPVOmbABlbBpcbPD/Eeus4fuZjVdmpb3Ka1q1cJUFC9s7bpS8r6hHSUw43Bp+RQz5Mr6u53S/1EeZ0HdX4WiQuaS3rtlFm1A8h86R9ukZMad1ld1pBlV5z/tcVVknAjcf4W5dBwfpW6Em+U7r5q2N2u8as3hboU4+p/n8rsg0IyzJeUGFOxd6LkLeP+FOMwl9+w== X-OriginatorOrg: cipunited.com X-MS-Exchange-CrossTenant-Network-Message-Id: 617d40c0-e007-4a00-1956-08db6e328beb X-MS-Exchange-CrossTenant-AuthSource: SEZPR04MB6121.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2023 06:25:57.9699 (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: 1UYH/YKrUtPz8AU87+3cwfEPV1TwmFeX8aQ86ruj7HKizQlwVkelPMFiDLjVB10kdPmC7k2lScp4+0ogxlhsTxBjNVBuuVMLsBDa34Gpnso= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYUPR04MB6911 X-Spam-Status: No, score=-13.1 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: 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: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768839979497322468?= X-GMAIL-MSGID: =?utf-8?q?1768839979497322468?= 1. Add -mpdr to some cases. Gas doesn't generate .pdr section for Irix objects by default. See `int mips_flag_pdr` in tc-mips.c. 2. Add irix-no-pdr.d. 3. Add and use call-nonpic-1-irix.d for Irix targets. Gas doesn't set O32 flags for Irix objects in e_flags. See `use_e_mips_abi_o32` in gas/configure.ac. 4. Add mips16-e-irix.d: g1 is marked as O on Irix. The Irix 5 and 6 assemblers set the type of any common symbol and any undefined non-function symbol to STT_OBJECT. See `mips_frob_symbol` in tc-mips.c. --- gas/testsuite/gas/elf/elf.exp | 4 ++ gas/testsuite/gas/mips/call-nonpic-1-irix.d | 30 +++++++++++++ gas/testsuite/gas/mips/elf-rel26.d | 2 +- gas/testsuite/gas/mips/irix-no-pdr.d | 8 ++++ gas/testsuite/gas/mips/mips.exp | 11 ++++- gas/testsuite/gas/mips/mips16-e-irix.d | 50 +++++++++++++++++++++ gas/testsuite/gas/mips/mips16-e.d | 2 +- gas/testsuite/gas/mips/mips16-f.d | 2 +- gas/testsuite/gas/mips/mips16-hilo-match.d | 2 +- 9 files changed, 105 insertions(+), 6 deletions(-) create mode 100644 gas/testsuite/gas/mips/call-nonpic-1-irix.d create mode 100644 gas/testsuite/gas/mips/irix-no-pdr.d create mode 100644 gas/testsuite/gas/mips/mips16-e-irix.d diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp index 4890dd93420..0abe730c375 100644 --- a/gas/testsuite/gas/elf/elf.exp +++ b/gas/testsuite/gas/elf/elf.exp @@ -207,6 +207,10 @@ if { [is_elf_format] } then { riscv*-*-* { set as_flags "$as_flags -march-attr" } + mips*-*-* { + # Irix has no pdr section by default. + set as_flags "$as_flags -mpdr" + } } run_elf_list_test "section2" "$target_machine" "$as_flags" "-s" "" } diff --git a/gas/testsuite/gas/mips/call-nonpic-1-irix.d b/gas/testsuite/gas/mips/call-nonpic-1-irix.d new file mode 100644 index 00000000000..3cff1ca672b --- /dev/null +++ b/gas/testsuite/gas/mips/call-nonpic-1-irix.d @@ -0,0 +1,30 @@ +#as: -mabi=32 -mips2 -call_nonpic +#objdump: -pdr +#source: call-nonpic-1.s + +.* +private flags = 10000004: .* + +MIPS ABI Flags Version: 0 + +ISA: MIPS2 +GPR size: 32 +CPR1 size: 32 +CPR2 size: 0 +FP ABI: Hard float \(double precision\) +ISA Extension: None +ASEs: + None +FLAGS 1: 00000000 +FLAGS 2: 00000000 + + +Disassembly of section \.text: + +0+0 <\.text>: +.* lui t9,0x0 +.*: R_MIPS_HI16 foo +.* addiu t9,t9,0 +.*: R_MIPS_LO16 foo +.* jalr t9 +.* nop diff --git a/gas/testsuite/gas/mips/elf-rel26.d b/gas/testsuite/gas/mips/elf-rel26.d index aeb4e16d178..71fbe83d4b6 100644 --- a/gas/testsuite/gas/mips/elf-rel26.d +++ b/gas/testsuite/gas/mips/elf-rel26.d @@ -1,4 +1,4 @@ -#as: -mips32 -32 -EL -KPIC +#as: -mips32 -32 -EL -KPIC -mpdr #readelf: --relocs #name: MIPS ELF reloc 26 diff --git a/gas/testsuite/gas/mips/irix-no-pdr.d b/gas/testsuite/gas/mips/irix-no-pdr.d new file mode 100644 index 00000000000..7268e020c9f --- /dev/null +++ b/gas/testsuite/gas/mips/irix-no-pdr.d @@ -0,0 +1,8 @@ +#objdump: -rst +#name: Irix has no .pdr section +#as: -32 -mips32 +#source: sync.s + +#failif +.*\.pdr.* +#pass diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 4bfb350beb9..336eb6afbde 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -1254,7 +1254,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "comdat-reloc" run_dump_test "comdat-reloc-r6" - run_dump_test "${tmips}mips${el}16-e" + run_dump_test "${tmips}mips${el}16-e${imips}" run_dump_test "${tmips}mips${el}16-f" run_dump_test "elf-consthilo" @@ -1553,7 +1553,8 @@ if { [istarget mips*-*-vxworks*] } { [mips_arch_list_matching mips1 !singlefloat] run_dump_test "mips16-vis-1" - run_dump_test "call-nonpic-1" + # Irix sets use_e_mips_abi_o32=0. See gas/configure.ac. + run_dump_test "call-nonpic-1${imips}" run_dump_test "mips32-sync" run_dump_test_arches "mips32r2-sync" [lsort -dictionary -unique [concat \ [mips_arch_list_matching mips32r2] \ @@ -2187,4 +2188,10 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "global-local-symtab-sort-n32${tmips}" run_dump_test "global-local-symtab-sort-n64${tmips}" } + + # Gas doesn't generate .pdr section for Irix objects by default. + # See `int mips_flag_pdr` in tc-mips.c. + if [istarget *-*-irix*] { + run_dump_test "irix-no-pdr" + } } diff --git a/gas/testsuite/gas/mips/mips16-e-irix.d b/gas/testsuite/gas/mips/mips16-e-irix.d new file mode 100644 index 00000000000..1b473deb281 --- /dev/null +++ b/gas/testsuite/gas/mips/mips16-e-irix.d @@ -0,0 +1,50 @@ +#objdump: -rst --special-syms -mips16 +#name: MIPS16 reloc +#as: -32 -mips16 -mips32 -mpdr +#source: mips16-e.s + +# The Irix 5 and 6 assemblers set the type of any common symbol and +# any undefined non-function symbol to STT_OBJECT. +# See `mips_frob_symbol` in tc-mips.c. + +# Check MIPS16 reloc processing + +.*: +file format elf.*mips.* + +SYMBOL TABLE: +0+0000000 l d \.text 0+0000000 (|\.text) +0+0000000 l d \.data 0+0000000 (|\.data) +0+0000000 l d \.bss 0+0000000 (|\.bss) +0+0000000 l d foo 0+0000000 (|foo) +0+0000000 l d \.reginfo 0+0000000 (|\.reginfo) +0+0000000 l d \.MIPS\.abiflags 0+0000000 (|\.MIPS\.abiflags) +0+0000000 l d \.(mdebug|pdr) 0+0000000 (|\.mdebug|\.pdr) +0+0000000 l d \.gnu\.attributes 0+0000000 (|\.gnu\.attributes) +0+0000002 l \.text 0+0000000 0xf0 l1 +0+0000004 l \.text 0+0000000 0xf0 \.L1.*1 +0+0000000 O \*UND\* 0+0000000 g1 + + +RELOCATION RECORDS FOR \[foo\]: +OFFSET +TYPE +VALUE +0+0000000 R_MIPS_32 l1 +0+0000004 R_MIPS_32 l1 +0+0000008 R_MIPS_32 \.L1.*1 +0+000000c R_MIPS_32 \.L1.*1 +0+0000010 R_MIPS_32 g1 +0+0000014 R_MIPS_32 g1 + + +Contents of section \.text: + 0000 65006500 65006500 65006500 65006500 .* +Contents of section \.reginfo: + 0000 00010000 00000000 00000000 00000000 .* + 0010 00000000 00000000 .* +Contents of section \.MIPS\.abiflags: + .* + .* +Contents of section foo: + 0000 00000000 00000008 00000000 00000003 .* + 0010 00000000 00000008 00000000 00000000 .* +Contents of section \.gnu\.attributes: + .* diff --git a/gas/testsuite/gas/mips/mips16-e.d b/gas/testsuite/gas/mips/mips16-e.d index d4522d6e7c8..9a7c3e82c0c 100644 --- a/gas/testsuite/gas/mips/mips16-e.d +++ b/gas/testsuite/gas/mips/mips16-e.d @@ -1,6 +1,6 @@ #objdump: -rst --special-syms -mips16 #name: MIPS16 reloc -#as: -32 -mips16 -mips32 +#as: -32 -mips16 -mips32 -mpdr # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/mips16-f.d b/gas/testsuite/gas/mips/mips16-f.d index 62e30a31840..0ed246cfbba 100644 --- a/gas/testsuite/gas/mips/mips16-f.d +++ b/gas/testsuite/gas/mips/mips16-f.d @@ -1,6 +1,6 @@ #objdump: -rst -mips16 #name: MIPS16 reloc 2 -#as: -32 -mips16 -mips32 +#as: -32 -mips16 -mips32 -mpdr # Check MIPS16 reloc processing diff --git a/gas/testsuite/gas/mips/mips16-hilo-match.d b/gas/testsuite/gas/mips/mips16-hilo-match.d index 76ad7b39cdd..7b42f6946c1 100644 --- a/gas/testsuite/gas/mips/mips16-hilo-match.d +++ b/gas/testsuite/gas/mips/mips16-hilo-match.d @@ -1,5 +1,5 @@ #objdump: -r -#as: -mabi=32 -march=mips1 +#as: -mabi=32 -march=mips1 -mpdr #name: MIPS16 mips16-hilo-match .*: +file format .*mips.*