Re: microblaze syscall list

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Arnd Bergmann
Date: Monday, April 28, 2008 - 5:31 am

On Monday 28 April 2008, John Williams wrote:

If this is the common case, that is a good argument for breaking the ABI
completely now. You will just require a new libc build with a new kernel.


As far as I can tell, these distrbutions typically come with both
kernel and libc source code together. It would be logical to just
require updating both here as well.


It's more than just the syscall numbers that should ideally change.
The other changes I would recommend include moving to large file
types (64 bit off_t), 32 bit UIDs, cleaned up sysV-IPC types, and a
few others. All these break the user code in the same way that changing
the instruction set does, which is the reason that we can't change
any of the existing architectures that started out in the old days.

The syscall numbers are entirely arbitrary, that's why I suggested
in my approach 3. that you introduce a new set of syscall numbers for
the new ABI, and keep compatibility with the old calls in their existing
numbers as an out-of-tree patch.

If you assume that the user recompiles the libc and the kernel together,
you can obviously change syscall numbers and data types in any way you
please, but still I'd suggest you don't change them after the kernel
gets merged upstream.

How about this strategy then:
* Change all the data types and syscall numbers in the -for-2.6.27
branch to only include the minimal set, and a modern ABI
* Add the old interfaces as an out-of-tree patch that adds source
level compatibility with the old libc, but does not modify any
of the new interfaces, so that a patched kernel can run all binaries
built for the upstream version.
* phase out the old source interface gradually, as all users update
their libc source code.

This way, early adopters suffer the pain of incompatibility twice, but
get the clean kernel port quickly.

	Arnd <><
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] Introduce __ARCH_WANT_SYS_SYSFS, Will Newton, (Tue Apr 22, 5:13 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Arnd Bergmann, (Tue Apr 22, 6:15 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Randy Dunlap, (Tue Apr 22, 8:12 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Will Newton, (Tue Apr 22, 8:16 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Kyle McMartin, (Tue Apr 22, 8:21 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Kyle McMartin, (Tue Apr 22, 8:24 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Will Newton, (Tue Apr 22, 8:34 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Arnd Bergmann, (Tue Apr 22, 8:38 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Kyle McMartin, (Tue Apr 22, 8:38 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Kyle McMartin, (Tue Apr 22, 8:42 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Will Newton, (Wed Apr 23, 7:36 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Arnd Bergmann, (Wed Apr 23, 7:59 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Kyle McMartin, (Wed Apr 23, 8:40 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Will Newton, (Wed Apr 23, 8:50 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Mike Frysinger, (Wed Apr 23, 9:05 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Mike Frysinger, (Wed Apr 23, 10:59 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Sam Ravnborg, (Wed Apr 23, 11:44 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Michal Simek, (Wed Apr 23, 2:16 pm)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Mike Frysinger, (Wed Apr 23, 2:38 pm)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Will Newton, (Thu Apr 24, 2:18 am)
microblaze syscall list, Arnd Bergmann, (Thu Apr 24, 4:11 am)
Re: [RFC] Introduce __ARCH_WANT_SYS_SYSFS, Adrian Bunk, (Thu Apr 24, 7:51 am)
Re: microblaze syscall list, Michal Simek, (Thu Apr 24, 11:42 am)
Re: microblaze syscall list, Michal Simek, (Thu Apr 24, 1:51 pm)
Re: microblaze syscall list, Arnd Bergmann, (Thu Apr 24, 2:21 pm)
Re: microblaze syscall list, Arnd Bergmann, (Thu Apr 24, 2:37 pm)
Re: [microblaze-uclinux] Re: microblaze syscall list, John Williams, (Fri Apr 25, 2:36 am)
Re: [microblaze-uclinux] Re: microblaze syscall list, Matthew Wilcox, (Fri Apr 25, 3:06 am)
Re: [microblaze-uclinux] Re: microblaze syscall list, Geert Uytterhoeven, (Fri Apr 25, 4:32 am)
Re: [microblaze-uclinux] Re: microblaze syscall list, John Williams, (Sat Apr 26, 7:04 pm)
Re: microblaze syscall list, Michal Simek, (Sun Apr 27, 8:52 am)
Re: microblaze syscall list, Alan Cox, (Sun Apr 27, 9:50 am)
Re: microblaze syscall list, Arnd Bergmann, (Sun Apr 27, 1:15 pm)
Re: microblaze syscall list, John Williams, (Sun Apr 27, 5:15 pm)
Re: microblaze syscall list, Arnd Bergmann, (Mon Apr 28, 5:31 am)
Re: microblaze syscall list, Arnd Bergmann, (Thu May 1, 12:17 pm)
Re: microblaze syscall list, John Williams, (Thu May 1, 10:38 pm)
Re: microblaze syscall list, Michal Simek, (Fri May 2, 1:18 am)
Re: microblaze syscall list, John Williams, (Fri May 2, 8:49 pm)
Re: microblaze syscall list, Arnd Bergmann, (Sat May 3, 2:16 am)
Re: microblaze syscall list, Ulrich Drepper, (Sat May 3, 8:56 am)
Re: microblaze syscall list, Arnd Bergmann, (Sat May 3, 2:14 pm)
Re: microblaze syscall list, Arnd Bergmann, (Sat May 3, 2:57 pm)
Re: microblaze syscall list, Michal Simek, (Sun May 4, 2:12 am)
Re: microblaze syscall list, Arnd Bergmann, (Sun May 4, 12:37 pm)
Re: microblaze syscall list, H. Peter Anvin, (Sun May 4, 3:09 pm)
Re: microblaze syscall list, H. Peter Anvin, (Sun May 4, 3:53 pm)
Re: microblaze syscall list, Arnd Bergmann, (Sun May 4, 3:54 pm)
Re: microblaze syscall list, John Williams, (Sun May 4, 6:09 pm)
Re: microblaze syscall list, Michal Simek, (Sun May 4, 11:18 pm)
Re: microblaze syscall list, Arnd Bergmann, (Mon May 5, 7:08 am)
Re: microblaze syscall list, Michal Simek, (Tue May 6, 1:33 am)