[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