From patchwork Wed Dec 21 18:56:40 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 9483679 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6AFE0601D2 for ; Wed, 21 Dec 2016 18:59:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 59AF428477 for ; Wed, 21 Dec 2016 18:59:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4D41F2847A; Wed, 21 Dec 2016 18:59:18 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C265A28477 for ; Wed, 21 Dec 2016 18:59:17 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1cJm4p-0003hf-Bo; Wed, 21 Dec 2016 18:57:23 +0000 Received: from mail-by2nam01on0040.outbound.protection.outlook.com ([104.47.34.40] helo=NAM01-BY2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1cJm4k-0003dn-Gf for linux-arm-kernel@lists.infradead.org; Wed, 21 Dec 2016 18:57:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-caviumnetworks-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=QiwVySkVdHJvHQErFCzmze/jolfqbQy2Xi8N4yZ3fPk=; b=rfmuMz2XQakma8nXdQGSPlXDDvcQcpvCZUA8za4iLMy6R5JOQcj6+HgfwVl6tW+VDmtdY17XjmCFZBXzCZymQ8dPrCbpp/ZSNzLAGQWcs80/a4qywj3IkDbmhfEQFcJE4LCfjuMdlv0YO2YCJcwazZDxDooiJrEfYD2zcD1Pk1U= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Received: from localhost (223.196.245.147) by CY1PR07MB2247.namprd07.prod.outlook.com (10.164.112.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11; Wed, 21 Dec 2016 18:56:54 +0000 Date: Thu, 22 Dec 2016 00:26:40 +0530 From: Yury Norov To: Catalin Marinas Subject: Re: [PATCH 10/18] arm64: ilp32: introduce binfmt_ilp32.c Message-ID: <20161221185640.GA16562@yury-N73SV> References: <1477081997-4770-1-git-send-email-ynorov@caviumnetworks.com> <1477081997-4770-11-git-send-email-ynorov@caviumnetworks.com> <20161205153801.GE14429@e104818-lin.cambridge.arm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20161205153801.GE14429@e104818-lin.cambridge.arm.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-Originating-IP: [223.196.245.147] X-ClientProxiedBy: VI1PR0901CA0048.eurprd09.prod.outlook.com (10.167.203.144) To CY1PR07MB2247.namprd07.prod.outlook.com (10.164.112.149) X-MS-Office365-Filtering-Correlation-Id: 32e0cb5b-3044-4b57-4951-08d429d32207 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CY1PR07MB2247; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2247; 3:WZWL8iMdSuk1PQFiLmFSIGhzkrK4V11cktIdMGCY9teYhi2tp6YcDevAx0w+sOh96NoMBBf6WCpVyygAqHvmMCp0xeFeHotgL/Lh+sjaZzgJvYbcmCyQFpk+n2RtBPS6BbnThs6mlagTutWYkzQGaDXvFyKV1lXT8c+c6Y4dpM3NNa3JPWqkSrlY2IiMPHzgThxAX2V277ddUslB3iVEyHnLqnd6qu/EiKK7mrPEcYu0nKqyBDFddMlth+RTzk3RPg5EgBrYZ7sHWacnwLgpxg==; 25:pv8mFempe762ovzubOb/QFczHa96mDYPdDB1x75dCUnXBLnZoARLEoifEk2/0BEPYf0rXapVq8xvwL4+WQb2HSOXEVyGw1FgGS7ctzF5IP6nNvkjCBTmB44RTb/879VRYictYvtIyBh/OSjUoTd8YOxfMjn4GWPQTwHPuiyeJ0NPgYriVs67UIUHU3hKHbVhBpdnpReK3Fq2OWzAPL2hD0sPiZLvuj+i9vgPYC6LMCrx//d+foVcRA9SRzQobKhpOU7fkcdFcx0aGdCvolzkf2s1XM/JdQ4RpOw7DTNelpWYrB3LFGt45a/LFJcSGsgYLBzr3gZMyMvbPau77pBuUZbKCufdEt/yCL6rsigfF0Dtk2TAf798YWF0SRQSA7bJFXCVW1vs8dtwlFWuKn1xyQ9l3CiWL5912xsX+r7DcyXbHSRyD65+nPTJdJQAPkMW9LjABdhEvtwoDSX2RaVp5A== X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2247; 31:1gkO0PkkLoISNxv++EL0VG9p+Jp8SW6XuOva0s019sOB2EydkVXxWWG5AeYAKc5Zjtr7+8Dab0M5rjeQvDhAblObCf84dOObK9rEJO4xrjifWDIoQH/c1RVXH3nKYnJF4NpDRnmsyKwXHAkU6PiV0QrlBzWKc4iYMfPWWWNuv1OWZ11SsdyrAhNp8rFAysPyJfNB3JTRwXaZZ4RntLGOF41/kTUEo6Y1gR9fX3vye6Jv+XcsjwZ9k5Xm/gJCMrUM; 20:dFNtkgQi3bc2Xfp+GjT2Tqc4wmttKCKhiWQFnXCyuldQo+0tEfo1oDaR2i8i9LbSG22m0K1pUl5VxpAYL2sFDWVSmvSUABmGf2PLk/P6m4QQWxkXE71cTMMwNYmZbEuCuj8/Z5emN2jHl5qxPUs2qwhxtLSOzGG5poCJcNWWr6RCNe5ATy6jcABVvA/zGHioq0xHpRftamivIWEbfVI//+X7siTuk0kqV/lM0jRiJ2sgAY2t/alQlH0tJX0VvKyE3MeuNENHEuxPXGGM0Oc8gZwvxu9yhDRPEpCCV/quSsX89tOJ7HUXkGJINgIWQoRM+fKZruHv9ndnUR4fhBLFaxv6Nk06nClpNTN3yuoX/7dbgGqjt02Q1+Ky0w6qLeTNBUfjHjtOZsKMyvoVyoJ1TkF9yo9ZhCmaay9Ye/whgJICyQY9NOHzewNEgyYZCm4DUn3jb7KB+ce4lQWOpDzrkhc+xcnKiSAK40UERlVFLP1b55vkB7N+vK7ctq/NiGjc2hnJyQqsm2+YDOsB4sTL7xJH5jqe4Uj3gXR2EaYEoYPUbcPJjjox8O/IY+u/nKjALDaq8Y4silIiIS4eo0fplJU1Nla6wBokCy7CZKKRutM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(6072148); SRVR:CY1PR07MB2247; BCL:0; PCL:0; RULEID:; SRVR:CY1PR07MB2247; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2247; 4:rXCr/aY20qf6Jkl6qhuJGu+iuQaY1SZXzDasamh4NJ3ttQQtnHZ4g9Yk89FjAXCL/cliVG9+vu2vIA5iiGqxGyi6hh3peHEjJLpkpI2ZCThbqAZYq4JXbASrPDTcEhO4jmazb9i/9dNyHt8DiKTP5T/OCz7IXru4msiJDPD9LzbUZkt55FsSpp+V0hesnAB1FQK5CYu1NKXJHdVMIdu6yUqbzaKzRHLzRrQd8w1f+tkwJyPZOcomDjoMCKo9CmRa51XWcNfMxirzyahX6HmibXQYUnGfrygv0Kqn4iN6CvpHI88jHZJCkkRtlmFzfLtmr3w+yNgA9iNBIpcxCpi8mD7gKclcqpyhpZLMkkTuzMXAHioOIxJiNpIUm01L2nzctS21BlUqWDup164pBZp3bSqN6xtitLJn/07H91hvz8ceLJVH6mMTQRJTkcbobNzhKRfiQW6EVvyQoirN6pVUG15IfbVdG/X4K4Se8FN1eWv4XBfdtayCiqjAsUD5hWgRDI7tYlqfmLVDIrZG4rabS5RGDJjZRg3bXHkyT04AuS3ClyMNrY1eMlpJAU6ZHTVIlu1CC9YSHHhfBAy8L0pQJQ== X-Forefront-PRVS: 01630974C0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(24454002)(189002)(199003)(106356001)(46406003)(66066001)(5660300001)(575784001)(110136003)(9686002)(42186005)(105586002)(229853002)(101416001)(68736007)(47776003)(4001350100001)(97756001)(97736004)(189998001)(33656002)(76506005)(92566002)(6486002)(50466002)(23726003)(81166006)(81156014)(2906002)(4326007)(1076002)(38730400001)(7416002)(6116002)(6916009)(8676002)(7736002)(33716001)(3846002)(305945005)(54356999)(76176999)(50986999)(6496003)(6666003)(39060400001)(2950100002)(25786008)(83506001)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2247; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR07MB2247; 23:NQ9HZJQVgVshv0A72+oqZziDgHOSjHkhxppKtjCL9?= =?us-ascii?Q?gReeS4iyNLikiXUAaAUMEs1pxj+rTDrdriGnQKUTvR7w2H04CPgqGAnsh1Nv?= =?us-ascii?Q?isknVb6tm9ijMhp1FRXwVX3+wgn+DDslUJUJcVw99Y5UH0h3/0nJLUVr69ff?= =?us-ascii?Q?1NzTsn+LEaqqenzhVthUi8AGnmqBMn3J63mvcJsbrZznaus7x9dnT+6iV7l/?= =?us-ascii?Q?CcAEC3iow+oXGB1KhAEeZZwCf0/fMXoGQeTPw6qHR+35Jli69dpSWmSB2UvR?= =?us-ascii?Q?hZf2AUmC3ifP06bQkok4d6CBO7Z/p225fAFx+MTaH5xlTwZ7+Blocpe2W0yL?= =?us-ascii?Q?xHmsYPgbzw1XynYQrZ7CjPuZMXVANFWJyyNXWTjLs3JGGCIv7WffMWnGevQP?= =?us-ascii?Q?pkIGoXL6iP4NgKW7KsPZzmEz5v6ucLnLeNNo6+mgDk501pB2GL5aF0TL0H7q?= =?us-ascii?Q?ICMMfwlGqNwOm7UJeW4wCEr3t8LX3jLInskDJjX6R+Bz9ePOKvuyeQBKRtr9?= =?us-ascii?Q?rcacVotZDMAKmNDZQ/nYmd90e8OqGLedPJg2HmKnZNn4Tg2iXs91MGHlyCmr?= =?us-ascii?Q?PAdYKl3Ig0zRqCSvFu4hBWSt+yOFk/CpM3TAThrCCTp8HHtHorSrKXfrUOP+?= =?us-ascii?Q?wq16PpjRLbzeKZCp0tVQSjzAJvymhQZykjvaWZcNmi0u0NFv5uYFx8ynTWoA?= =?us-ascii?Q?/SPiCyOVAOFixj/4GRCTkpsWDd9mYOY5pJoQgN2SsK3qGObWVwHAZ8B40kgb?= =?us-ascii?Q?3jvZxRdQhmWA+8gz79mrhoS992ug+5zXed8ShqXRYbAiAEB9UfMK9o9rhLZD?= =?us-ascii?Q?h+N2UVzohScYcsbVXvl0SXbQUC2GbhB4tG6sPpcBABIvTXI7fn64QY09F2fM?= =?us-ascii?Q?ufHFAV8Tv2aIZ7l01BLTbSDaYq8o1M/pRjgwGr2C0p3ECHjsCecnb92jM1a0?= =?us-ascii?Q?2pmcrTk9+OvIXsOEDkwfyjYyxUYV+A59GCWN84E/t3ai6LI8uGYDbLgBOcrH?= =?us-ascii?Q?/YwYGGXhyEWbe8HcKXX2giDJ8mP4bBw3mmhhMtXQvrqEAO8LBV+aeN7vNjcN?= =?us-ascii?Q?2YoasLqdXKhVnGY9hOgzuf0Bha1tbbxbbrAdeFvc97ZucTT9LkeKPlHxluLU?= =?us-ascii?Q?Yatre0J5c6k47BYJ50gItpCMJCgrJR/kJL9CfM96RXCNAh13UVAzW7J8ArRO?= =?us-ascii?Q?AlxVACGDwQlZUHWP1T/H5uq2Qk66yuMBl29IjtQ77BcL+3QG/S6hzwiHsOHF?= =?us-ascii?Q?NuTL6qeACvVODW9D0nXK/lOLsaBxCBoAfp5HIeWMtQhBo9BaP4h40l/DBv3w?= =?us-ascii?Q?FM3cy7+bIPaELCgr9ehEF8=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2247; 6:HhaOR/fbA1Mj5u6eSm0SEPRnGTm6k7O0Avo4SEqBqXQTX37sbx39yrHgkUO7o+myaeF2L97R7LevIYGoqKgJ6xyiyf/OzRjcmZVpDyI6uPf3cKk/vlWp2jYLebizR71KP8D1ZUPyvZgPaMhYFcNfxP6NCQmDjwK1WTFR5SkOGLzBQkXRsGWc0en0wOZ0dZYXOFoRu/CrWczw0Bb2VloKd8MA9nE8k72WhhAhC4M8qunPwHRhvRlmBiM/Agc20kQ6HBvaEcDwqSVwLh9TdRWP3LpTvpBGRDYLOald6RcMuVIYjG7gXNCNYErOfdzSU0LE1HM+bMhSHrO7ZUCLi7jDp0sNbW4gzL8QnLrEN+5E7SlaHXSWrCMpKN+1libq7ZXcCwaPYcf00QY31I/+/Dn3Qw25cl9UN7x3npLsAXAIwVA=; 5:vTQJ2Bukmv3nSX4e+wzHQBPeA5frgsMDSnYCJaIMLiJ2GhKOJTYaZKewYW1WaVNOdYkaabCN+hwFxsOjtXB4oAaFSaTU1bSYOP0GHmKrcT0ZBWWLwXWJNw/eHi9sSM3I0WKy9Bbyu7fdVb92TGoz8w==; 24:RoJF0EaHKynmUfThOdS1bl6QQj9v/9UTasmk0V+ch4NilRAK+91Bkld+lamApPW1zAsthak/7RsOMbGbka8ULUH4s9bZemHcBRObhdUWswU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2247; 7:UAKG2M/ZSkRpewQir3Wt13a0LlJQchcpkQt+CgZKVjTeok2pbXzzuOjT5HvFdBFao0TZnWFqCK9CkGYlLHCCtBLDNqGflTp0UdDtDmfZCWdEdOZYmVlZtgCUC9QMWK6r1Pa91zUSFHrdeSiYAo8vaZgFYPm7eTonl3REdiRHo3abk+3j0jJQeu9g6L02HnPoZt8O7emhsVEiOPy7zECi7RlUDR702KF15iFsZ3LHXDAW2JuI7fxOAWWQwYZ7cscfzGL04+UIXldKprf9FCQYvQX9eqU69bG7o05Kg3f7Q+iA/zPRc+yIKhUYWFTgd3Yx/Q6S3YvkFeHb3mdoN+iumQoFgbQDxUJeli+mKupibbDipEJRc5YNa3nmGDBMfaYxO7n3ke1jiLrHHgL9Y9SxMufC/GlXbW8feF7mKyBw4LbMvA4tuH3DU97EHhB71IkOyBRS1zXkBfSkAlcRWVW2iQ== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2016 18:56:54.3707 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2247 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20161221_105718_657941_3DA4055C X-CRM114-Status: GOOD ( 12.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-doc@vger.kernel.org, szabolcs.nagy@arm.com, heiko.carstens@de.ibm.com, cmetcalf@ezchip.com, philipp.tomsich@theobroma-systems.com, joseph@codesourcery.com, linux-arch@vger.kernel.org, zhouchengming1@huawei.com, Prasun.Kapoor@caviumnetworks.com, agraf@suse.de, geert@linux-m68k.org, kilobyte@angband.pl, manuel.montezelo@gmail.com, arnd@arndb.de, pinskia@gmail.com, linyongting@huawei.com, klimov.linux@gmail.com, broonie@kernel.org, bamvor.zhangjian@huawei.com, Bamvor Zhang Jian , linux-arm-kernel@lists.infradead.org, maxim.kuvyrkov@linaro.org, Nathan_Lynch@mentor.com, linux-kernel@vger.kernel.org, schwidefsky@de.ibm.com, davem@davemloft.net, christoph.muellner@theobroma-systems.com Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP On Mon, Dec 05, 2016 at 03:38:01PM +0000, Catalin Marinas wrote: > On Fri, Oct 21, 2016 at 11:33:09PM +0300, Yury Norov wrote: > > binfmt_ilp32.c is needed to handle ILP32 binaries > > > > Signed-off-by: Yury Norov > > Signed-off-by: Bamvor Zhang Jian > > --- > > arch/arm64/include/asm/elf.h | 6 +++ > > arch/arm64/kernel/Makefile | 1 + > > arch/arm64/kernel/binfmt_ilp32.c | 97 ++++++++++++++++++++++++++++++++++++++++ > > 3 files changed, 104 insertions(+) > > create mode 100644 arch/arm64/kernel/binfmt_ilp32.c > > > > diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h > > index f259fe8..be29dde 100644 > > --- a/arch/arm64/include/asm/elf.h > > +++ b/arch/arm64/include/asm/elf.h > > @@ -175,10 +175,16 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm, > > > > #define COMPAT_ELF_ET_DYN_BASE (2 * TASK_SIZE_32 / 3) > > > > +#ifndef USE_AARCH64_GREG > > /* AArch32 registers. */ > > #define COMPAT_ELF_NGREG 18 > > typedef unsigned int compat_elf_greg_t; > > typedef compat_elf_greg_t compat_elf_gregset_t[COMPAT_ELF_NGREG]; > > +#else /* AArch64 registers for AARCH64/ILP32 */ > > +#define COMPAT_ELF_NGREG ELF_NGREG > > +#define compat_elf_greg_t elf_greg_t > > +#define compat_elf_gregset_t elf_gregset_t > > +#endif > > I think you only need compat_elf_gregset_t definition here and leave the > other two undefined. I checked everything here again, and found that almost all compat defines may be moved to corresponding binfmt files. If everything is OK, I'll incorporate next patch to the series Yury diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index abb75f5..76f0a5c 100644 --- a/arch/arm64/include/asm/elf.h +++ b/arch/arm64/include/asm/elf.h @@ -176,30 +176,10 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm, #define COMPAT_ELF_ET_DYN_BASE (2 * TASK_SIZE_32 / 3) -#ifndef USE_AARCH64_GREG /* AArch32 registers. */ #define COMPAT_ELF_NGREG 18 typedef unsigned int compat_elf_greg_t; typedef compat_elf_greg_t compat_elf_gregset_t[COMPAT_ELF_NGREG]; -#else /* AArch64 registers for AARCH64/ILP32 */ -#define COMPAT_ELF_NGREG ELF_NGREG -#define compat_elf_greg_t elf_greg_t -#define compat_elf_gregset_t elf_gregset_t -#endif - -/* AArch32 EABI. */ -#define EF_ARM_EABI_MASK 0xff000000 -#define compat_elf_check_arch(x) (system_supports_32bit_el0() && \ - ((x)->e_machine == EM_ARM) && \ - ((x)->e_flags & EF_ARM_EABI_MASK)) - -#define compat_start_thread compat_start_thread -#define COMPAT_ARCH_DLINFO -extern int aarch32_setup_vectors_page(struct linux_binprm *bprm, - int uses_interp); -#define compat_arch_setup_additional_pages \ - aarch32_setup_vectors_page - #endif /* CONFIG_COMPAT */ #endif /* !__ASSEMBLY__ */ diff --git a/arch/arm64/kernel/binfmt_elf32.c b/arch/arm64/kernel/binfmt_elf32.c index 99a4cf2..7c38a22 100644 --- a/arch/arm64/kernel/binfmt_elf32.c +++ b/arch/arm64/kernel/binfmt_elf32.c @@ -17,16 +17,16 @@ #define COMPAT_ELF_HWCAP (compat_elf_hwcap) #define COMPAT_ELF_HWCAP2 (compat_elf_hwcap2) -#ifdef __AARCH64EB__ -#define COMPAT_ELF_PLATFORM ("v8b") -#else -#define COMPAT_ELF_PLATFORM ("v8l") -#endif - #define compat_arch_setup_additional_pages \ aarch32_setup_vectors_page struct linux_binprm; extern int aarch32_setup_vectors_page(struct linux_binprm *bprm, int uses_interp); +/* AArch32 EABI. */ +#define compat_elf_check_arch(x) (system_supports_32bit_el0() && \ + ((x)->e_machine == EM_ARM) && \ + ((x)->e_flags & EF_ARM_EABI_MASK)) + + #include "../../../fs/compat_binfmt_elf.c" diff --git a/arch/arm64/kernel/binfmt_ilp32.c b/arch/arm64/kernel/binfmt_ilp32.c index dd62467..ec4a412 100644 --- a/arch/arm64/kernel/binfmt_ilp32.c +++ b/arch/arm64/kernel/binfmt_ilp32.c @@ -1,7 +1,9 @@ /* * Support for ILP32 Linux/aarch64 ELF binaries. */ -#define USE_AARCH64_GREG + +#undef compat_elf_gregset_t +#define compat_elf_gregset_t elf_gregset_t #include #include