Module Name:    src
Committed By:   christos
Date:           Wed Aug 17 09:03:47 UTC 2011

Modified Files:
        src/external/bsd/am-utils/bin/amd: Makefile
        src/external/bsd/am-utils/bin/amq: Makefile
        src/external/bsd/am-utils/bin/hlfsd: Makefile
        src/external/bsd/am-utils/dist/hlfsd: stubs.c

Log Message:
fix aliasing issues and remove gcc hacks.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/bsd/am-utils/bin/amd/Makefile
cvs rdiff -u -r1.3 -r1.4 src/external/bsd/am-utils/bin/amq/Makefile
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/am-utils/bin/hlfsd/Makefile
cvs rdiff -u -r1.1.1.2 -r1.2 src/external/bsd/am-utils/dist/hlfsd/stubs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/am-utils/bin/amd/Makefile
diff -u src/external/bsd/am-utils/bin/amd/Makefile:1.8 src/external/bsd/am-utils/bin/amd/Makefile:1.9
--- src/external/bsd/am-utils/bin/amd/Makefile:1.8	Tue Jun 21 22:49:42 2011
+++ src/external/bsd/am-utils/bin/amd/Makefile	Wed Aug 17 05:03:47 2011
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.8 2011/06/22 02:49:42 mrg Exp $
+#	$NetBSD: Makefile,v 1.9 2011/08/17 09:03:47 christos Exp $
 
 .include "${.CURDIR}/../Makefile.inc"
 
@@ -44,10 +44,6 @@
 SRCS+=	info_nis.c
 .endif
 
-.if defined(HAVE_GCC)
-COPTS.amq_subr.c+=	-fno-strict-aliasing
-.endif
-
 # the following are not supported on NetBSD
 #	info_ldap.c info_nisplus.c ops_cachefs.c ops_efs.c ops_lofs.c ops_xfs.c
 MAN+=	amd.8
@@ -83,8 +79,3 @@
 
 
 .include <bsd.prog.mk>
-
-# XXX
-.if ${HAVE_GCC} == 45
-COPTS.readdir.c+=	-fno-strict-aliasing
-.endif

Index: src/external/bsd/am-utils/bin/amq/Makefile
diff -u src/external/bsd/am-utils/bin/amq/Makefile:1.3 src/external/bsd/am-utils/bin/amq/Makefile:1.4
--- src/external/bsd/am-utils/bin/amq/Makefile:1.3	Mon Jun 20 03:43:57 2011
+++ src/external/bsd/am-utils/bin/amq/Makefile	Wed Aug 17 05:03:47 2011
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.3 2011/06/20 07:43:57 mrg Exp $
+#	$NetBSD: Makefile,v 1.4 2011/08/17 09:03:47 christos Exp $
 
 .include "${.CURDIR}/../Makefile.inc"
 
@@ -13,9 +13,4 @@
 CPPFLAGS+=	-I${DIST}
 LDADD+=		${LIBAMU}
 
-.if defined(HAVE_GCC)
-COPTS.amq_xdr.c+=	-fno-strict-aliasing
-COPTS.amq.c+=		-fno-strict-aliasing
-.endif
-
 .include <bsd.prog.mk>

Index: src/external/bsd/am-utils/bin/hlfsd/Makefile
diff -u src/external/bsd/am-utils/bin/hlfsd/Makefile:1.2 src/external/bsd/am-utils/bin/hlfsd/Makefile:1.3
--- src/external/bsd/am-utils/bin/hlfsd/Makefile:1.2	Tue Jun 21 22:49:42 2011
+++ src/external/bsd/am-utils/bin/hlfsd/Makefile	Wed Aug 17 05:03:47 2011
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2011/06/22 02:49:42 mrg Exp $
+#	$NetBSD: Makefile,v 1.3 2011/08/17 09:03:47 christos Exp $
 
 .include "${.CURDIR}/../Makefile.inc"
 
@@ -14,8 +14,3 @@
 LDADD+=		${LIBAMU} -lrpcsvc
 
 .include <bsd.prog.mk>
-
-# XXX
-.if ${HAVE_GCC} == 45
-COPTS.stubs.c+=	-fno-strict-aliasing
-.endif

Index: src/external/bsd/am-utils/dist/hlfsd/stubs.c
diff -u src/external/bsd/am-utils/dist/hlfsd/stubs.c:1.1.1.2 src/external/bsd/am-utils/dist/hlfsd/stubs.c:1.2
--- src/external/bsd/am-utils/dist/hlfsd/stubs.c:1.1.1.2	Fri Mar 20 16:26:55 2009
+++ src/external/bsd/am-utils/dist/hlfsd/stubs.c	Wed Aug 17 05:03:47 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: stubs.c,v 1.1.1.2 2009/03/20 20:26:55 christos Exp $	*/
+/*	$NetBSD: stubs.c,v 1.2 2011/08/17 09:03:47 christos Exp $	*/
 
 /*
  * Copyright (c) 1997-2009 Erez Zadok
@@ -166,8 +166,9 @@
     if (gid != hlfs_gid) {
       res.ns_status = NFSERR_STALE;
     } else {
-      memset((char *) &uid, 0, sizeof(int));
-      uid = *(u_int *) argp->fh_data;
+      u_int xuid;
+      memcpy(&xuid, argp->fh_data, sizeof(xuid));
+      uid = xuid;
       if (plt_search(uid) != (uid2home_t *) NULL) {
 	res.ns_status = NFS_OK;
 	un_fattr.na_fileid = uid;
@@ -282,13 +283,15 @@
       res.dr_status = NFSERR_NOENT;
       return &res;
     } else {			/* entry found and gid is permitted */
+      u_int xuid;
       un_fattr.na_fileid = untab[idx].uid;
       res.dr_u.dr_drok_u.drok_attributes = un_fattr;
-      memset((char *) &un_fhandle, 0, sizeof(am_nfs_fh));
-      *(u_int *) un_fhandle.fh_data = (u_int) untab[idx].uid;
-      xstrlcpy((char *) &un_fhandle.fh_data[sizeof(int)],
+      memset(&un_fhandle, 0, sizeof(am_nfs_fh));
+      xuid = (u_int) untab[idx].uid;
+      memcpy(un_fhandle.fh_data, &xuid, sizeof(xuid));
+      xstrlcpy((char *) &un_fhandle.fh_data[sizeof(xuid)],
 	       untab[idx].username,
-	       sizeof(am_nfs_fh) - sizeof(int));
+	       sizeof(am_nfs_fh) - sizeof(xuid));
       res.dr_u.dr_drok_u.drok_fhandle = un_fhandle;
       res.dr_status = NFS_OK;
       dlog("nfs_lookup: successful lookup for uid=%ld, gid=%ld: username=%s",
@@ -309,7 +312,7 @@
   uid_t userid = (uid_t) INVALIDID;
   gid_t groupid = hlfs_gid + 1;	/* anything not hlfs_gid */
   int retval = 0;
-  char *path_val = (char *) NULL;
+  char *path_val = NULL;
   char *username;
   static uid_t last_uid = (uid_t) INVALIDID;
 
@@ -330,7 +333,7 @@
        * processing, by getting a NULL returned as a
        * "special".  Child returns result.
        */
-      return (nfsreadlinkres *) NULL;
+      return NULL;
     }
 
   } else {			/* check if asked for user mailbox */
@@ -340,9 +343,10 @@
     }
 
     if (groupid == hlfs_gid) {
-      memset((char *) &userid, 0, sizeof(int));
-      userid = *(u_int *) argp->fh_data;
-      username = (char *) &argp->fh_data[sizeof(int)];
+      u_int xuserid;
+      memcpy(&xuserid, argp->fh_data, sizeof(xuserid));
+      userid = xuserid;
+      username = (char *) &argp->fh_data[sizeof(xuserid)];
       if (!(res.rlr_u.rlr_data_u = mailbox(userid, username)))
 	return (nfsreadlinkres *) NULL;
     } else {

Reply via email to