]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-linux-gpl-only-tests-20060813
authorDerrick Brashear <shadow@dementia.org>
Mon, 14 Aug 2006 23:13:58 +0000 (23:13 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 14 Aug 2006 23:13:58 +0000 (23:13 +0000)
don't try to use gpl-only kernel symbols

(cherry picked from commit 3017c8dc541afbaed68f9399c348bbdfa7529f9b)

acinclude.m4
src/afs/LINUX/osi_probe.c
src/cf/linux-test1.m4

index 116224613f58d3da0f58539aaf822c73b2bee16f..ec94aeaecbbb167f24f36d2ead70afc759cc0c03 100644 (file)
@@ -604,6 +604,10 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 LINUX_REFRIGERATOR
                 LINUX_LINUX_KEYRING_SUPPORT
                 LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
+                 LINUX_EXPORTS_SYS_CHDIR
+                 LINUX_EXPORTS_SYS_CLOSE
+                 LINUX_EXPORTS_SYS_OPEN
+                 LINUX_EXPORTS_SYS_WAIT4
                 LINUX_WHICH_MODULES
                  if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
                    AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
@@ -617,9 +621,6 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                    LINUX_EXPORTS_KALLSYMS_SYMBOL
                    LINUX_EXPORTS_SYS_CALL_TABLE
                    LINUX_EXPORTS_IA32_SYS_CALL_TABLE
-                   LINUX_EXPORTS_SYS_CHDIR
-                   LINUX_EXPORTS_SYS_CLOSE
-                   LINUX_EXPORTS_SYS_WAIT4
                    if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
                          linux_syscall_method=none
                          if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
@@ -649,6 +650,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
                  AC_DEFINE(EXPORTED_SYS_CHDIR, 1, [define if your linux kernel exports sys_chdir])
                 fi
+                if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
+                 AC_DEFINE(EXPORTED_SYS_OPEN, 1, [define if your linux kernel exports sys_open])
+                fi
                 if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
                  AC_DEFINE(EXPORTED_SYS_CLOSE, 1, [define if your linux kernel exports sys_close])
                 fi
index ee10cb68ef673d5c9fea0090daad7c3a1e06ff94..3b30fdd61ad5237694300d8d3e27fa1d997e2ef2 100644 (file)
@@ -231,7 +231,9 @@ extern SYSCALLTYPE sys_call_table_emu[] __attribute__((weak));
 
 extern asmlinkage ssize_t sys_read(unsigned int fd, char __user * buf, size_t count) __attribute__((weak));
 extern asmlinkage long sys_close(unsigned int) __attribute__((weak));
+#if defined(EXPORTED_SYS_CHDIR)
 extern asmlinkage long sys_chdir(const char *) __attribute__((weak));
+#endif
 extern asmlinkage ssize_t sys_write(unsigned int, const char *, size_t) __attribute__((weak));
 #ifdef AFS_LINUX26_ENV
 extern asmlinkage long sys_wait4(pid_t, int *, int, struct rusage *) __attribute__((weak));
@@ -239,7 +241,9 @@ extern asmlinkage long sys_wait4(pid_t, int *, int, struct rusage *) __attribute
 extern asmlinkage long sys_wait4(pid_t, unsigned int *, int, struct rusage *) __attribute__((weak));
 #endif
 extern asmlinkage long sys_exit (int) __attribute__((weak));
+#if defined(EXPORTED_SYS_OPEN)
 extern asmlinkage long sys_open (const char *, int, int) __attribute__((weak));
+#endif
 extern asmlinkage long sys_ioctl(unsigned int, unsigned int, unsigned long) __attribute__((weak));
 
 
@@ -300,14 +304,20 @@ typedef struct {
 /* On PPC64 and SPARC64, we need to omit the ones that might match both tables */
 static tryctl main_try[] = {
 #if !defined(AFS_PPC64_LINUX20_ENV) && !defined(AFS_SPARC64_LINUX20_ENV)
+#if defined(EXPORTED_SYS_CHDIR)
     { "scan: close+chdir+write", __NR_close, &sys_close, __NR_chdir, &sys_chdir, __NR_write, &sys_write },
+#endif
 #endif
     { "scan: close+wait4",       __NR_close, &sys_close, __NR_wait4, &sys_wait4, -1,         0          },
 #if !defined(AFS_PPC64_LINUX20_ENV) && !defined(AFS_SPARC64_LINUX20_ENV)
+#if defined(EXPORTED_SYS_CHDIR)
     { "scan: close+chdir",       __NR_close, &sys_close, __NR_chdir, &sys_chdir, -1,         0          },
+#endif
 #endif
     { "scan: close+ioctl",       __NR_close, &sys_close, __NR_ioctl, &sys_ioctl, -1,         0          },
+#if defined(EXPORTED_SYS_OPEN)
     { "scan: exit+open",         __NR_exit,  &sys_exit,  __NR_open,  &sys_open,  -1,         0          },
+#endif
     { 0 }
 };
 
@@ -590,8 +600,10 @@ static probectl main_probe = {
 
 /* syscall pairs/triplets to probe */
 static tryctl ia32_try[] = {
+#if defined(EXPORTED_SYS_CHDIR)
     { "scan: close+chdir+write", __NR_ia32_close, &sys_close, __NR_ia32_chdir, &sys_chdir,        __NR_ia32_write, &sys_write },
     { "scan: close+chdir",       __NR_ia32_close, &sys_close, __NR_ia32_chdir, &sys_chdir,        -1,              0          },
+#endif
     { 0 }
 };
 
index 3934c90770be4122f6ebe608a472f9245002c4e1..7deea944f884b85d212b99df012216689e32eb21 100644 (file)
@@ -11,12 +11,15 @@ CFLAGS += $CPPFLAGS
 obj-m += conftest.o
 _ACEOF
     cat >conftest.c <<\_ACEOF
+#include <linux/module.h>
 $1
 
 void conftest(void)
 { 
 $2
 } 
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     cd ..
   fi