From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 28 Apr 2005 21:40:02 +0000 (+0000)
Subject: fix nfs-server with gcc 3.4
X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/efb5ca0289f21fa8f83bc66b73d74d52ae6a533e

fix nfs-server with gcc 3.4


git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@751 3c298f89-4303-0410-b956-a3cf2f4a3e73
---

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,