linux-stable/arch/um
blaisorblade@yahoo.it 17440e8060 [PATCH] uml: quick fix syscall table
I'm resending this for inclusion in the -stable tree. I've deleted whitespace
cleanups, and hope this can be merged. I've been asked to split the former
patch, I don't know if I must split again this one, even because I don't want
to split this correct patch into multiple non-correct ones by mistake.

Uml 2.6.11 does not compile with gcc 2.95.4 because some entries are
duplicated, and that GCC does not accept this (unlike gcc 3). Plus various
other bugs in the syscall table definitions, resulting in probable wrong
syscall entries:

  *) 223 is a syscall hole (i.e. ni_syscall) only on i386, on x86_64 it's a
  valid syscall (thus a duplicated one).

  *) __NR_vserver must be only once with sys_ni_syscall, and not multiple
  times with different values!

  *) syscalls duplicated in SUBARCHs and in common files (thus assigning twice
  to the same array entry and causing the GCC 2.95.4 failure mentioned above):
  sys_utimes, which is common, and sys_fadvise64_64, sys_statfs64,
  sys_fstatfs64, which exist only on i386.

  *) syscalls duplicated in each SUBARCH, to put in common files:
  sys_remap_file_pages, sys_utimes, sys_fadvise64

  *) 285 is a syscall hole (i.e. ni_syscall) only on i386, on x86_64 the range
  does not arrive to that point.

  *) on x86_64, the macro name is __NR_kexec_load and not __NR_sys_kexec_load.
  Use the correct name in either case.

Note: as you can see, part of the syscall table definition in UML is
arch-independent (with everywhere defined syscalls), and part is
arch-dependant. This has created confusion (some syscalls are listed in both
places, some in the wrong one, some are wrong on one arch or another).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-12 10:00:22 -07:00
..
drivers 2.6.11 import 2005-05-12 09:59:06 -07:00
include [PATCH] uml: quick fix syscall table 2005-05-12 10:00:22 -07:00
kernel [PATCH] uml: quick fix syscall table 2005-05-12 10:00:22 -07:00
os-Linux 2.6.11 import 2005-05-12 09:59:06 -07:00
sys-i386 2.6.11 import 2005-05-12 09:59:06 -07:00
sys-ia64 2.6.11 import 2005-05-12 09:59:06 -07:00
sys-ppc 2.6.11 import 2005-05-12 09:59:06 -07:00
sys-x86_64 2.6.11 import 2005-05-12 09:59:06 -07:00
util 2.6.11 import 2005-05-12 09:59:06 -07:00
Kconfig 2.6.11 import 2005-05-12 09:59:06 -07:00
Kconfig.debug 2.6.11 import 2005-05-12 09:59:06 -07:00
Kconfig_char 2.6.11 import 2005-05-12 09:59:06 -07:00
Kconfig_i386 2.6.11 import 2005-05-12 09:59:06 -07:00
Kconfig_net 2.6.11 import 2005-05-12 09:59:06 -07:00
Kconfig_scsi 2.6.11 import 2005-05-12 09:59:06 -07:00
Kconfig_x86_64 2.6.11 import 2005-05-12 09:59:06 -07:00
Makefile 2.6.11 import 2005-05-12 09:59:06 -07:00
Makefile-i386 2.6.11 import 2005-05-12 09:59:06 -07:00
Makefile-ia64 2.6.11 import 2005-05-12 09:59:06 -07:00
Makefile-os-Linux 2.6.11 import 2005-05-12 09:59:06 -07:00
Makefile-ppc 2.6.11 import 2005-05-12 09:59:06 -07:00
Makefile-skas 2.6.11 import 2005-05-12 09:59:06 -07:00
Makefile-tt 2.6.11 import 2005-05-12 09:59:06 -07:00
Makefile-x86_64 2.6.11 import 2005-05-12 09:59:06 -07:00
config.release 2.6.11 import 2005-05-12 09:59:06 -07:00
defconfig 2.6.11 import 2005-05-12 09:59:06 -07:00