Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932630AbcC2UZI (ORCPT ); Tue, 29 Mar 2016 16:25:08 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:56176 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932452AbcC2UZD (ORCPT ); Tue, 29 Mar 2016 16:25:03 -0400 From: Arnd Bergmann To: Joseph Myers Cc: "Zhangjian (Bamvor)" , Yury Norov , linux-arm-kernel@lists.infradead.org, Andreas Schwab , young.liuyang@huawei.com, pinskia@gmail.com, Prasun.Kapoor@caviumnetworks.com, catalin.marinas@arm.com, broonie@kernel.org, "jijun (D)" , heiko.carstens@de.ibm.com, linux-kernel@vger.kernel.org, agraf@suse.de, klimov.linux@gmail.com, jan.dakinevich@gmail.com, gaoyongliang@huawei.com, schwidefsky@de.ibm.com, Nathan_Lynch@mentor.com, Bamvor Zhang Jian , christoph.muellner@theobroma-systems.com Subject: Re: [RFC5 PATCH v6 00/21] ILP32 for ARM64 Date: Tue, 29 Mar 2016 22:24 +0200 Message-ID: <3398301.sy99ksJOyc@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: References: <1452792198-10718-1-git-send-email-ynorov@caviumnetworks.com> <3467083.D7LuvS9l35@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:WLF5fNvjSK0RnKUEQy6EYqlcRfuxdWvibBqIsKiN4kTLJ1hF4Jj pBNaVdzBx7qB6j7VSepMgPbsdo6eDnkNPzo6gf/3G1d0q6k9M179cPF/PN2unZ8YRIOEZ60 AGJ0z6q870tbxo2jE9cb0s++RmXav26zB/X3EFfmX9MQi1QLw6vmLtH6oMXWFCcYapJzYar XX9bhqz/pSbhZ/o+vKKAA== X-UI-Out-Filterresults: notjunk:1;V01:K0:6/VrZdvlzMY=:kOfWztM5XTY7kmAP+JA6up Ta3V8w/P5j/D5YqM0O2N98GjbWKJCklXkrZfM+dE2w3zVJlWxbYKqg/nIhqxOSvQLhmyWIvRE mS1bZnreLq/o/6IdP94cgQJ3t7lQzrMq1X1q+53BnEZRMnHAP0uD5H9PZ+NlFg8xZGMlgTByz 5CzvgNdyH3Ka4CPNSozc9gnTdXO2Nxw1J7AQgHWYSmnoQs/c5VuXXUY+KVF9/35aWxESNJrSL EZmLOrakJ+4DLogI6gVZmdF0PELUlnkKMllAoASa3+2ewatjCIyWoxfZWvGcqvD10R5Aw8tQK CuXyUl0pdXAnbdeIxplNPsBtlu82yfxQBGgUPC3kqiVVhB/b+iHMTJlfQzZdkT1sYf5JVRYF0 iZ2nBbU9fUCwlKr7oCKXsf3kbLJwUYkB6H5D8/KM9HKb+c5k8CPqvUgaCdGk5CSs7gU0RorTg UOCAhblvMt0lj9FG3OmZUMQ46QfyLpa1MRnTs3+A064T7m/T+aVN5MfZfDOxGh+3H7qUuUc79 5Pry2rfySp4C/cu6ogm/EMmhHxX8x9JA3i8BuYpfs0BT/dUHfy0F5A19YVcvfWKZSvFxtcLO0 LJ0yxwF2eQVZ08748BKZ6/lmq5ecPEWum8nEDr6pUbZDhQ+yhfl3aT1eLkMlpf+92Y/xEKLZJ n6s9uXK7qPWWvXEIclJkGtDH1a/VXwzYuk35m9pPssVJaF1HcZgOoB+1FNcJhOomUFxDJZLLw lTjUKrL2VPAffpzd Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1654 Lines: 36 On Tuesday 29 March 2016 20:15:10 Joseph Myers wrote: > On Tue, 29 Mar 2016, Arnd Bergmann wrote: > > > How do we do it then? Should we just define __USE_FILE_OFFSET64 > > unconditionally for all new 32-bit architectures and leave the > > code dealing with 32-bit off_t/ino_t in place but unreachable, to > > minimize the differences? > > Defining __USE_FILE_OFFSET64 unconditionally would prevent glibc from > building (see: how the patches a while back prototyping changing the > default had to disable the change when glibc itself is built). A change > in the default, though desired (someone needs to pick up those patches > together with the analysis done of possible impact on distributions), > should not be tied to a new port, and would need to be discussed > thoroughly on libc-alpha. Ok > > Or should all the obsolete types be defined the same way as their > > replacements so we have 64-bit __OFF_T_TYPE/__INO_T_TYPE > > and use the same binary implementation regardless of FILE_OFFSET_BITS? > > I think so (along with using wordsize-64 sysdeps directories as far as > possible, like x32 does). But design questions for a glibc port really > belong on libc-alpha to get any sort of community consensus. I thought the wordsize-64 stuff was for the x86 mode where they define __kernel_long_t as 64-bit. We don't really want to do that in the kernel for new 32-bit architectures, that would make the kernel ABI different from all the existing architectures. The kernel ABI for ilp32 follows the usual wordsize-32 definitions to make it easy for glibc while avoiding the problems that came from redefining __kernel_long_t. Arnd