[Glibc-bsd-commits] r4895 - in trunk/kfreebsd-kernel-headers/debian: . patches

Robert Millan rmh at alioth.debian.org
Mon Aug 19 15:06:46 UTC 2013


Author: rmh
Date: 2013-08-19 15:06:46 +0000 (Mon, 19 Aug 2013)
New Revision: 4895

Added:
   trunk/kfreebsd-kernel-headers/debian/patches/queue_bsd_extensions.diff
Modified:
   trunk/kfreebsd-kernel-headers/debian/changelog
   trunk/kfreebsd-kernel-headers/debian/patches/series
Log:
Move the "BSD extensions" (so to speak) of <sys/queue.h> off the GNU-compatible header protection. This will make them available even if GNU <sys/queue.h> had been included.

Modified: trunk/kfreebsd-kernel-headers/debian/changelog
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/changelog	2013-08-19 14:36:55 UTC (rev 4894)
+++ trunk/kfreebsd-kernel-headers/debian/changelog	2013-08-19 15:06:46 UTC (rev 4895)
@@ -13,6 +13,9 @@
     want header protection to match with GNU <sys/queue.h> as to prevent
     the rest of the macros from colliding. Add a test for <sys/queue.h>
     collisions.
+  * Move the "BSD extensions" (so to speak) of <sys/queue.h> off the
+    GNU-compatible header protection. This will make them available even
+    if GNU <sys/queue.h> had been included.
 
  -- Robert Millan <rmh at debian.org>  Mon, 19 Aug 2013 16:33:59 +0200
 

Added: trunk/kfreebsd-kernel-headers/debian/patches/queue_bsd_extensions.diff
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/patches/queue_bsd_extensions.diff	                        (rev 0)
+++ trunk/kfreebsd-kernel-headers/debian/patches/queue_bsd_extensions.diff	2013-08-19 15:06:46 UTC (rev 4895)
@@ -0,0 +1,319 @@
+--- a/sys/sys/queue.h
++++ b/sys/sys/queue.h
+@@ -169,21 +169,11 @@
+ 	    (var);							\
+ 	    (var) = SLIST_NEXT((var), field))
+ 
+-#define	SLIST_FOREACH_FROM(var, head, field)				\
+-	for ((var) = ((var) ? (var) : SLIST_FIRST((head)));		\
+-	    (var);							\
+-	    (var) = SLIST_NEXT((var), field))
+-
+ #define	SLIST_FOREACH_SAFE(var, head, field, tvar)			\
+ 	for ((var) = SLIST_FIRST((head));				\
+ 	    (var) && ((tvar) = SLIST_NEXT((var), field), 1);		\
+ 	    (var) = (tvar))
+ 
+-#define	SLIST_FOREACH_FROM_SAFE(var, head, field, tvar)			\
+-	for ((var) = ((var) ? (var) : SLIST_FIRST((head)));		\
+-	    (var) && ((tvar) = SLIST_NEXT((var), field), 1);		\
+-	    (var) = (tvar))
+-
+ #define	SLIST_FOREACH_PREVPTR(var, varp, head, field)			\
+ 	for ((varp) = &SLIST_FIRST((head));				\
+ 	    ((var) = *(varp)) != NULL;					\
+@@ -219,21 +209,10 @@
+ 	TRASHIT(*oldnext);						\
+ } while (0)
+ 
+-#define SLIST_REMOVE_AFTER(elm, field) do {				\
+-	SLIST_NEXT(elm, field) =					\
+-	    SLIST_NEXT(SLIST_NEXT(elm, field), field);			\
+-} while (0)
+-
+ #define	SLIST_REMOVE_HEAD(head, field) do {				\
+ 	SLIST_FIRST((head)) = SLIST_NEXT(SLIST_FIRST((head)), field);	\
+ } while (0)
+ 
+-#define SLIST_SWAP(head1, head2, type) do {				\
+-	struct type *swap_first = SLIST_FIRST(head1);			\
+-	SLIST_FIRST(head1) = SLIST_FIRST(head2);			\
+-	SLIST_FIRST(head2) = swap_first;				\
+-} while (0)
+-
+ /*
+  * Singly-linked Tail queue declarations.
+  */
+@@ -271,21 +250,11 @@
+ 	   (var);							\
+ 	   (var) = STAILQ_NEXT((var), field))
+ 
+-#define	STAILQ_FOREACH_FROM(var, head, field)				\
+-	for ((var) = ((var) ? (var) : STAILQ_FIRST((head)));		\
+-	   (var);							\
+-	   (var) = STAILQ_NEXT((var), field))
+-
+ #define	STAILQ_FOREACH_SAFE(var, head, field, tvar)			\
+ 	for ((var) = STAILQ_FIRST((head));				\
+ 	    (var) && ((tvar) = STAILQ_NEXT((var), field), 1);		\
+ 	    (var) = (tvar))
+ 
+-#define	STAILQ_FOREACH_FROM_SAFE(var, head, field, tvar)		\
+-	for ((var) = ((var) ? (var) : STAILQ_FIRST((head)));		\
+-	    (var) && ((tvar) = STAILQ_NEXT((var), field), 1);		\
+-	    (var) = (tvar))
+-
+ #define	STAILQ_INIT(head) do {						\
+ 	STAILQ_FIRST((head)) = NULL;					\
+ 	(head)->stqh_last = &STAILQ_FIRST((head));			\
+@@ -309,10 +278,6 @@
+ 	(head)->stqh_last = &STAILQ_NEXT((elm), field);			\
+ } while (0)
+ 
+-#define	STAILQ_LAST(head, type, field)					\
+-	(STAILQ_EMPTY((head)) ? NULL :					\
+-	    __containerof((head)->stqh_last, struct type, field.stqe_next))
+-
+ #define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
+ 
+ #define	STAILQ_REMOVE(head, elm, type, field) do {			\
+@@ -329,31 +294,12 @@
+ 	TRASHIT(*oldnext);						\
+ } while (0)
+ 
+-#define STAILQ_REMOVE_AFTER(head, elm, field) do {			\
+-	if ((STAILQ_NEXT(elm, field) =					\
+-	     STAILQ_NEXT(STAILQ_NEXT(elm, field), field)) == NULL)	\
+-		(head)->stqh_last = &STAILQ_NEXT((elm), field);		\
+-} while (0)
+-
+ #define	STAILQ_REMOVE_HEAD(head, field) do {				\
+ 	if ((STAILQ_FIRST((head)) =					\
+ 	     STAILQ_NEXT(STAILQ_FIRST((head)), field)) == NULL)		\
+ 		(head)->stqh_last = &STAILQ_FIRST((head));		\
+ } while (0)
+ 
+-#define STAILQ_SWAP(head1, head2, type) do {				\
+-	struct type *swap_first = STAILQ_FIRST(head1);			\
+-	struct type **swap_last = (head1)->stqh_last;			\
+-	STAILQ_FIRST(head1) = STAILQ_FIRST(head2);			\
+-	(head1)->stqh_last = (head2)->stqh_last;			\
+-	STAILQ_FIRST(head2) = swap_first;				\
+-	(head2)->stqh_last = swap_last;					\
+-	if (STAILQ_EMPTY(head1))					\
+-		(head1)->stqh_last = &STAILQ_FIRST(head1);		\
+-	if (STAILQ_EMPTY(head2))					\
+-		(head2)->stqh_last = &STAILQ_FIRST(head2);		\
+-} while (0)
+-
+ 
+ /*
+  * List declarations.
+@@ -410,21 +356,11 @@
+ 	    (var);							\
+ 	    (var) = LIST_NEXT((var), field))
+ 
+-#define	LIST_FOREACH_FROM(var, head, field)				\
+-	for ((var) = ((var) ? (var) : LIST_FIRST((head)));		\
+-	    (var);							\
+-	    (var) = LIST_NEXT((var), field))
+-
+ #define	LIST_FOREACH_SAFE(var, head, field, tvar)			\
+ 	for ((var) = LIST_FIRST((head));				\
+ 	    (var) && ((tvar) = LIST_NEXT((var), field), 1);		\
+ 	    (var) = (tvar))
+ 
+-#define	LIST_FOREACH_FROM_SAFE(var, head, field, tvar)			\
+-	for ((var) = ((var) ? (var) : LIST_FIRST((head)));		\
+-	    (var) && ((tvar) = LIST_NEXT((var), field), 1);		\
+-	    (var) = (tvar))
+-
+ #define	LIST_INIT(head) do {						\
+ 	LIST_FIRST((head)) = NULL;					\
+ } while (0)
+@@ -456,10 +392,6 @@
+ 
+ #define	LIST_NEXT(elm, field)	((elm)->field.le_next)
+ 
+-#define	LIST_PREV(elm, head, type, field)				\
+-	((elm)->field.le_prev == &LIST_FIRST((head)) ? NULL :		\
+-	    __containerof((elm)->field.le_prev, struct type, field.le_next))
+-
+ #define	LIST_REMOVE(elm, field) do {					\
+ 	QMD_SAVELINK(oldnext, (elm)->field.le_next);			\
+ 	QMD_SAVELINK(oldprev, (elm)->field.le_prev);			\
+@@ -473,16 +405,6 @@
+ 	TRASHIT(*oldprev);						\
+ } while (0)
+ 
+-#define LIST_SWAP(head1, head2, type, field) do {			\
+-	struct type *swap_tmp = LIST_FIRST((head1));			\
+-	LIST_FIRST((head1)) = LIST_FIRST((head2));			\
+-	LIST_FIRST((head2)) = swap_tmp;					\
+-	if ((swap_tmp = LIST_FIRST((head1))) != NULL)			\
+-		swap_tmp->field.le_prev = &LIST_FIRST((head1));		\
+-	if ((swap_tmp = LIST_FIRST((head2))) != NULL)			\
+-		swap_tmp->field.le_prev = &LIST_FIRST((head2));		\
+-} while (0)
+-
+ /*
+  * Tail queue declarations.
+  */
+@@ -557,41 +479,21 @@
+ 	    (var);							\
+ 	    (var) = TAILQ_NEXT((var), field))
+ 
+-#define	TAILQ_FOREACH_FROM(var, head, field)				\
+-	for ((var) = ((var) ? (var) : TAILQ_FIRST((head)));		\
+-	    (var);							\
+-	    (var) = TAILQ_NEXT((var), field))
+-
+ #define	TAILQ_FOREACH_SAFE(var, head, field, tvar)			\
+ 	for ((var) = TAILQ_FIRST((head));				\
+ 	    (var) && ((tvar) = TAILQ_NEXT((var), field), 1);		\
+ 	    (var) = (tvar))
+ 
+-#define	TAILQ_FOREACH_FROM_SAFE(var, head, field, tvar)			\
+-	for ((var) = ((var) ? (var) : TAILQ_FIRST((head)));		\
+-	    (var) && ((tvar) = TAILQ_NEXT((var), field), 1);		\
+-	    (var) = (tvar))
+-
+ #define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
+ 	for ((var) = TAILQ_LAST((head), headname);			\
+ 	    (var);							\
+ 	    (var) = TAILQ_PREV((var), headname, field))
+ 
+-#define	TAILQ_FOREACH_REVERSE_FROM(var, head, headname, field)		\
+-	for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname));	\
+-	    (var);							\
+-	    (var) = TAILQ_PREV((var), headname, field))
+-
+ #define	TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar)	\
+ 	for ((var) = TAILQ_LAST((head), headname);			\
+ 	    (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1);	\
+ 	    (var) = (tvar))
+ 
+-#define	TAILQ_FOREACH_REVERSE_FROM_SAFE(var, head, headname, field, tvar) \
+-	for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname));	\
+-	    (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1);	\
+-	    (var) = (tvar))
+-
+ #define	TAILQ_INIT(head) do {						\
+ 	TAILQ_FIRST((head)) = NULL;					\
+ 	(head)->tqh_last = &TAILQ_FIRST((head));			\
+@@ -672,6 +574,109 @@
+ 	QMD_TRACE_ELEM(&(elm)->field);					\
+ } while (0)
+ 
++#endif /* !_SYS_QUEUE_H_ */
++
++#ifndef _FREEBSD_SYS_QUEUE_H_
++#define _FREEBSD_SYS_QUEUE_H_
++
++#define	SLIST_FOREACH_FROM(var, head, field)				\
++	for ((var) = ((var) ? (var) : SLIST_FIRST((head)));		\
++	    (var);							\
++	    (var) = SLIST_NEXT((var), field))
++
++#define	SLIST_FOREACH_FROM_SAFE(var, head, field, tvar)			\
++	for ((var) = ((var) ? (var) : SLIST_FIRST((head)));		\
++	    (var) && ((tvar) = SLIST_NEXT((var), field), 1);		\
++	    (var) = (tvar))
++
++#define SLIST_REMOVE_AFTER(elm, field) do {				\
++	SLIST_NEXT(elm, field) =					\
++	    SLIST_NEXT(SLIST_NEXT(elm, field), field);			\
++} while (0)
++
++#define SLIST_SWAP(head1, head2, type) do {				\
++	struct type *swap_first = SLIST_FIRST(head1);			\
++	SLIST_FIRST(head1) = SLIST_FIRST(head2);			\
++	SLIST_FIRST(head2) = swap_first;				\
++} while (0)
++
++#define	STAILQ_FOREACH_FROM(var, head, field)				\
++	for ((var) = ((var) ? (var) : STAILQ_FIRST((head)));		\
++	   (var);							\
++	   (var) = STAILQ_NEXT((var), field))
++
++#define	STAILQ_FOREACH_FROM_SAFE(var, head, field, tvar)		\
++	for ((var) = ((var) ? (var) : STAILQ_FIRST((head)));		\
++	    (var) && ((tvar) = STAILQ_NEXT((var), field), 1);		\
++	    (var) = (tvar))
++
++#define	STAILQ_LAST(head, type, field)					\
++	(STAILQ_EMPTY((head)) ? NULL :					\
++	    __containerof((head)->stqh_last, struct type, field.stqe_next))
++
++#define STAILQ_REMOVE_AFTER(head, elm, field) do {			\
++	if ((STAILQ_NEXT(elm, field) =					\
++	     STAILQ_NEXT(STAILQ_NEXT(elm, field), field)) == NULL)	\
++		(head)->stqh_last = &STAILQ_NEXT((elm), field);		\
++} while (0)
++
++#define STAILQ_SWAP(head1, head2, type) do {				\
++	struct type *swap_first = STAILQ_FIRST(head1);			\
++	struct type **swap_last = (head1)->stqh_last;			\
++	STAILQ_FIRST(head1) = STAILQ_FIRST(head2);			\
++	(head1)->stqh_last = (head2)->stqh_last;			\
++	STAILQ_FIRST(head2) = swap_first;				\
++	(head2)->stqh_last = swap_last;					\
++	if (STAILQ_EMPTY(head1))					\
++		(head1)->stqh_last = &STAILQ_FIRST(head1);		\
++	if (STAILQ_EMPTY(head2))					\
++		(head2)->stqh_last = &STAILQ_FIRST(head2);		\
++} while (0)
++
++#define	LIST_FOREACH_FROM(var, head, field)				\
++	for ((var) = ((var) ? (var) : LIST_FIRST((head)));		\
++	    (var);							\
++	    (var) = LIST_NEXT((var), field))
++
++#define	LIST_FOREACH_FROM_SAFE(var, head, field, tvar)			\
++	for ((var) = ((var) ? (var) : LIST_FIRST((head)));		\
++	    (var) && ((tvar) = LIST_NEXT((var), field), 1);		\
++	    (var) = (tvar))
++
++#define	LIST_PREV(elm, head, type, field)				\
++	((elm)->field.le_prev == &LIST_FIRST((head)) ? NULL :		\
++	    __containerof((elm)->field.le_prev, struct type, field.le_next))
++
++#define LIST_SWAP(head1, head2, type, field) do {			\
++	struct type *swap_tmp = LIST_FIRST((head1));			\
++	LIST_FIRST((head1)) = LIST_FIRST((head2));			\
++	LIST_FIRST((head2)) = swap_tmp;					\
++	if ((swap_tmp = LIST_FIRST((head1))) != NULL)			\
++		swap_tmp->field.le_prev = &LIST_FIRST((head1));		\
++	if ((swap_tmp = LIST_FIRST((head2))) != NULL)			\
++		swap_tmp->field.le_prev = &LIST_FIRST((head2));		\
++} while (0)
++
++#define	TAILQ_FOREACH_FROM(var, head, field)				\
++	for ((var) = ((var) ? (var) : TAILQ_FIRST((head)));		\
++	    (var);							\
++	    (var) = TAILQ_NEXT((var), field))
++
++#define	TAILQ_FOREACH_FROM_SAFE(var, head, field, tvar)			\
++	for ((var) = ((var) ? (var) : TAILQ_FIRST((head)));		\
++	    (var) && ((tvar) = TAILQ_NEXT((var), field), 1);		\
++	    (var) = (tvar))
++
++#define	TAILQ_FOREACH_REVERSE_FROM(var, head, headname, field)		\
++	for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname));	\
++	    (var);							\
++	    (var) = TAILQ_PREV((var), headname, field))
++
++#define	TAILQ_FOREACH_REVERSE_FROM_SAFE(var, head, headname, field, tvar) \
++	for ((var) = ((var) ? (var) : TAILQ_LAST((head), headname));	\
++	    (var) && ((tvar) = TAILQ_PREV((var), headname, field), 1);	\
++	    (var) = (tvar))
++
+ #define TAILQ_SWAP(head1, head2, type, field) do {			\
+ 	struct type *swap_first = (head1)->tqh_first;			\
+ 	struct type **swap_last = (head1)->tqh_last;			\
+@@ -689,4 +694,4 @@
+ 		(head2)->tqh_last = &(head2)->tqh_first;		\
+ } while (0)
+ 
+-#endif /* !_SYS_QUEUE_H_ */
++#endif /* !_FREEBSD_SYS_QUEUE_H_ */

Modified: trunk/kfreebsd-kernel-headers/debian/patches/series
===================================================================
--- trunk/kfreebsd-kernel-headers/debian/patches/series	2013-08-19 14:36:55 UTC (rev 4894)
+++ trunk/kfreebsd-kernel-headers/debian/patches/series	2013-08-19 15:06:46 UTC (rev 4895)
@@ -36,3 +36,4 @@
 bsd_visible.diff
 050_sigframe.diff
 remove_link_addr_and_link_ntoa.diff
+queue_bsd_extensions.diff




More information about the Glibc-bsd-commits mailing list