summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-fs/openafs-kernel/files/openafs-sparc.patch')
-rw-r--r--net-fs/openafs-kernel/files/openafs-sparc.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/net-fs/openafs-kernel/files/openafs-sparc.patch b/net-fs/openafs-kernel/files/openafs-sparc.patch
new file mode 100644
index 000000000000..1b23c0625124
--- /dev/null
+++ b/net-fs/openafs-kernel/files/openafs-sparc.patch
@@ -0,0 +1,42 @@
+From http://www.openafs.org/pipermail/openafs-devel/2007-February/014914.html
+
+--- openafs-1.4.4/src/afs/LINUX/osi_probe.c.old 2007-09-19 18:15:09.000000000 +0200
++++ openafs-1.4.4/src/afs/LINUX/osi_probe.c 2007-09-19 18:16:53.000000000 +0200
+@@ -228,7 +228,9 @@
+ ) __attribute__((weak));
+ #endif
+
++#ifdef LINUX_EXPORTS_SYS_CALL_TABLE
+ extern SYSCALLTYPE sys_call_table[] __attribute__((weak));
++#endif
+ extern SYSCALLTYPE ia32_sys_call_table[] __attribute__((weak));
+ extern SYSCALLTYPE sys_call_table32[] __attribute__((weak));
+ extern SYSCALLTYPE sys_call_table_emu[] __attribute__((weak));
+@@ -505,7 +507,11 @@
+ 0,
+ #endif
+
+- sys_call_table, /* weak symbol ref */
++#ifdef LINUX_EXPORTS_SYS_CALL_TABLE
++ sys_call_table, /* weak symbol ref */
++#else
++ 0,
++#endif
+ 0, 0, /* module parameter answers */
+ #ifdef AFS_LINUX_sys_call_table
+ AFS_LINUX_sys_call_table, /* compiled-in answer, if any */
+--- openafs-1.4.4/src/cf/linux-test4.m4.old 2007-09-19 18:16:49.000000000 +0200
++++ openafs-1.4.4/src/cf/linux-test4.m4 2007-09-19 18:16:53.000000000 +0200
+@@ -111,9 +111,9 @@
+ AC_CACHE_VAL([ac_cv_linux_exports_sys_call_table], [
+ AC_TRY_KBUILD(
+ [#include <linux/modversions.h>],
+-[#ifndef __ver_sys_call_table
+-#error sys_call_table not exported
+-#endif],
++[
++extern SYSCALLTYPE sys_call_table[] __attribute__((weak));
++],
+ ac_cv_linux_exports_sys_call_table=yes,
+ ac_cv_linux_exports_sys_call_table=no)])
+ AC_MSG_RESULT($ac_cv_linux_exports_sys_call_table)])