summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-04-28 21:40:02 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-04-28 21:40:02 +0000
commitefb5ca0289f21fa8f83bc66b73d74d52ae6a533e (patch)
tree5668bf01caed3670f2e03764d126057765e28465
parent8be849b1e9934510edb60278285028eeb76c22fa (diff)
fix nfs-server with gcc 3.4
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@751 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/nfs-server/patches/gcc-3.4-fix.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/package/nfs-server/patches/gcc-3.4-fix.patch b/package/nfs-server/patches/gcc-3.4-fix.patch
new file mode 100644
index 000000000..21915ce49
--- /dev/null
+++ b/package/nfs-server/patches/gcc-3.4-fix.patch
@@ -0,0 +1,24 @@
+diff -urN nfs-server-2.2beta47.old/fh.c nfs-server-2.2beta47.dev/fh.c
+--- nfs-server-2.2beta47.old/fh.c 2005-04-29 00:37:48.000000000 +0200
++++ nfs-server-2.2beta47.dev/fh.c 2005-04-29 00:39:44.000000000 +0200
+@@ -351,13 +351,13 @@
+ #ifndef ENABLE_DEVTAB
+ psi_t dmajor, dminor;
+
+-#if (SIZEOF_DEV_T == 4)
+- /* This folds the upper 16 bits into bits 8..15, and
+- * the lower 16 bits into bits 0..7
+- */
+- dev = (((dev >> 16) & 0xff00) ^ ((dev >> 8) & 0xff00)) |
+- (((dev >> 8) & 0xff) ^ (dev & 0xff));
+-#endif
++ if (sizeof(dev_t) == 4) {
++ /* This folds the upper 16 bits into bits 8..15, and
++ * the lower 16 bits into bits 0..7
++ */
++ dev = (((dev >> 16) & 0xff00) ^ ((dev >> 8) & 0xff00)) |
++ (((dev >> 8) & 0xff) ^ (dev & 0xff));
++ }
+
+ /*
+ * Assuming major and minor numbers are small integers,