diff --git a/debian/changelog b/debian/changelog index 25d2df39f..cca77e25e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,7 +17,10 @@ linux-2.6 (2.6.15+2.6.16-rc3-0experimental.1) UNRELEASED; urgency=low was only partially applied upstream, so the problem (garbled screen output on SunBlade 100) is still present. Thanks to Luis Ortiz for pointing it out. - + + [ Martin Michlmayr ] + * [sparc] Add sys_newfstatat -> sys_fstatat64 fix from git. + -- Bastian Blank Mon, 13 Feb 2006 20:19:46 +0000 linux-2.6 (2.6.15-7) UNRELEASED; urgency=low diff --git a/debian/patches/series/0experimental.1 b/debian/patches/series/0experimental.1 index 6d5798ead..cd47198cc 100644 --- a/debian/patches/series/0experimental.1 +++ b/debian/patches/series/0experimental.1 @@ -15,3 +15,4 @@ #FIXME + powerpc-apus.patch + sparc64-hme-lockup.patch + sparc64-atyfb-xl-gr.patch ++ sparc-sys_fstatat64.patch diff --git a/debian/patches/sparc-sys_fstatat64.patch b/debian/patches/sparc-sys_fstatat64.patch new file mode 100644 index 000000000..8a8f39b0a --- /dev/null +++ b/debian/patches/sparc-sys_fstatat64.patch @@ -0,0 +1,99 @@ +## DP: Fix sparc compile (sys_newfstatat --> sys_fstatat64) +## DP: Patch author: David S. Miller +## DP: Upstream status: In Linus' git, commited right after 2.6.15-rc3 + + +From: David S. Miller +Date: Mon, 13 Feb 2006 07:30:11 +0000 (-0800) +Subject: [SPARC]: sys_newfstatat --> sys_fstatat64 +X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=40ad7a6afc53217ad95b5ae2221e42d7655e057b + +[SPARC]: sys_newfstatat --> sys_fstatat64 + +Signed-off-by: David S. Miller +--- + +--- a/arch/sparc/kernel/systbls.S ++++ b/arch/sparc/kernel/systbls.S +@@ -76,7 +76,7 @@ sys_call_table: + /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink + /*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid + /*280*/ .long sys_ni_syscall, sys_add_key, sys_request_key, sys_keyctl, sys_openat +-/*285*/ .long sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat ++/*285*/ .long sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64 + /*290*/ .long sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat + /*295*/ .long sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare + +--- a/arch/sparc64/kernel/sys_sparc32.c ++++ b/arch/sparc64/kernel/sys_sparc32.c +@@ -428,6 +428,27 @@ asmlinkage long compat_sys_fstat64(unsig + return error; + } + ++asmlinkage long compat_sys_fstatat64(unsigned int dfd, char __user *filename, ++ struct compat_stat64 __user * statbuf, int flag) ++{ ++ struct kstat stat; ++ int error = -EINVAL; ++ ++ if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0) ++ goto out; ++ ++ if (flag & AT_SYMLINK_NOFOLLOW) ++ error = vfs_lstat_fd(dfd, filename, &stat); ++ else ++ error = vfs_stat_fd(dfd, filename, &stat); ++ ++ if (!error) ++ error = cp_compat_stat64(&stat, statbuf); ++ ++out: ++ return error; ++} ++ + asmlinkage long compat_sys_sysfs(int option, u32 arg1, u32 arg2) + { + return sys_sysfs(option, arg1, arg2); +--- a/arch/sparc64/kernel/systbls.S ++++ b/arch/sparc64/kernel/systbls.S +@@ -77,7 +77,7 @@ sys_call_table32: + /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink + .word compat_sys_mq_timedsend, compat_sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid + /*280*/ .word sys_ni_syscall, sys_add_key, sys_request_key, sys_keyctl, compat_sys_openat +- .word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_newfstatat ++ .word sys_mkdirat, sys_mknodat, sys_fchownat, compat_sys_futimesat, compat_sys_fstatat64 + /*285*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat + .word sys_fchmodat, sys_faccessat, compat_sys_pselect6, compat_sys_ppoll, sys_unshare + +@@ -146,7 +146,7 @@ sys_call_table: + /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink + .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid + /*280*/ .word sys_nis_syscall, sys_add_key, sys_request_key, sys_keyctl, sys_openat +- .word sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat ++ .word sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_fstatat64 + /*285*/ .word sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat + .word sys_fchmodat, sys_faccessat, sys_pselect6, sys_ppoll, sys_unshare + +--- a/include/asm-sparc/unistd.h ++++ b/include/asm-sparc/unistd.h +@@ -305,7 +305,7 @@ + #define __NR_mknodat 286 + #define __NR_fchownat 287 + #define __NR_futimesat 288 +-#define __NR_newfstatat 289 ++#define __NR_fstatat64 289 + #define __NR_unlinkat 290 + #define __NR_renameat 291 + #define __NR_linkat 292 +--- a/include/asm-sparc64/unistd.h ++++ b/include/asm-sparc64/unistd.h +@@ -307,7 +307,7 @@ + #define __NR_mknodat 286 + #define __NR_fchownat 287 + #define __NR_futimesat 288 +-#define __NR_newfstatat 289 ++#define __NR_fstatat64 289 + #define __NR_unlinkat 290 + #define __NR_renameat 291 + #define __NR_linkat 292 +