svn commit: r313404 - in head/lib/libnetbsd: . sys

Ngie Cooper ngie at FreeBSD.org
Tue Feb 7 19:42:43 UTC 2017


Author: ngie
Date: Tue Feb  7 19:42:41 2017
New Revision: 313404
URL: https://svnweb.freebsd.org/changeset/base/313404

Log:
  Improve libnetbsd compatibility with NetBSD
  
  This change is being made to diff reduce/reduce duplication in
  contrib/netbsd-tests and to facilitate further porting of software from
  NetBSD
  
  Add the following headers:
  - sys/event.h:
  -- sys/types.h is required for kqueue on FreeBSD, but not NetBSD.
  - sys/types.h:
  -- NBBY is defined in sys/param.h on FreeBSD, not sys/types.h like on NetBSD.
     Pull in sys/param.h to have parity with NetBSD.
  - sys/wait.h:
  -- Define wrusage as __wrusage for parity with NetBSD typedef.
  - glob.h
  -- Define __gl_stat_t as "struct stat" for parity with NetBSD typedef.
  - pthread.h:
  -- Pull in pthread_np.h for _np functions defined separately on FreeBSD.
  
  Improve compatibility with NetBSD in the following headers:
  
  - sha1.h:
  -- define SHA1_CTX as SHA_CTX
  -- define SHA1Final as SHA1_Final
  - sha2.h:
  -- #include sha384 to pick up all of the SHA 384 bit macros and definitions.
  - util.h:
  -- Add sys/types.h to util.h to pollute the header for types used in
     flags_to_string and string_to_flags (u_long) as NetBSD doesn't require them
     for the functions.
  
  MFC after:      2 weeks
  Sponsored by:   Dell EMC Isilon

Added:
  head/lib/libnetbsd/glob.h
     - copied, changed from r312222, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/glob.h
  head/lib/libnetbsd/pthread.h
     - copied, changed from r312303, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/pthread.h
  head/lib/libnetbsd/sys/event.h
     - copied unchanged from r312242, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/event.h
  head/lib/libnetbsd/sys/types.h
     - copied unchanged from r312241, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/types.h
  head/lib/libnetbsd/sys/wait.h
     - copied unchanged from r312240, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/wait.h
Modified:
  head/lib/libnetbsd/sha1.h
  head/lib/libnetbsd/sha2.h
  head/lib/libnetbsd/util.h

Copied and modified: head/lib/libnetbsd/glob.h (from r312222, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/glob.h)
==============================================================================
--- projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/glob.h	Sun Jan 15 10:16:20 2017	(r312222, copy source)
+++ head/lib/libnetbsd/glob.h	Tue Feb  7 19:42:41 2017	(r313404)
@@ -1,33 +1,30 @@
-/*	$FreeBSD$	*/
-
 /*-
- * Copyright (c) 2012 SRI International
+ * Copyright (c) 2017 Dell, Inc.
  * All rights reserved.
  *
- * This software was developed by SRI International and the University of
- * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
- * ("CTSRD"), as part of the DARPA CRASH research programme.
- *
  * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
  *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
  */
 
 #ifndef _LIBNETBSD_GLOB_H_
@@ -39,4 +36,4 @@
 #define	__gl_stat_t struct stat
 #endif
 
-#endif /* _SHA1_H_ */
+#endif

Copied and modified: head/lib/libnetbsd/pthread.h (from r312303, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/pthread.h)
==============================================================================
--- projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/pthread.h	Mon Jan 16 18:51:27 2017	(r312303, copy source)
+++ head/lib/libnetbsd/pthread.h	Tue Feb  7 19:42:41 2017	(r313404)
@@ -33,4 +33,4 @@
 #include_next <pthread.h>
 #include <pthread_np.h>
 
-#endif /* _SHA1_H_ */
+#endif

Modified: head/lib/libnetbsd/sha1.h
==============================================================================
--- head/lib/libnetbsd/sha1.h	Tue Feb  7 19:28:32 2017	(r313403)
+++ head/lib/libnetbsd/sha1.h	Tue Feb  7 19:42:41 2017	(r313404)
@@ -35,8 +35,11 @@
 
 #include <sha.h>
 
+#define	SHA1_CTX	SHA_CTX
+
 #define	SHA1End		SHA1_End
 #define	SHA1File	SHA1_File
+#define	SHA1Final	SHA1_Final
 #define	SHA1Init	SHA1_Init
 #define	SHA1Update	SHA1_Update
 

Modified: head/lib/libnetbsd/sha2.h
==============================================================================
--- head/lib/libnetbsd/sha2.h	Tue Feb  7 19:28:32 2017	(r313403)
+++ head/lib/libnetbsd/sha2.h	Tue Feb  7 19:42:41 2017	(r313404)
@@ -34,6 +34,7 @@
 #define _SHA2_H_
 
 #include <sha256.h>
+#include <sha384.h>
 #include <sha512.h>
 
 #endif /* _SHA2_H_ */

Copied: head/lib/libnetbsd/sys/event.h (from r312242, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/event.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnetbsd/sys/event.h	Tue Feb  7 19:42:41 2017	(r313404, copy of r312242, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/event.h)
@@ -0,0 +1,42 @@
+/*-
+ * Copyright (c) 2017 Dell, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$ *
+ */
+
+#ifndef _LIBNETBSD_SYS_EVENT_H_
+#define	_LIBNETBSD_SYS_EVENT_H_
+
+/*
+ * kqueue on FreeBSD requires sys/event.h, which in turn uses uintptr_t
+ * (defined in sys/types.h), so in order to accomodate their requirements,
+ * pull in sys/types.h as part of event.h.
+ */
+#include <sys/types.h>
+
+#include_next <sys/event.h>
+
+#endif

Copied: head/lib/libnetbsd/sys/types.h (from r312241, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/types.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnetbsd/sys/types.h	Tue Feb  7 19:42:41 2017	(r313404, copy of r312241, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/types.h)
@@ -0,0 +1,37 @@
+/*-
+ * Copyright (c) 2017 Dell, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$ *
+ */
+
+#ifndef _LIBNETBSD_SYS_TYPES_H_
+#define	_LIBNETBSD_SYS_TYPES_H_
+
+#include_next <sys/types.h>
+
+#include <sys/param.h>	/* For NBBY */
+
+#endif

Copied: head/lib/libnetbsd/sys/wait.h (from r312240, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/wait.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lib/libnetbsd/sys/wait.h	Tue Feb  7 19:42:41 2017	(r313404, copy of r312240, projects/netbsd-tests-upstream-01-2017/lib/libnetbsd/sys/wait.h)
@@ -0,0 +1,37 @@
+/*-
+ * Copyright (c) 2017 Dell, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$ *
+ */
+
+#ifndef _LIBNETBSD_SYS_WAIT_H_
+#define	_LIBNETBSD_SYS_WAIT_H_
+
+#include_next <sys/wait.h>
+
+#define	wrusage	__wrusage
+
+#endif

Modified: head/lib/libnetbsd/util.h
==============================================================================
--- head/lib/libnetbsd/util.h	Tue Feb  7 19:28:32 2017	(r313403)
+++ head/lib/libnetbsd/util.h	Tue Feb  7 19:42:41 2017	(r313404)
@@ -30,12 +30,13 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _UTIL_H_
-#define _UTIL_H_
+#ifndef _LIBNETBSD_UTIL_H_
+#define _LIBNETBSD_UTIL_H_
 
+#include <sys/types.h>
 #include <libutil.h>
 
 char	*flags_to_string(u_long flags, const char *def);
 int	 string_to_flags(char **stringp, u_long *setp, u_long *clrp);
 
-#endif	/* _UTIL_H_ */
+#endif


More information about the svn-src-all mailing list