-
Hirokazu Takata authored
We, Linux/M32R project members, decided to change the kernel API/ABI. This modification is not small, but if we don't change it now, perhaps we have no chance to change them hereafter. * Why change the m32r kernel API/ABI? - The m32r port has many old-style syscall interfaces, because we made m32r port refering to the other traditional archs. Some old syscalls are no longer used or can be safely removed by upgrading the GNU C library. - To make the m32r kernel more secure, it is preferable to prevent stack region from being executed. (e.g. stack overflow) * API/ABI changes - include/asm-m32r/unistd.h: Upgrade to the new kernel API. - arch/m32r/entry.S: Minimum update to the new ABI. - Don't use UID16 syscalls. - To make stack noexecutable: 1) Don't use trampoline for signal handlers for kernel space (cf. sparc64): sys_signal: remove. sys_sigaction, sys_rt_sigaction: use glibc's restorer. 2) Don't generate trampoline code by GCC in userspace: Support non-executable stack by the m32r gcc. --> done (for gcc-3.4.3/gcc-4.0) * New userland - This modification does *not* keep backward compatibility. So we have been prepared new userland, based on the new API/ABI. Already, more than 200 new Debian deb binary packages are available on the Linux/M32R site: http://debian.linux-m32r.org/dists/04_ordovician/ (for this new ABI) Signed-off-by: NIIBE Yutaka <gniibe@fsij.org> Signed-off-by: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
681569ac