rx: always use/protect the xdr routines in the kernel
authorChas Williams (CONTRACTOR) <chas@cmf.nrl.navy.mil>
Wed, 16 Mar 2011 14:32:48 +0000 (10:32 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Tue, 29 Mar 2011 18:37:34 +0000 (11:37 -0700)
This clears up some warnings about duplicate symbols with Solaris 11
since the Solaris kernel already has these routines.  Since we never
use stock kernel version of the xdr routines perhaps we should always
use/protect our version of the symbols.

Change-Id: I4b5b4a691fb838093aff728469d17c28dccbaaea
Reviewed-on: http://gerrit.openafs.org/4252
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

src/libuafs/Makefile.common.in
src/rx/xdr.h
src/rx/xdr_array.c

index 9f7dbb3..6ed5e8e 100644 (file)
@@ -167,6 +167,7 @@ UAFSOBJ = \
        $(UOBJ)/osi_vcache.o \
        $(UOBJ)/afsaux.o \
        $(UOBJ)/Kvice.xdr.o \
+       $(UOBJ)/xdr_array.o \
        $(UOBJ)/xdr_arrayn.o \
        $(UOBJ)/Kvice.cs.o \
        $(UOBJ)/fcrypt.o \
@@ -309,6 +310,7 @@ PICUAFSOBJ = \
        $(PICOBJ)/osi_vcache.o \
        $(PICOBJ)/afsaux.o \
        $(PICOBJ)/Kvice.xdr.o \
+       $(PICOBJ)/xdr_array.o \
        $(PICOBJ)/xdr_arrayn.o \
        $(PICOBJ)/Kvice.cs.o \
        $(PICOBJ)/fcrypt.o \
@@ -451,6 +453,7 @@ AFSWEBOBJ = \
        $(WEBOBJ)/osi_vcache.o \
        $(WEBOBJ)/afsaux.o \
        $(WEBOBJ)/Kvice.xdr.o \
+       $(WEBOBJ)/xdr_array.o \
        $(WEBOBJ)/xdr_arrayn.o \
        $(WEBOBJ)/Kvice.cs.o \
        $(WEBOBJ)/fcrypt.o \
@@ -589,6 +592,7 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/osi_vcache.o \
        $(WEBOBJ)/afsaux.o \
        $(WEBOBJ)/Kvice.xdr.o \
+       $(WEBOBJ)/xdr_array.o \
        $(WEBOBJ)/xdr_arrayn.o \
        $(WEBOBJ)/Kvice.cs.o \
        $(WEBOBJ)/fcrypt.o \
@@ -730,6 +734,7 @@ JUAFSOBJ = \
        $(JUAFS)/osi_vcache.o \
        $(JUAFS)/afsaux.o \
        $(JUAFS)/Kvice.xdr.o \
+       $(JUAFS)/xdr_array.o \
        $(JUAFS)/xdr_arrayn.o \
        $(JUAFS)/Kvice.cs.o \
        $(JUAFS)/fcrypt.o \
@@ -990,6 +995,8 @@ $(UOBJ)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
        $(CRULE1)
 $(UOBJ)/xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
        $(CRULE1)
+$(UOBJ)/xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
+       $(CRULE1)
 $(UOBJ)/Kvldbint.cs.o: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
        $(CRULE1)
 $(UOBJ)/Kvldbint.xdr.o: $(TOP_OBJ_VLSERVER)/Kvldbint.xdr.c
@@ -1279,6 +1286,8 @@ $(PICOBJ)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
        $(CRULEPIC)
 $(PICOBJ)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
        $(CRULEPIC)
+$(PICOBJ)/xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
+       $(CRULEPIC)
 $(PICOBJ)/xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
        $(CRULEPIC)
 $(PICOBJ)/Kvldbint.cs.o: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
@@ -1568,6 +1577,8 @@ $(WEBOBJ)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
        $(CRULE2)
 $(WEBOBJ)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
        $(CRULE2)
+$(WEBOBJ)/xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
+       $(CRULE2)
 $(WEBOBJ)/xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
        $(CRULE2)
 $(WEBOBJ)/Kvldbint.cs.o: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
@@ -1867,6 +1878,8 @@ $(JUAFS)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
        $(CRULE1)
 $(JUAFS)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
        $(CRULE1)
+$(JUAFS)/xdr_array.o: $(TOP_SRC_RX)/xdr_array.c
+       $(CRULE1)
 $(JUAFS)/xdr_arrayn.o: $(TOP_SRC_RX)/xdr_arrayn.c
        $(CRULE1)
 $(JUAFS)/Kvldbint.cs.o: $(TOP_OBJ_VLSERVER)/Kvldbint.cs.c
index 056cc1f..04236b1 100644 (file)
@@ -70,7 +70,7 @@ typedef char * caddr_t;
 #define mem_free(ptr, bsize)   free(ptr)
 #endif
 
-#if defined(AFS_AMD64_LINUX24_ENV) || defined(AFS_DARWIN_ENV) || (defined(KERNEL) && !defined(UKERNEL))
+#if !defined(AFS_NT40_ENV)
 #define xdr_alloc afs_xdr_alloc
 #define xdr_free afs_xdr_free
 #define xdr_void afs_xdr_void
index a73b799..8f8ddc9 100644 (file)
@@ -46,7 +46,8 @@
  * arrays.  See xdr.h for more info on the interface to xdr.
  */
 
-#ifdef KERNEL
+#if defined(KERNEL) && !defined(UKERNEL)
+
 #include <sys/param.h>
 #ifdef AFS_LINUX20_ENV
 #include "h/string.h"