fix nfs-server with gcc 3.4
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 28 Apr 2005 21:40:02 +0000 (21:40 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 28 Apr 2005 21:40:02 +0000 (21:40 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@751 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/nfs-server/patches/gcc-3.4-fix.patch [new file with mode: 0644]

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 (file)
index 0000000..21915ce
--- /dev/null
@@ -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,