From: Arnd Bergmann <arnd@arndb.de>
To: monstr@monstr.eu
Cc: microblaze-uclinux@itee.uq.edu.au,
John Williams <john.williams@petalogix.com>,
LKML <linux-kernel@vger.kernel.org>,
Remis Lima Baima <remis.developer@googlemail.com>,
John Linn <John.Linn@xilinx.com>
Subject: Re: [microblaze-uclinux] [PATCH 03/11] microblaze: fall back on generic header files for the ABI
Date: Fri, 3 Jul 2009 19:16:26 +0200 [thread overview]
Message-ID: <200907031916.26214.arnd@arndb.de> (raw)
In-Reply-To: <4A4D9D41.5090006@monstr.eu>
On Friday 03 July 2009, Michal Simek wrote:
>
> > Initially I had hoped that we could do the change before 2.6.30 and
> > I worked hard on getting the ABI patches to you early enough for
> > that. After that failed, I made sure that you had everything in
> > place for 2.6.31 and I believed that Michal said he would integrate
> > that in the microblaze-mmu merge, before you actually start seeing
> > users on the mainline kernel.
>
> we are talking about minor change - I know it break ABI a little bit
> but don't be scared with it.
The data structures are all compatible by now, with this one exception.
__kernel_mode_t is easy enough to fix in the generic headers if it
really helps.
My frustration is only about the system call list, which has
not been fixed, and which will cause a significant ABI break
once you change it. If you are lucky, most applications will still
work after you install a matching libc, but you still get a
cross-dependency between libc and the kernel.
This means you may not want to really use the generic syscall numbers,
but at least you should make sure that your table is consistent.
FWIW, below you find a list of inconsistencies.
Arnd <><
System calls that have a number but are missing an entry in your sys_call_table:
sys_preadv
sys_pwritev
sys_pselect6
sys_ppoll
sys_sigaltstack
sys_migrate_pages /* not needed */
sys_futimesat /* not needed */
System call numbers you might need for binary compatiblily and
should have removed earlier:
__NR_waitpid
__NR_stime
__NR_nice
__NR_oldstat
__NR_oldfstat
__NR_oldlstat
__NR_sigaction
__NR_sgetmask
__NR_ssetmask
__NR_sigsuspend
__NR_sigpending
__NR_socketcall
__NR_readdir
__NR_sigreturn
__NR_sigprocmask
__NR_ipc
__NR_sysfs
Numbers that you really really should simply not #define, with no
chance of breaking anything:
__NR_break
__NR_stty
__NR_gtty
__NR_ftime
__NR_prof
__NR_lock
__NR_mpx
__NR_ulimit
__NR_oldolduname
__NR_profil
__NR_ioperm
__NR_olduname
__NR_iopl
__NR_idle
__NR_vm86old
__NR_modify_ldt
__NR_create_module
__NR_get_kernel_syms
__NR_afs_syscall
__NR__newselect
__NR_vm86
__NR_query_module
__NR_getpmsg
__NR_putpmsg
__NR_ugetrlimit
__NR_set_thread_area
__NR_get_thread_area
__NR_vserver
__NR_accept04 /* typo? */
Duplicate system call numbers:
__NR_lchown32
__NR_getuid32
__NR_getgid32
__NR_geteuid32
__NR_getegid32
__NR_setreuid32
__NR_setregid32
__NR_getgroups32
__NR_setgroups32
__NR_fchown32
__NR_setresuid32
__NR_getresuid32
__NR_setresgid32
__NR_getresgid32
__NR_chown32
__NR_setuid32
__NR_setgid32
__NR_setfsuid32
__NR_setfsgid32
Arnd <><
next prev parent reply other threads:[~2009-07-03 17:16 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-18 17:55 [PATCH 00/11] microblaze: use generic headers Arnd Bergmann
2009-06-18 17:55 ` [PATCH 01/11] ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h Arnd Bergmann
2009-06-18 17:55 ` [PATCH 02/11] microblaze: remove init_mm Arnd Bergmann
2009-06-18 17:55 ` [PATCH 03/11] microblaze: fall back on generic header files for the ABI Arnd Bergmann
2009-07-01 11:34 ` [microblaze-uclinux] " Michal Simek
2009-07-01 11:42 ` Arnd Bergmann
2009-07-01 12:09 ` Michal Simek
2009-07-01 13:41 ` Arnd Bergmann
2009-07-01 22:52 ` John Williams
2009-07-02 9:36 ` Arnd Bergmann
2009-07-03 5:55 ` Michal Simek
2009-07-03 17:16 ` Arnd Bergmann [this message]
2009-06-18 17:55 ` [PATCH 04/11] microblaze: use generic unistd.h syscall list Arnd Bergmann
2009-06-18 17:55 ` [PATCH 05/11] microblaze: clean up signal handling Arnd Bergmann
2009-06-18 17:55 ` [PATCH 06/11] microblaze: use generic syscalls.h Arnd Bergmann
2009-06-18 17:55 ` [PATCH 07/11] microblaze: make syscall_table implementation generic Arnd Bergmann
2009-06-18 17:55 ` [PATCH 08/11] microblaze: use the generic lib/checksum.c Arnd Bergmann
2009-07-01 11:35 ` [microblaze-uclinux] " Michal Simek
2009-06-18 17:55 ` [PATCH 09/11] microblaze: convert all simple headers to use asm-generic Arnd Bergmann
2009-07-01 11:35 ` [microblaze-uclinux] " Michal Simek
2009-06-18 17:55 ` [PATCH 10/11] microblaze: use generic system.h Arnd Bergmann
2009-07-01 11:19 ` [microblaze-uclinux] " Michal Simek
2009-07-01 11:39 ` Arnd Bergmann
2009-07-01 11:51 ` Michal Simek
2009-06-18 17:55 ` [PATCH 11/11] microblaze: remove sys_ipc Arnd Bergmann
2009-06-18 22:31 ` [PATCH 01/11] ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h Arnd Bergmann
2009-06-20 1:09 ` [patch] ipc: unbreak 32-bit shmctl/semctl/msgctl Johannes Weiner
2009-06-20 8:20 ` Arnd Bergmann
2009-06-21 19:01 ` Johannes Weiner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200907031916.26214.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=John.Linn@xilinx.com \
--cc=john.williams@petalogix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=microblaze-uclinux@itee.uq.edu.au \
--cc=monstr@monstr.eu \
--cc=remis.developer@googlemail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.