svn commit: r308493 - in head: contrib/amd contrib/amd/amd contrib/amd/amq contrib/amd/conf/checkmount contrib/amd/conf/mtab contrib/amd/conf/nfs_prot contrib/amd/conf/transp contrib/amd/conf/umoun...

Cy Schubert Cy.Schubert at komquats.com
Sun Nov 13 21:06:02 UTC 2016


In message <CAJ-VmonDLRs91yB6=cF0as2vRP94FedWaAr-VZ581_5fbe=7=Q at mail.gmail.c
om>
, Adrian Chadd writes:
> After looking at this, i'm not sure how this is supposed to work on a
> 32 bit platform at all.
> 
> Is there some vendor patch to fix compilation on 32 bit platforms? If
> not, can we back this out until we get it compiling on 32 bit
> platforms?

Hi Adrian,

Can you retry with the following attachment? You'll need to cd to 
src/contrib to apply it. It appears the upline's git commit to address 32 
bit issues didn't go far enough. Strangely though, only mips failed to 
build.

I'm sorry about this.




-------------- next part --------------
Index: amd/amd/readdir.c
===================================================================
--- amd/amd/readdir.c	(revision 308608)
+++ amd/amd/readdir.c	(working copy)
@@ -38,6 +38,7 @@
  */
 
 
+#include <stdint.h>
 #ifdef HAVE_CONFIG_H
 # include <config.h>
 #endif /* HAVE_CONFIG_H */
@@ -201,7 +202,7 @@
 static int
 amfs_readdir_browsable(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep, u_int count, int fully_browsable)
 {
-  u_int gen = *(u_int *) cookie;
+  u_int gen = *(u_int *) (uintptr_t) cookie;
   int chain_length, i;
   static nfsentry *te, *te_next;
   static int j;
@@ -364,7 +365,7 @@
 static int
 amfs_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep, u_int count)
 {
-  u_int gen = *(u_int *) cookie;
+  u_int gen = *(u_int *) (uintptr_t) cookie;
   am_node *xp;
 
   dp->dl_eof = FALSE;		/* assume readdir not done */
@@ -639,7 +640,7 @@
 			am_dirlist3 *dp, am_entry3 *ep, u_int count,
 			int fully_browsable)
 {
-  uint64 gen = *(uint64 *) cookie;
+  uint64 gen = *(uint64 *) (uintptr_t) cookie;
   int chain_length, i;
   static am_entry3 *te, *te_next;
   static int j;
@@ -796,7 +797,7 @@
 amfs_readdir3(am_node *mp, am_cookie3 cookie,
 	      am_dirlist3 *dp, am_entry3 *ep, u_int count)
 {
-  uint64 gen = *(uint64 *) cookie;
+  uint64 gen = *(uint64 *) (uintptr_t) cookie;
   am_node *xp;
 
   if (amuDebug(D_READDIR))
@@ -944,8 +945,8 @@
       return amfs_readdir(mp, cookie, dp, ep, count);
   } else {
     if (browsable)
-      return amfs_readdir3_browsable(mp, (am_cookie3) cookie, dp, ep, count, full);
+      return amfs_readdir3_browsable(mp, (am_cookie3) (uintptr_t) cookie, dp, ep, count, full);
     else
-      return amfs_readdir3(mp, (am_cookie3) cookie, dp, ep, count);
+      return amfs_readdir3(mp, (am_cookie3) (uintptr_t) cookie, dp, ep, count);
   }
 }
Index: amd/amq/amq.c
===================================================================
--- amd/amq/amq.c	(revision 308608)
+++ amd/amq/amq.c	(working copy)
@@ -79,7 +79,7 @@
 static void
 time_print(time_type tt)
 {
-  time_t t = (time_t)tt;
+  time_t t = (time_t)*tt;
   struct tm *tp = localtime(&t);
   printf("%02d/%02d/%04d %02d:%02d:%02d",
 	 tp->tm_mon + 1, tp->tm_mday,
Index: amd/include/amq_defs.h
===================================================================
--- amd/include/amq_defs.h	(revision 308608)
+++ amd/include/amq_defs.h	(working copy)
@@ -66,7 +66,7 @@
 /*
  * TYPEDEFS
  */
-typedef long *time_type;
+typedef time_t *time_type;
 typedef struct amq_mount_info amq_mount_info;
 typedef struct amq_map_info amq_map_info;
 typedef struct amq_mount_stats amq_mount_stats;
-------------- next part --------------
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.


More information about the svn-src-head mailing list