From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932322AbcEYQlm (ORCPT ); Wed, 25 May 2016 12:41:42 -0400 Received: from mail-by2on0092.outbound.protection.outlook.com ([207.46.100.92]:49948 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932167AbcEYQlj (ORCPT ); Wed, 25 May 2016 12:41:39 -0400 Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=caviumnetworks.com; Date: Wed, 25 May 2016 19:41:32 +0300 From: Yury Norov To: Szabolcs Nagy CC: , , , , , , , , , , , , , , , , , , , , , , Subject: Re: [PATCH v6 00/21] ILP32 for ARM64 Message-ID: <20160525164132.GB4595@yury-N73SV> References: <1464048292-30136-1-git-send-email-ynorov@caviumnetworks.com> <5745817C.1070406@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <5745817C.1070406@arm.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [50.254.132.37] X-ClientProxiedBy: SN1PR10CA0068.namprd10.prod.outlook.com (10.164.10.164) To CY1PR07MB2232.namprd07.prod.outlook.com (10.164.112.146) X-MS-Office365-Filtering-Correlation-Id: c3ba7736-280f-4640-1f7b-08d384bb6ff5 X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2232;2:DKUQ/2Ml2gU6bZyt8+38/ieVGyB55HBzgSS4ApdAyGLq5xfICInrkjfH47+p2pRS0wtRF0P9yRPlOr1LFW1X3kNSsd6CyylpAnEJroIj/iH90QMeKWR7FnU4g83mQs86GaSOdQXFrS0sFEUn+pMsc1whGnk+RQzIQ3JkQTpZmZonYZZ2GCwsTQttPF2sR6Mx;3:NT3ZA6y6Y9PvadyZ5+vMgtrjCLOkARc3E4KR4WhwTR7uaOj0aGl0zCARIknkPcOHtA/yz2pvrS5sBpqxvWdQZOg6KW3Xp6JmMsKu9Q8BK9v+7PomHV5Zesi7H0LVnuKj;25:nPji/mc5HrQR0k+CtTQ0jC+YrFY2WaY2A+rbuU4lpOsO+CtnA7QX5CORT2uBkCJAByyh/MBuaiabR7cBql2Q0vzdrdjzC3Ai90bVqivUp+63+7mkVpJa1025FEDK2swi7HXOud+zKKTcwdCP8ttejHd1pEbgVa6hzwdGJBegVVpILTJepoSPHp0vBhosxpEbu46gyp0xrNKpyECfFhPN5j6P831Qohno+VdNkiEeQGrBfiI4QAJa6/KjYAbKoyR3/vctZh+j7EPHD9PdjF5+WST3I5F7AccxqfYTivfeNvRUDPosoTtb0r7A8dxUECM0VnGJMVB9Co/d/ERTYefT2OImFvrZTO0a4EHPvpHld1AXDheCX3tg+wZuFea3IIYqun84utkT05mOKijY6eLfy5KgKIFsQT4uyQujTrNfaj4= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2232; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2232;20:hIsJgIaZO39cYoPWXOPYaLxtxi2f2fMmd+YXHmh9WMJDBJmrMY3VZlOgVG3NTnpZCMbv7i9r8dm7glbnK7qo6bhv9YyR4Qc8ocRpb8yLG3g+OrsFTecLQVDHRcLDDZ+ew+EvTOQsfIer0s8TFxK4hJGIopbUN3ZsbfJCpzxE0ZTaARN5e2tvVroZieU2BDxckXGmxG850hokkLhxaeL5C3F+/boKyWeeS+iKbaaaqtEVmQOTKLtG5QWUjvGQutgfsi1qy4qUz0FkPovakTdl0jzPN7gL+xf5M1MpH42jkNgZB/Z9mYA7wsQbj/pAs1+EjOThYhV+8/P5aZyj3GdVJUBTTnKLgtwUlpJdO3S6guBzAVUVPQuXUyStqwv01EEBTY2KnV3CKyBW7HkyEX9yxhS0d03N2ZrBAdoeMX6Dp9UhOB4cHdiDzxsdKtuniI2bzW0DN7YYhhk7t/eaKuzH3kRbLuCey3rbzaM9Dk8vaUHTbFMyotnZhVvRSs0k8FffgD7ylNYJtGYpmeINJmQpCqCsbC/Q4WBKX+AhERQcXd9MJ3OfWoe69jbTpAvR6fKh8g7qJqm1xcRI3HWhXJAk7aCNUmf8LUCRqyC02v63kHo= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001);SRVR:CY1PR07MB2232;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2232; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2232;4:9CVTmcTt7iyubJ9mwNL6cHhdg0MvYvg/Zesbpi2JBZ6b56bwUxyjYLh51sMVlKyv7vojnbT+Q/YDF9gPdgV2AsUlC+ZpdEmxU4hjFHH81F6g/9zHvFTV5HJ0ENZFOLaBNijpCaAno0Q9UVaC32TBSwI+Y9GNK1xbigTCxIQw8on2OSBBxw43LQNMWXy/kw2C8cg5Tte9VwbVHxVT9aoh0LWk+DoLSmuGzyyxONYSI/pr26ksTJWo+Vy+x37LYHfQKCoNnwoUhILPKNumtrPZ6TjNHSQgVwufmc1UJgmRvJujnC76NpDjaqYa9ijP6Dps99QTXbG6T3x/cj3c4/wrim5NnHmbHtiEiPXoB0JyMVjJ0pZ8fh8xNlF1lHk8F/jQ X-Forefront-PRVS: 09538D3531 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6009001)(24454002)(50466002)(33716001)(46406003)(5004730100002)(6116002)(189998001)(42186005)(2906002)(1076002)(586003)(4326007)(97756001)(15975445007)(19580395003)(77096005)(3846002)(66066001)(2950100001)(54356999)(47776003)(5008740100001)(76176999)(33656002)(50986999)(8676002)(92566002)(83506001)(23726003)(110136002)(81166006)(76506005)(9686002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR07MB2232;H:localhost;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR07MB2232;23:7EIwiAMiwRXHKUK1q3ccQkRJQ7duZq7cUZJhsjrFI?= =?us-ascii?Q?f7Q59LBBPJ6utQFPpo1h3jJDhWi6qm2DUscka7fbZPf51fTjaPZr9f+jLIyz?= =?us-ascii?Q?nMItV34IvKNiWflHy+tfrq+Gd5a5hJNq4h/M2obJmcbnr2NmusYIC1duglDQ?= =?us-ascii?Q?IjztanBVLHWMy8cvBzqFIvOmneZPThwJ+jYdV6Q5wM4hEDxHD8RJ+fpi+Yft?= =?us-ascii?Q?sf3QH9D8BNgzSscOcftWEDOU/eEXOBrLhtuJ2u56Iw1m+N9eiNSq9D0+ULl6?= =?us-ascii?Q?ZQrUtfNhtfMrVFWMfKp870uGK6RpCcCmx/ieHGkPHamUtl37R2tYNuG0uT5O?= =?us-ascii?Q?w/i2XlP+B7HVTIgKy2xDLbTdP3BO2PJMz4idaDYNzN7tfTDiNEZX55eC3tXh?= =?us-ascii?Q?YfDNV6U9CD1k7rG5FW/2tFqVqEQS976tg1udDyBwl1yAUJ1Pj8nzd7GT3GAT?= =?us-ascii?Q?A+pDpvox3VVUzMpF8inJw6MPUXwlz4bY6LVTY/iAH1U1iZozxrNQUjrA9IS/?= =?us-ascii?Q?Qn9zRcfZ+y93NCZNQLKZG0d2Mkw8lWtiCMojLFlRg1M6ktZNtiDEPpjjbbP4?= =?us-ascii?Q?bwSEFFE7jVndBPsLEpeHvpsjvrthtsBGp8PHUX06Yb5TXYv1BTdnvVhpr5yg?= =?us-ascii?Q?ODhtbK4qiihMTNFM2OwNeD+sJGBjzjBv0z7XN5cMJIkUIoV3nbsNSrwkJs/i?= =?us-ascii?Q?FIMqGO3uzYjXe5iBtoTgFsvNS6nHVFVyGC4JIQCTv2OaYt78l0QZUXi5eri5?= =?us-ascii?Q?BWZiUNhhLOzgEnU3lq0vhJGZn1otL1McPf1xZnQqda8ZghpIE5SqMuiJFtjR?= =?us-ascii?Q?TUS1XsZKaoyaneYN9hu3snoillqFXKvl5SPmj91UvbqSN1TcT8rjTHPa2CmN?= =?us-ascii?Q?0zVMIflB/v007xgtZchBM3mJaj+F9pSIaQ32haaFFT/RcgQpTeQ3UpX1CePP?= =?us-ascii?Q?K2x4/rhjAcKw2A5KfSoTWI4GZ4sMWnZEsbMwlTVeg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2232;5:TK2752Ys8cDpgNtT4JVxWKXMtbdxe1SvbrNE/TMby+z8J93T8fIOh5AHBsHQj65F/ygJVlenDHm0+4kJNiZLc8GRisgv73zsDfmZeiHoL8kspgF90a+FlTURGvXkSwIeL0LVUmMW5dgKTRY7D3ARgw==;24:FjLS/RimtgqLys4Mp5p+aVeMiU5fXDw4TWtlaCSSH6tCbvG5yeDnJR0J/0616MwuBPCZTx0T8MTk6jHltCGRhbFPoYE3EI5Xzb0lffAPuoU=;7:VGdnUav1mayvJ6VLJyin8YNqI9yKvN/et2kxxeMcSXlUSrZXLyg4GiNYQmALkrfnKfRjltqvHFfYi2zoe/a6tfjBZ1TR6RPFQ2hk28qjMvTloe2Tu6MY0Qo4Na4qVbTYGpkXFTKczIppIr5l6psXi/+8jKiLMiM16DzyhUMK67bOnoeiZWvyhYrFRIsiZCOw SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 May 2016 16:41:35.7082 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2232 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 25, 2016 at 11:42:04AM +0100, Szabolcs Nagy wrote: > On 24/05/16 01:04, Yury Norov wrote: > > This version is based on kernel v4.6. > > It works with glibc-2.23, and tested with LTP. > > > ... > > ILP32 glibc branch is available here: > > https://github.com/norov/glibc/tree/ilp32-2.23 > > > > It is tested with this series with no major downsides. I will send it to > > glibc-alpha soon, after final revise. Please review and comment it as well. > > i spotted one __ilp32__ vs __ILP32__ typo in the glibc code, Yes, I also found it. Thank you. > i can review it in detail when there is a cleaned up patch set. > > in general the approach seems ok, the ugly part is when lp64 > and ilp32 share code, but ilp32 needs some tweaks compared to > the current code (e.g. x vs w regs in asm, long changed to > long long in syscalls, different relocations etc) those will > be hard to review. the naming is sometimes _be_ilp32 sometimes > ilp32_be, but let's hope there will be no new abi variant to > confuse this further. I think I shared the link too soon, and patches should be revised again. So I continue the work on it. If you curious, find it here. https://github.com/norov/glibc/tree/ilp32-dev (I don't promise I'll keep it stable, or will avoid using things like fast-forward. It's just a branch for my experiments.) For now, it has fixed: - __ilp32__ mess (by introducing DELOUSE() macro); - few unneeded patches dropped; - 32-bit off_t turned to 64-bit. With all changes, LPT fail list grows: peio_3 FAIL 5 pipeio_6 FAIL 1 abort01 FAIL 2 clone02 FAIL 4 fcntl11 FAIL 1 fcntl14 FAIL 1 fcntl17 FAIL 1 fcntl19 FAIL 1 fcntl20 FAIL 1 fcntl21 FAIL 1 fpathconf01 FAIL 1 ftruncate04 FAIL 1 kill11 FAIL 2 mmap16 FAIL 6 open12 FAIL 2 pread01 FAIL 2 pread02 FAIL 2 pread03 FAIL 2 preadv01 FAIL 6 preadv02 FAIL 6 pwrite01 FAIL 2 pwrite02 FAIL 2 pwrite04 FAIL 6 pwrite02_64 FAIL 1 pwritev01 FAIL 2 pwritev02 FAIL 2 rename11 FAIL 2 rmdir02 FAIL 2 umount2_01 FAIL 2 umount2_02 FAIL 2 umount2_03 FAIL 2 utime06 FAIL 2 mtest01 FAIL 1 mtest01w FAIL 1 mtest06 FAIL 11 gf01 FAIL 1 gf02 FAIL 1 gf07 FAIL 1 gf10 FAIL 1 gf11 FAIL 1 gf15 FAIL 1 gf18 FAIL 1 gf19 FAIL 1 Yury From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yury Norov Subject: Re: [PATCH v6 00/21] ILP32 for ARM64 Date: Wed, 25 May 2016 19:41:32 +0300 Message-ID: <20160525164132.GB4595@yury-N73SV> References: <1464048292-30136-1-git-send-email-ynorov@caviumnetworks.com> <5745817C.1070406@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Return-path: Content-Disposition: inline In-Reply-To: <5745817C.1070406@arm.com> Sender: linux-doc-owner@vger.kernel.org List-Archive: List-Post: To: Szabolcs Nagy Cc: arnd@arndb.de, catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-arch@vger.kernel.org, linux-s390@vger.kernel.org, libc-alpha@sourceware.org, nd@arm.com, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com, pinskia@gmail.com, broonie@kernel.org, joseph@codesourcery.com, christoph.muellner@theobroma-systems.com, bamvor.zhangjian@huawei.com, klimov.linux@gmail.com, Nathan_Lynch@mentor.com, agraf@suse.de, Prasun.Kapoor@caviumnetworks.com, kilobyte@angband.pl, geert@linux-m68k.org, philipp.tomsich@theobroma-systems.com List-ID: On Wed, May 25, 2016 at 11:42:04AM +0100, Szabolcs Nagy wrote: > On 24/05/16 01:04, Yury Norov wrote: > > This version is based on kernel v4.6. > > It works with glibc-2.23, and tested with LTP. > > > ... > > ILP32 glibc branch is available here: > > https://github.com/norov/glibc/tree/ilp32-2.23 > > > > It is tested with this series with no major downsides. I will send it to > > glibc-alpha soon, after final revise. Please review and comment it as well. > > i spotted one __ilp32__ vs __ILP32__ typo in the glibc code, Yes, I also found it. Thank you. > i can review it in detail when there is a cleaned up patch set. > > in general the approach seems ok, the ugly part is when lp64 > and ilp32 share code, but ilp32 needs some tweaks compared to > the current code (e.g. x vs w regs in asm, long changed to > long long in syscalls, different relocations etc) those will > be hard to review. the naming is sometimes _be_ilp32 sometimes > ilp32_be, but let's hope there will be no new abi variant to > confuse this further. I think I shared the link too soon, and patches should be revised again. So I continue the work on it. If you curious, find it here. https://github.com/norov/glibc/tree/ilp32-dev (I don't promise I'll keep it stable, or will avoid using things like fast-forward. It's just a branch for my experiments.) For now, it has fixed: - __ilp32__ mess (by introducing DELOUSE() macro); - few unneeded patches dropped; - 32-bit off_t turned to 64-bit. With all changes, LPT fail list grows: peio_3 FAIL 5 pipeio_6 FAIL 1 abort01 FAIL 2 clone02 FAIL 4 fcntl11 FAIL 1 fcntl14 FAIL 1 fcntl17 FAIL 1 fcntl19 FAIL 1 fcntl20 FAIL 1 fcntl21 FAIL 1 fpathconf01 FAIL 1 ftruncate04 FAIL 1 kill11 FAIL 2 mmap16 FAIL 6 open12 FAIL 2 pread01 FAIL 2 pread02 FAIL 2 pread03 FAIL 2 preadv01 FAIL 6 preadv02 FAIL 6 pwrite01 FAIL 2 pwrite02 FAIL 2 pwrite04 FAIL 6 pwrite02_64 FAIL 1 pwritev01 FAIL 2 pwritev02 FAIL 2 rename11 FAIL 2 rmdir02 FAIL 2 umount2_01 FAIL 2 umount2_02 FAIL 2 umount2_03 FAIL 2 utime06 FAIL 2 mtest01 FAIL 1 mtest01w FAIL 1 mtest06 FAIL 11 gf01 FAIL 1 gf02 FAIL 1 gf07 FAIL 1 gf10 FAIL 1 gf11 FAIL 1 gf15 FAIL 1 gf18 FAIL 1 gf19 FAIL 1 Yury From mboxrd@z Thu Jan 1 00:00:00 1970 From: ynorov@caviumnetworks.com (Yury Norov) Date: Wed, 25 May 2016 19:41:32 +0300 Subject: [PATCH v6 00/21] ILP32 for ARM64 In-Reply-To: <5745817C.1070406@arm.com> References: <1464048292-30136-1-git-send-email-ynorov@caviumnetworks.com> <5745817C.1070406@arm.com> Message-ID: <20160525164132.GB4595@yury-N73SV> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, May 25, 2016 at 11:42:04AM +0100, Szabolcs Nagy wrote: > On 24/05/16 01:04, Yury Norov wrote: > > This version is based on kernel v4.6. > > It works with glibc-2.23, and tested with LTP. > > > ... > > ILP32 glibc branch is available here: > > https://github.com/norov/glibc/tree/ilp32-2.23 > > > > It is tested with this series with no major downsides. I will send it to > > glibc-alpha soon, after final revise. Please review and comment it as well. > > i spotted one __ilp32__ vs __ILP32__ typo in the glibc code, Yes, I also found it. Thank you. > i can review it in detail when there is a cleaned up patch set. > > in general the approach seems ok, the ugly part is when lp64 > and ilp32 share code, but ilp32 needs some tweaks compared to > the current code (e.g. x vs w regs in asm, long changed to > long long in syscalls, different relocations etc) those will > be hard to review. the naming is sometimes _be_ilp32 sometimes > ilp32_be, but let's hope there will be no new abi variant to > confuse this further. I think I shared the link too soon, and patches should be revised again. So I continue the work on it. If you curious, find it here. https://github.com/norov/glibc/tree/ilp32-dev (I don't promise I'll keep it stable, or will avoid using things like fast-forward. It's just a branch for my experiments.) For now, it has fixed: - __ilp32__ mess (by introducing DELOUSE() macro); - few unneeded patches dropped; - 32-bit off_t turned to 64-bit. With all changes, LPT fail list grows: peio_3 FAIL 5 pipeio_6 FAIL 1 abort01 FAIL 2 clone02 FAIL 4 fcntl11 FAIL 1 fcntl14 FAIL 1 fcntl17 FAIL 1 fcntl19 FAIL 1 fcntl20 FAIL 1 fcntl21 FAIL 1 fpathconf01 FAIL 1 ftruncate04 FAIL 1 kill11 FAIL 2 mmap16 FAIL 6 open12 FAIL 2 pread01 FAIL 2 pread02 FAIL 2 pread03 FAIL 2 preadv01 FAIL 6 preadv02 FAIL 6 pwrite01 FAIL 2 pwrite02 FAIL 2 pwrite04 FAIL 6 pwrite02_64 FAIL 1 pwritev01 FAIL 2 pwritev02 FAIL 2 rename11 FAIL 2 rmdir02 FAIL 2 umount2_01 FAIL 2 umount2_02 FAIL 2 umount2_03 FAIL 2 utime06 FAIL 2 mtest01 FAIL 1 mtest01w FAIL 1 mtest06 FAIL 11 gf01 FAIL 1 gf02 FAIL 1 gf07 FAIL 1 gf10 FAIL 1 gf11 FAIL 1 gf15 FAIL 1 gf18 FAIL 1 gf19 FAIL 1 Yury