public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-22 20:20 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-22 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     6a7155d70855eaba1d9dbf809fef294187cf28f0
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Thu Jul 21 19:46:43 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul 22 20:19:12 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=6a7155d7

dev-qt/qtwebengine: comment on remove-glibc-check

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 .../qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch      | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch
index 1d94b6b9..01dddd98 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch
@@ -1,8 +1,9 @@
 Qt checks if glibc is available and if not disables large part of Qt5WebEngine and thus cripples functionality.
-However these parts work fine with Musl so there is no need to disable them.
-Just remove the check so it builds again. Since 5.15.1 is the last version of Qt to be released with this build system it'll be obsolete with Qt6 and there is no real point in fixing this upstream.
+However these parts work fine with Musl so there is no need to disable them. - Alpine
 
+Just remove the check so it builds again. Since 5.15 is the last version of Qt to be released with this build system it'll be obsolete with Qt6 so there is no real point in fixing this upstream except adding to Qt5PatchCollection.
 
+https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/remove-glibc-check.patch
 diff --git a/src/buildtools/config/support.pri b/src/buildtools/config/support.pri
 index e7f869a1..de18523d 100644
 --- a/src/buildtools/config/support.pri


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-22 20:20 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-22 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     bbcb0d264007fde674018809d80887ac37e667f4
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Thu Jul 21 19:53:36 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul 22 20:19:12 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=bbcb0d26

dev-qt/qtwebengine: comment pvalloc patch

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 .../files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch            | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch
index 310ea8d3..991d08fc 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch
@@ -1,4 +1,6 @@
-https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/qt-musl-pvalloc.patch?id=65f58742e6e669c7d0f5b23c0764f4f73661980b
+The obsolete function pvalloc() is similar to valloc(), but rounds the size of the allocation up to the next multiple of the system page size. (https://linux.die.net/man/3/pvalloc)
+
+See: https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/qt-musl-pvalloc.patch?id=65f58742e6e669c7d0f5b23c0764f4f73661980b
 
 ---
  src/core/api/qtbug-61521.cpp | 4 ++++


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-22 20:20 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-22 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     91be344fd39321ffdf20dd42c45569e633582e4d
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Thu Jul 21 20:00:10 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul 22 20:19:12 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=91be344f

dev-qt/qtwebengine: comment on musl-sandbox

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 .../files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch         | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch
index 07e5b847..d56fa40a 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch
@@ -1,7 +1,7 @@
-From a381e9d12fb3bb489f12e119c3ae6e2318f429e9 Mon Sep 17 00:00:00 2001
-From: Your Name <you@example.com>
-Date: Wed, 20 Jul 2022 18:47:15 +0200
-Subject: [PATCH 2/2] musl sandbox
+This should be fine for all non-Android platforms.
+TODO: not okay for upstreaming.
+
+https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/musl-sandbox.patch
 
 ---
  .../syscall_parameters_restrictions.cc        | 22 +++++--------------


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-22 20:20 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-22 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     602466dc009c9cab64eae4874ca0579a44a5c061
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Thu Jul 21 20:16:20 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul 22 20:19:12 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=602466dc

dev-qt/qtwebengine: Add links to some patches

Many patches are from Alpine.

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 .../files/qtwebengine-5.15.5_p20220618-backtrace-execinfo.patch         | 2 ++
 .../files/qtwebengine-5.15.5_p20220618-musl-canonicalize-filename.patch | 2 ++
 dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks.patch  | 2 --
 .../qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch  | 2 ++
 .../qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch   | 2 ++
 .../qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch  | 2 ++
 .../files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch   | 2 ++
 7 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-backtrace-execinfo.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-backtrace-execinfo.patch
index 1e827e59..88e5565c 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-backtrace-execinfo.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-backtrace-execinfo.patch
@@ -1,3 +1,5 @@
+https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/qt-musl-execinfo.patch
+
 The backtrace api is not available in musl libc. This can be added with
 libexecinfo but that needs changes in the build system. As qmake is being swapped
 for CMake in Qt6 it makes sense to just check for glibc

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-canonicalize-filename.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-canonicalize-filename.patch
index 1d58af61..9a27db6d 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-canonicalize-filename.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-canonicalize-filename.patch
@@ -1,3 +1,5 @@
+https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/nasm.patch
+
 diff --git a/src/3rdparty/chromium/third_party/nasm/config/config-linux.h b/src/3rdparty/chromium/third_party/nasm/config/config-linux.h
 index 7eb7c20ff..3bdc2eb39 100644
 --- a/src/3rdparty/chromium/third_party/nasm/config/config-linux.h

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks.patch
index 74908d6c..49912a22 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks.patch
@@ -1,7 +1,5 @@
 https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/musl-hacks.patch
 
-
-
 ---
  src/3rdparty/chromium/net/socket/udp_socket_posix.cc | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch
index eea2db90..4f8e5ce6 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch
@@ -1,3 +1,5 @@
+https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/qt-musl-mallinfo.patch
+
 musl does not support mallinfo, this patch changes OS_LINUX check to include
 checking for glibc too.
 

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch
index d56fa40a..e0d877e0 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-sandbox.patch
@@ -1,3 +1,5 @@
+https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/musl-sandbox.patch
+
 This should be fine for all non-Android platforms.
 TODO: not okay for upstreaming.
 

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch
index 991d08fc..a5126127 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-pvalloc-patch.patch
@@ -1,3 +1,5 @@
+https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/qt-musl-pvalloc.patch
+
 The obsolete function pvalloc() is similar to valloc(), but rounds the size of the allocation up to the next multiple of the system page size. (https://linux.die.net/man/3/pvalloc)
 
 See: https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/qt-musl-pvalloc.patch?id=65f58742e6e669c7d0f5b23c0764f4f73661980b

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch
index 01dddd98..13989724 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-qmake-remove-glibc-check.patch
@@ -1,3 +1,5 @@
+https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/remove-glibc-check.patch
+
 Qt checks if glibc is available and if not disables large part of Qt5WebEngine and thus cripples functionality.
 However these parts work fine with Musl so there is no need to disable them. - Alpine
 


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-22 20:20 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-22 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     add161cf0503ce554cd413a5cda7a9a3177cdc09
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Thu Jul 21 23:21:24 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul 22 20:19:12 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=add161cf

dev-qt/qtwebengine: remove duplicate+unused patch

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 .../qtwebengine-5.15.5_p20220618-fix-sys-queue.h   | 1020 --------------------
 1 file changed, 1020 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fix-sys-queue.h b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fix-sys-queue.h
deleted file mode 100644
index 57ca2cdf..00000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-fix-sys-queue.h
+++ /dev/null
@@ -1,1020 +0,0 @@
-From 005bce88c9b1c70b108c66a85335ca434a3c8f27 Mon Sep 17 00:00:00 2001
-From: Your Name <you@example.com>
-Date: Mon, 18 Jul 2022 21:39:44 +0200
-Subject: [PATCH] fix libevent sys/queue.h
-
----
- .../third_party/libevent/compat_sys_queue.h   | 846 ++++++++++++++++++
- .../base/third_party/libevent/epoll.c         |   4 +
- .../base/third_party/libevent/event.c         |   7 +
- .../base/third_party/libevent/event_tagging.c |   4 +
- .../base/third_party/libevent/evrpc.c         |   4 +
- .../base/third_party/libevent/evutil.c        |   4 +
- .../chromium/base/third_party/libevent/http.c |   4 +
- .../chromium/base/third_party/libevent/poll.c |   4 +
- .../base/third_party/libevent/select.c        |   4 +
- .../base/third_party/libevent/signal.c        |   4 +
- 10 files changed, 885 insertions(+)
- create mode 100644 src/3rdparty/chromium/base/third_party/libevent/compat_sys_queue.h
-
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/compat_sys_queue.h b/src/3rdparty/chromium/base/third_party/libevent/compat_sys_queue.h
-new file mode 100644
-index 000000000..99d01a55b
---- /dev/null
-+++ b/src/3rdparty/chromium/base/third_party/libevent/compat_sys_queue.h
-@@ -0,0 +1,846 @@
-+/*	$NetBSD: queue.h,v 1.68 2014/11/19 08:10:01 uebayasi Exp $	*/
-+
-+/*
-+ * Copyright (c) 1991, 1993
-+ *	The Regents of the University of California.  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.
-+ * 3. Neither the name of the University nor the names of its contributors
-+ *    may be used to endorse or promote products derived from this software
-+ *    without specific prior written permission.
-+ *
-+ * 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.
-+ *
-+ *	@(#)queue.h	8.5 (Berkeley) 8/20/94
-+ */
-+
-+#ifndef	_SYS_QUEUE_H_
-+#define	_SYS_QUEUE_H_
-+
-+/*
-+ * This file defines five types of data structures: singly-linked lists,
-+ * lists, simple queues, tail queues, and circular queues.
-+ *
-+ * A singly-linked list is headed by a single forward pointer. The
-+ * elements are singly linked for minimum space and pointer manipulation
-+ * overhead at the expense of O(n) removal for arbitrary elements. New
-+ * elements can be added to the list after an existing element or at the
-+ * head of the list.  Elements being removed from the head of the list
-+ * should use the explicit macro for this purpose for optimum
-+ * efficiency. A singly-linked list may only be traversed in the forward
-+ * direction.  Singly-linked lists are ideal for applications with large
-+ * datasets and few or no removals or for implementing a LIFO queue.
-+ *
-+ * A list is headed by a single forward pointer (or an array of forward
-+ * pointers for a hash table header). The elements are doubly linked
-+ * so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before
-+ * or after an existing element or at the head of the list. A list
-+ * may only be traversed in the forward direction.
-+ *
-+ * A simple queue is headed by a pair of pointers, one the head of the
-+ * list and the other to the tail of the list. The elements are singly
-+ * linked to save space, so elements can only be removed from the
-+ * head of the list. New elements can be added to the list after
-+ * an existing element, at the head of the list, or at the end of the
-+ * list. A simple queue may only be traversed in the forward direction.
-+ *
-+ * A tail queue is headed by a pair of pointers, one to the head of the
-+ * list and the other to the tail of the list. The elements are doubly
-+ * linked so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before or
-+ * after an existing element, at the head of the list, or at the end of
-+ * the list. A tail queue may be traversed in either direction.
-+ *
-+ * A circle queue is headed by a pair of pointers, one to the head of the
-+ * list and the other to the tail of the list. The elements are doubly
-+ * linked so that an arbitrary element can be removed without a need to
-+ * traverse the list. New elements can be added to the list before or after
-+ * an existing element, at the head of the list, or at the end of the list.
-+ * A circle queue may be traversed in either direction, but has a more
-+ * complex end of list detection.
-+ *
-+ * For details on the use of these macros, see the queue(3) manual page.
-+ */
-+
-+/*
-+ * Include the definition of NULL only on NetBSD because sys/null.h
-+ * is not available elsewhere.  This conditional makes the header
-+ * portable and it can simply be dropped verbatim into any system.
-+ * The caveat is that on other systems some other header
-+ * must provide NULL before the macros can be used.
-+ */
-+#ifdef __NetBSD__
-+#include <sys/null.h>
-+#endif
-+
-+#if defined(QUEUEDEBUG)
-+# if defined(_KERNEL)
-+#  define QUEUEDEBUG_ABORT(...) panic(__VA_ARGS__)
-+# else
-+#  include <err.h>
-+#  define QUEUEDEBUG_ABORT(...) err(1, __VA_ARGS__)
-+# endif
-+#endif
-+
-+/*
-+ * Singly-linked List definitions.
-+ */
-+#define	SLIST_HEAD(name, type)						\
-+struct name {								\
-+	struct type *slh_first;	/* first element */			\
-+}
-+
-+#define	SLIST_HEAD_INITIALIZER(head)					\
-+	{ NULL }
-+
-+#define	SLIST_ENTRY(type)						\
-+struct {								\
-+	struct type *sle_next;	/* next element */			\
-+}
-+
-+/*
-+ * Singly-linked List access methods.
-+ */
-+#define	SLIST_FIRST(head)	((head)->slh_first)
-+#define	SLIST_END(head)		NULL
-+#define	SLIST_EMPTY(head)	((head)->slh_first == NULL)
-+#define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)
-+
-+#define	SLIST_FOREACH(var, head, field)					\
-+	for((var) = (head)->slh_first;					\
-+	    (var) != SLIST_END(head);					\
-+	    (var) = (var)->field.sle_next)
-+
-+#define	SLIST_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = SLIST_FIRST((head));				\
-+	    (var) != SLIST_END(head) &&					\
-+	    ((tvar) = SLIST_NEXT((var), field), 1);			\
-+	    (var) = (tvar))
-+
-+/*
-+ * Singly-linked List functions.
-+ */
-+#define	SLIST_INIT(head) do {						\
-+	(head)->slh_first = SLIST_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
-+	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
-+	(slistelm)->field.sle_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_INSERT_HEAD(head, elm, field) do {			\
-+	(elm)->field.sle_next = (head)->slh_first;			\
-+	(head)->slh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE_AFTER(slistelm, field) do {			\
-+	(slistelm)->field.sle_next =					\
-+	    SLIST_NEXT(SLIST_NEXT((slistelm), field), field);		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE_HEAD(head, field) do {				\
-+	(head)->slh_first = (head)->slh_first->field.sle_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SLIST_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->slh_first == (elm)) {				\
-+		SLIST_REMOVE_HEAD((head), field);			\
-+	}								\
-+	else {								\
-+		struct type *curelm = (head)->slh_first;		\
-+		while(curelm->field.sle_next != (elm))			\
-+			curelm = curelm->field.sle_next;		\
-+		curelm->field.sle_next =				\
-+		    curelm->field.sle_next->field.sle_next;		\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+
-+/*
-+ * List definitions.
-+ */
-+#define	LIST_HEAD(name, type)						\
-+struct name {								\
-+	struct type *lh_first;	/* first element */			\
-+}
-+
-+#define	LIST_HEAD_INITIALIZER(head)					\
-+	{ NULL }
-+
-+#define	LIST_ENTRY(type)						\
-+struct {								\
-+	struct type *le_next;	/* next element */			\
-+	struct type **le_prev;	/* address of previous next element */	\
-+}
-+
-+/*
-+ * List access methods.
-+ */
-+#define	LIST_FIRST(head)		((head)->lh_first)
-+#define	LIST_END(head)			NULL
-+#define	LIST_EMPTY(head)		((head)->lh_first == LIST_END(head))
-+#define	LIST_NEXT(elm, field)		((elm)->field.le_next)
-+
-+#define	LIST_FOREACH(var, head, field)					\
-+	for ((var) = ((head)->lh_first);				\
-+	    (var) != LIST_END(head);					\
-+	    (var) = ((var)->field.le_next))
-+
-+#define	LIST_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = LIST_FIRST((head));				\
-+	    (var) != LIST_END(head) &&					\
-+	    ((tvar) = LIST_NEXT((var), field), 1);			\
-+	    (var) = (tvar))
-+
-+#define	LIST_MOVE(head1, head2) do {					\
-+	LIST_INIT((head2));						\
-+	if (!LIST_EMPTY((head1))) {					\
-+		(head2)->lh_first = (head1)->lh_first;			\
-+		LIST_INIT((head1));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * List functions.
-+ */
-+#if defined(QUEUEDEBUG)
-+#define	QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)			\
-+	if ((head)->lh_first &&						\
-+	    (head)->lh_first->field.le_prev != &(head)->lh_first)	\
-+		QUEUEDEBUG_ABORT("LIST_INSERT_HEAD %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_LIST_OP(elm, field)					\
-+	if ((elm)->field.le_next &&					\
-+	    (elm)->field.le_next->field.le_prev !=			\
-+	    &(elm)->field.le_next)					\
-+		QUEUEDEBUG_ABORT("LIST_* forw %p %s:%d", (elm),		\
-+		    __FILE__, __LINE__);				\
-+	if (*(elm)->field.le_prev != (elm))				\
-+		QUEUEDEBUG_ABORT("LIST_* back %p %s:%d", (elm),		\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_LIST_POSTREMOVE(elm, field)				\
-+	(elm)->field.le_next = (void *)1L;				\
-+	(elm)->field.le_prev = (void *)1L;
-+#else
-+#define	QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)
-+#define	QUEUEDEBUG_LIST_OP(elm, field)
-+#define	QUEUEDEBUG_LIST_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	LIST_INIT(head) do {						\
-+	(head)->lh_first = LIST_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_AFTER(listelm, elm, field) do {			\
-+	QUEUEDEBUG_LIST_OP((listelm), field)				\
-+	if (((elm)->field.le_next = (listelm)->field.le_next) != 	\
-+	    LIST_END(head))						\
-+		(listelm)->field.le_next->field.le_prev =		\
-+		    &(elm)->field.le_next;				\
-+	(listelm)->field.le_next = (elm);				\
-+	(elm)->field.le_prev = &(listelm)->field.le_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_BEFORE(listelm, elm, field) do {			\
-+	QUEUEDEBUG_LIST_OP((listelm), field)				\
-+	(elm)->field.le_prev = (listelm)->field.le_prev;		\
-+	(elm)->field.le_next = (listelm);				\
-+	*(listelm)->field.le_prev = (elm);				\
-+	(listelm)->field.le_prev = &(elm)->field.le_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_INSERT_HEAD(head, elm, field) do {				\
-+	QUEUEDEBUG_LIST_INSERT_HEAD((head), (elm), field)		\
-+	if (((elm)->field.le_next = (head)->lh_first) != LIST_END(head))\
-+		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
-+	(head)->lh_first = (elm);					\
-+	(elm)->field.le_prev = &(head)->lh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	LIST_REMOVE(elm, field) do {					\
-+	QUEUEDEBUG_LIST_OP((elm), field)				\
-+	if ((elm)->field.le_next != NULL)				\
-+		(elm)->field.le_next->field.le_prev = 			\
-+		    (elm)->field.le_prev;				\
-+	*(elm)->field.le_prev = (elm)->field.le_next;			\
-+	QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+#define LIST_REPLACE(elm, elm2, field) do {				\
-+	if (((elm2)->field.le_next = (elm)->field.le_next) != NULL)	\
-+		(elm2)->field.le_next->field.le_prev =			\
-+		    &(elm2)->field.le_next;				\
-+	(elm2)->field.le_prev = (elm)->field.le_prev;			\
-+	*(elm2)->field.le_prev = (elm2);				\
-+	QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * Simple queue definitions.
-+ */
-+#define	SIMPLEQ_HEAD(name, type)					\
-+struct name {								\
-+	struct type *sqh_first;	/* first element */			\
-+	struct type **sqh_last;	/* addr of last next element */		\
-+}
-+
-+#define	SIMPLEQ_HEAD_INITIALIZER(head)					\
-+	{ NULL, &(head).sqh_first }
-+
-+#define	SIMPLEQ_ENTRY(type)						\
-+struct {								\
-+	struct type *sqe_next;	/* next element */			\
-+}
-+
-+/*
-+ * Simple queue access methods.
-+ */
-+#define	SIMPLEQ_FIRST(head)		((head)->sqh_first)
-+#define	SIMPLEQ_END(head)		NULL
-+#define	SIMPLEQ_EMPTY(head)		((head)->sqh_first == SIMPLEQ_END(head))
-+#define	SIMPLEQ_NEXT(elm, field)	((elm)->field.sqe_next)
-+
-+#define	SIMPLEQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->sqh_first);				\
-+	    (var) != SIMPLEQ_END(head);					\
-+	    (var) = ((var)->field.sqe_next))
-+
-+#define	SIMPLEQ_FOREACH_SAFE(var, head, field, next)			\
-+	for ((var) = ((head)->sqh_first);				\
-+	    (var) != SIMPLEQ_END(head) &&				\
-+	    ((next = ((var)->field.sqe_next)), 1);			\
-+	    (var) = (next))
-+
-+/*
-+ * Simple queue functions.
-+ */
-+#define	SIMPLEQ_INIT(head) do {						\
-+	(head)->sqh_first = NULL;					\
-+	(head)->sqh_last = &(head)->sqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_HEAD(head, elm, field) do {			\
-+	if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)	\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+	(head)->sqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_TAIL(head, elm, field) do {			\
-+	(elm)->field.sqe_next = NULL;					\
-+	*(head)->sqh_last = (elm);					\
-+	(head)->sqh_last = &(elm)->field.sqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+	(listelm)->field.sqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_REMOVE_HEAD(head, field) do {				\
-+	if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
-+		(head)->sqh_last = &(head)->sqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do {			\
-+	if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \
-+	    == NULL)							\
-+		(head)->sqh_last = &(elm)->field.sqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->sqh_first == (elm)) {				\
-+		SIMPLEQ_REMOVE_HEAD((head), field);			\
-+	} else {							\
-+		struct type *curelm = (head)->sqh_first;		\
-+		while (curelm->field.sqe_next != (elm))			\
-+			curelm = curelm->field.sqe_next;		\
-+		if ((curelm->field.sqe_next =				\
-+			curelm->field.sqe_next->field.sqe_next) == NULL) \
-+			    (head)->sqh_last = &(curelm)->field.sqe_next; \
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_CONCAT(head1, head2) do {				\
-+	if (!SIMPLEQ_EMPTY((head2))) {					\
-+		*(head1)->sqh_last = (head2)->sqh_first;		\
-+		(head1)->sqh_last = (head2)->sqh_last;		\
-+		SIMPLEQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	SIMPLEQ_LAST(head, type, field)					\
-+	(SIMPLEQ_EMPTY((head)) ?						\
-+		NULL :							\
-+	        ((struct type *)(void *)				\
-+		((char *)((head)->sqh_last) - offsetof(struct type, field))))
-+
-+/*
-+ * Tail queue definitions.
-+ */
-+#define	_TAILQ_HEAD(name, type, qual)					\
-+struct name {								\
-+	qual type *tqh_first;		/* first element */		\
-+	qual type *qual *tqh_last;	/* addr of last next element */	\
-+}
-+#define TAILQ_HEAD(name, type)	_TAILQ_HEAD(name, struct type,)
-+
-+#define	TAILQ_HEAD_INITIALIZER(head)					\
-+	{ TAILQ_END(head), &(head).tqh_first }
-+
-+#define	_TAILQ_ENTRY(type, qual)					\
-+struct {								\
-+	qual type *tqe_next;		/* next element */		\
-+	qual type *qual *tqe_prev;	/* address of previous next element */\
-+}
-+#define TAILQ_ENTRY(type)	_TAILQ_ENTRY(struct type,)
-+
-+/*
-+ * Tail queue access methods.
-+ */
-+#define	TAILQ_FIRST(head)		((head)->tqh_first)
-+#define	TAILQ_END(head)			(NULL)
-+#define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)
-+#define	TAILQ_LAST(head, headname) \
-+	(*(((struct headname *)((head)->tqh_last))->tqh_last))
-+#define	TAILQ_PREV(elm, headname, field) \
-+	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-+#define	TAILQ_EMPTY(head)		(TAILQ_FIRST(head) == TAILQ_END(head))
-+
-+
-+#define	TAILQ_FOREACH(var, head, field)					\
-+	for ((var) = ((head)->tqh_first);				\
-+	    (var) != TAILQ_END(head);					\
-+	    (var) = ((var)->field.tqe_next))
-+
-+#define	TAILQ_FOREACH_SAFE(var, head, field, next)			\
-+	for ((var) = ((head)->tqh_first);				\
-+	    (var) != TAILQ_END(head) &&					\
-+	    ((next) = TAILQ_NEXT(var, field), 1); (var) = (next))
-+
-+#define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
-+	for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));\
-+	    (var) != TAILQ_END(head);					\
-+	    (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
-+
-+#define	TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev)	\
-+	for ((var) = TAILQ_LAST((head), headname);			\
-+	    (var) != TAILQ_END(head) && 				\
-+	    ((prev) = TAILQ_PREV((var), headname, field), 1); (var) = (prev))
-+
-+/*
-+ * Tail queue functions.
-+ */
-+#if defined(QUEUEDEBUG)
-+#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)			\
-+	if ((head)->tqh_first &&					\
-+	    (head)->tqh_first->field.tqe_prev != &(head)->tqh_first)	\
-+		QUEUEDEBUG_ABORT("TAILQ_INSERT_HEAD %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)			\
-+	if (*(head)->tqh_last != NULL)					\
-+		QUEUEDEBUG_ABORT("TAILQ_INSERT_TAIL %p %s:%d", (head),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_OP(elm, field)					\
-+	if ((elm)->field.tqe_next &&					\
-+	    (elm)->field.tqe_next->field.tqe_prev !=			\
-+	    &(elm)->field.tqe_next)					\
-+		QUEUEDEBUG_ABORT("TAILQ_* forw %p %s:%d", (elm),	\
-+		    __FILE__, __LINE__);				\
-+	if (*(elm)->field.tqe_prev != (elm))				\
-+		QUEUEDEBUG_ABORT("TAILQ_* back %p %s:%d", (elm),	\
-+		    __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)			\
-+	if ((elm)->field.tqe_next == NULL &&				\
-+	    (head)->tqh_last != &(elm)->field.tqe_next)			\
-+		QUEUEDEBUG_ABORT("TAILQ_PREREMOVE head %p elm %p %s:%d",\
-+		    (head), (elm), __FILE__, __LINE__);
-+#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)				\
-+	(elm)->field.tqe_next = (void *)1L;				\
-+	(elm)->field.tqe_prev = (void *)1L;
-+#else
-+#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_OP(elm, field)
-+#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)
-+#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	TAILQ_INIT(head) do {						\
-+	(head)->tqh_first = TAILQ_END(head);				\
-+	(head)->tqh_last = &(head)->tqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_HEAD(head, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_INSERT_HEAD((head), (elm), field)		\
-+	if (((elm)->field.tqe_next = (head)->tqh_first) != TAILQ_END(head))\
-+		(head)->tqh_first->field.tqe_prev =			\
-+		    &(elm)->field.tqe_next;				\
-+	else								\
-+		(head)->tqh_last = &(elm)->field.tqe_next;		\
-+	(head)->tqh_first = (elm);					\
-+	(elm)->field.tqe_prev = &(head)->tqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_TAIL(head, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_INSERT_TAIL((head), (elm), field)		\
-+	(elm)->field.tqe_next = TAILQ_END(head);			\
-+	(elm)->field.tqe_prev = (head)->tqh_last;			\
-+	*(head)->tqh_last = (elm);					\
-+	(head)->tqh_last = &(elm)->field.tqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
-+	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != 	\
-+	    TAILQ_END(head))						\
-+		(elm)->field.tqe_next->field.tqe_prev = 		\
-+		    &(elm)->field.tqe_next;				\
-+	else								\
-+		(head)->tqh_last = &(elm)->field.tqe_next;		\
-+	(listelm)->field.tqe_next = (elm);				\
-+	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
-+	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
-+	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
-+	(elm)->field.tqe_next = (listelm);				\
-+	*(listelm)->field.tqe_prev = (elm);				\
-+	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_REMOVE(head, elm, field) do {				\
-+	QUEUEDEBUG_TAILQ_PREREMOVE((head), (elm), field)		\
-+	QUEUEDEBUG_TAILQ_OP((elm), field)				\
-+	if (((elm)->field.tqe_next) != TAILQ_END(head))			\
-+		(elm)->field.tqe_next->field.tqe_prev = 		\
-+		    (elm)->field.tqe_prev;				\
-+	else								\
-+		(head)->tqh_last = (elm)->field.tqe_prev;		\
-+	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
-+	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
-+} while (/*CONSTCOND*/0)
-+
-+#define TAILQ_REPLACE(head, elm, elm2, field) do {			\
-+        if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != 	\
-+	    TAILQ_END(head))   						\
-+                (elm2)->field.tqe_next->field.tqe_prev =		\
-+                    &(elm2)->field.tqe_next;				\
-+        else								\
-+                (head)->tqh_last = &(elm2)->field.tqe_next;		\
-+        (elm2)->field.tqe_prev = (elm)->field.tqe_prev;			\
-+        *(elm2)->field.tqe_prev = (elm2);				\
-+	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	TAILQ_CONCAT(head1, head2, field) do {				\
-+	if (!TAILQ_EMPTY(head2)) {					\
-+		*(head1)->tqh_last = (head2)->tqh_first;		\
-+		(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last;	\
-+		(head1)->tqh_last = (head2)->tqh_last;			\
-+		TAILQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+/*
-+ * Singly-linked Tail queue declarations.
-+ */
-+#define	STAILQ_HEAD(name, type)						\
-+struct name {								\
-+	struct type *stqh_first;	/* first element */		\
-+	struct type **stqh_last;	/* addr of last next element */	\
-+}
-+
-+#define	STAILQ_HEAD_INITIALIZER(head)					\
-+	{ NULL, &(head).stqh_first }
-+
-+#define	STAILQ_ENTRY(type)						\
-+struct {								\
-+	struct type *stqe_next;	/* next element */			\
-+}
-+
-+/*
-+ * Singly-linked Tail queue access methods.
-+ */
-+#define	STAILQ_FIRST(head)	((head)->stqh_first)
-+#define	STAILQ_END(head)	NULL
-+#define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
-+#define	STAILQ_EMPTY(head)	(STAILQ_FIRST(head) == STAILQ_END(head))
-+
-+/*
-+ * Singly-linked Tail queue functions.
-+ */
-+#define	STAILQ_INIT(head) do {						\
-+	(head)->stqh_first = NULL;					\
-+	(head)->stqh_last = &(head)->stqh_first;				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_HEAD(head, elm, field) do {			\
-+	if (((elm)->field.stqe_next = (head)->stqh_first) == NULL)	\
-+		(head)->stqh_last = &(elm)->field.stqe_next;		\
-+	(head)->stqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_TAIL(head, elm, field) do {			\
-+	(elm)->field.stqe_next = NULL;					\
-+	*(head)->stqh_last = (elm);					\
-+	(head)->stqh_last = &(elm)->field.stqe_next;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
-+		(head)->stqh_last = &(elm)->field.stqe_next;		\
-+	(listelm)->field.stqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_REMOVE_HEAD(head, field) do {				\
-+	if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
-+		(head)->stqh_last = &(head)->stqh_first;			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_REMOVE(head, elm, type, field) do {			\
-+	if ((head)->stqh_first == (elm)) {				\
-+		STAILQ_REMOVE_HEAD((head), field);			\
-+	} else {							\
-+		struct type *curelm = (head)->stqh_first;		\
-+		while (curelm->field.stqe_next != (elm))			\
-+			curelm = curelm->field.stqe_next;		\
-+		if ((curelm->field.stqe_next =				\
-+			curelm->field.stqe_next->field.stqe_next) == NULL) \
-+			    (head)->stqh_last = &(curelm)->field.stqe_next; \
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->stqh_first);				\
-+		(var);							\
-+		(var) = ((var)->field.stqe_next))
-+
-+#define	STAILQ_FOREACH_SAFE(var, head, field, tvar)			\
-+	for ((var) = STAILQ_FIRST((head));				\
-+	    (var) && ((tvar) = STAILQ_NEXT((var), field), 1);		\
-+	    (var) = (tvar))
-+
-+#define	STAILQ_CONCAT(head1, head2) do {				\
-+	if (!STAILQ_EMPTY((head2))) {					\
-+		*(head1)->stqh_last = (head2)->stqh_first;		\
-+		(head1)->stqh_last = (head2)->stqh_last;		\
-+		STAILQ_INIT((head2));					\
-+	}								\
-+} while (/*CONSTCOND*/0)
-+
-+#define	STAILQ_LAST(head, type, field)					\
-+	(STAILQ_EMPTY((head)) ?						\
-+		NULL :							\
-+	        ((struct type *)(void *)				\
-+		((char *)((head)->stqh_last) - offsetof(struct type, field))))
-+
-+
-+#ifndef _KERNEL
-+/*
-+ * Circular queue definitions. Do not use. We still keep the macros
-+ * for compatibility but because of pointer aliasing issues their use
-+ * is discouraged!
-+ */
-+
-+/*
-+ * __launder_type():  We use this ugly hack to work around the the compiler
-+ * noticing that two types may not alias each other and elide tests in code.
-+ * We hit this in the CIRCLEQ macros when comparing 'struct name *' and
-+ * 'struct type *' (see CIRCLEQ_HEAD()).  Modern compilers (such as GCC
-+ * 4.8) declare these comparisons as always false, causing the code to
-+ * not run as designed.
-+ *
-+ * This hack is only to be used for comparisons and thus can be fully const.
-+ * Do not use for assignment.
-+ *
-+ * If we ever choose to change the ABI of the CIRCLEQ macros, we could fix
-+ * this by changing the head/tail sentinal values, but see the note above
-+ * this one.
-+ */
-+static __inline const void * __launder_type(const void *);
-+static __inline const void *
-+__launder_type(const void *__x)
-+{
-+	__asm __volatile("" : "+r" (__x));
-+	return __x;
-+}
-+
-+#if defined(QUEUEDEBUG)
-+#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field)				\
-+	if ((head)->cqh_first != CIRCLEQ_ENDC(head) &&			\
-+	    (head)->cqh_first->field.cqe_prev != CIRCLEQ_ENDC(head))	\
-+		QUEUEDEBUG_ABORT("CIRCLEQ head forw %p %s:%d", (head),	\
-+		      __FILE__, __LINE__);				\
-+	if ((head)->cqh_last != CIRCLEQ_ENDC(head) &&			\
-+	    (head)->cqh_last->field.cqe_next != CIRCLEQ_ENDC(head))	\
-+		QUEUEDEBUG_ABORT("CIRCLEQ head back %p %s:%d", (head),	\
-+		      __FILE__, __LINE__);
-+#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)			\
-+	if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) {		\
-+		if ((head)->cqh_last != (elm))				\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm last %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	} else {							\
-+		if ((elm)->field.cqe_next->field.cqe_prev != (elm))	\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm forw %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	}								\
-+	if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) {		\
-+		if ((head)->cqh_first != (elm))				\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm first %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	} else {							\
-+		if ((elm)->field.cqe_prev->field.cqe_next != (elm))	\
-+			QUEUEDEBUG_ABORT("CIRCLEQ elm prev %p %s:%d",	\
-+			    (elm), __FILE__, __LINE__);			\
-+	}
-+#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field)			\
-+	(elm)->field.cqe_next = (void *)1L;				\
-+	(elm)->field.cqe_prev = (void *)1L;
-+#else
-+#define QUEUEDEBUG_CIRCLEQ_HEAD(head, field)
-+#define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)
-+#define QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field)
-+#endif
-+
-+#define	CIRCLEQ_HEAD(name, type)					\
-+struct name {								\
-+	struct type *cqh_first;		/* first element */		\
-+	struct type *cqh_last;		/* last element */		\
-+}
-+
-+#define	CIRCLEQ_HEAD_INITIALIZER(head)					\
-+	{ CIRCLEQ_END(&head), CIRCLEQ_END(&head) }
-+
-+#define	CIRCLEQ_ENTRY(type)						\
-+struct {								\
-+	struct type *cqe_next;		/* next element */		\
-+	struct type *cqe_prev;		/* previous element */		\
-+}
-+
-+/*
-+ * Circular queue functions.
-+ */
-+#define	CIRCLEQ_INIT(head) do {						\
-+	(head)->cqh_first = CIRCLEQ_END(head);				\
-+	(head)->cqh_last = CIRCLEQ_END(head);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field)		\
-+	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
-+	(elm)->field.cqe_prev = (listelm);				\
-+	if ((listelm)->field.cqe_next == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_last = (elm);				\
-+	else								\
-+		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
-+	(listelm)->field.cqe_next = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do {		\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field)		\
-+	(elm)->field.cqe_next = (listelm);				\
-+	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
-+	if ((listelm)->field.cqe_prev == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_first = (elm);				\
-+	else								\
-+		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
-+	(listelm)->field.cqe_prev = (elm);				\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	(elm)->field.cqe_next = (head)->cqh_first;			\
-+	(elm)->field.cqe_prev = CIRCLEQ_END(head);			\
-+	if ((head)->cqh_last == CIRCLEQ_ENDC(head))			\
-+		(head)->cqh_last = (elm);				\
-+	else								\
-+		(head)->cqh_first->field.cqe_prev = (elm);		\
-+	(head)->cqh_first = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	(elm)->field.cqe_next = CIRCLEQ_END(head);			\
-+	(elm)->field.cqe_prev = (head)->cqh_last;			\
-+	if ((head)->cqh_first == CIRCLEQ_ENDC(head))			\
-+		(head)->cqh_first = (elm);				\
-+	else								\
-+		(head)->cqh_last->field.cqe_next = (elm);		\
-+	(head)->cqh_last = (elm);					\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_REMOVE(head, elm, field) do {				\
-+	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
-+	QUEUEDEBUG_CIRCLEQ_ELM((head), (elm), field)			\
-+	if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_last = (elm)->field.cqe_prev;		\
-+	else								\
-+		(elm)->field.cqe_next->field.cqe_prev =			\
-+		    (elm)->field.cqe_prev;				\
-+	if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head))		\
-+		(head)->cqh_first = (elm)->field.cqe_next;		\
-+	else								\
-+		(elm)->field.cqe_prev->field.cqe_next =			\
-+		    (elm)->field.cqe_next;				\
-+	QUEUEDEBUG_CIRCLEQ_POSTREMOVE((elm), field)			\
-+} while (/*CONSTCOND*/0)
-+
-+#define	CIRCLEQ_FOREACH(var, head, field)				\
-+	for ((var) = ((head)->cqh_first);				\
-+		(var) != CIRCLEQ_ENDC(head);				\
-+		(var) = ((var)->field.cqe_next))
-+
-+#define	CIRCLEQ_FOREACH_REVERSE(var, head, field)			\
-+	for ((var) = ((head)->cqh_last);				\
-+		(var) != CIRCLEQ_ENDC(head);				\
-+		(var) = ((var)->field.cqe_prev))
-+
-+/*
-+ * Circular queue access methods.
-+ */
-+#define	CIRCLEQ_FIRST(head)		((head)->cqh_first)
-+#define	CIRCLEQ_LAST(head)		((head)->cqh_last)
-+/* For comparisons */
-+#define	CIRCLEQ_ENDC(head)		(__launder_type(head))
-+/* For assignments */
-+#define	CIRCLEQ_END(head)		((void *)(head))
-+#define	CIRCLEQ_NEXT(elm, field)	((elm)->field.cqe_next)
-+#define	CIRCLEQ_PREV(elm, field)	((elm)->field.cqe_prev)
-+#define	CIRCLEQ_EMPTY(head)						\
-+    (CIRCLEQ_FIRST(head) == CIRCLEQ_ENDC(head))
-+
-+#define CIRCLEQ_LOOP_NEXT(head, elm, field)				\
-+	(((elm)->field.cqe_next == CIRCLEQ_ENDC(head))			\
-+	    ? ((head)->cqh_first)					\
-+	    : (elm->field.cqe_next))
-+#define CIRCLEQ_LOOP_PREV(head, elm, field)				\
-+	(((elm)->field.cqe_prev == CIRCLEQ_ENDC(head))			\
-+	    ? ((head)->cqh_last)					\
-+	    : (elm->field.cqe_prev))
-+#endif /* !_KERNEL */
-+
-+#endif	/* !_SYS_QUEUE_H_ */
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/epoll.c b/src/3rdparty/chromium/base/third_party/libevent/epoll.c
-index 4387ef896..91be4c644 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/epoll.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/epoll.c
-@@ -36,7 +36,11 @@
- #else
- #include <sys/_libevent_time.h>
- #endif
-+#if __has_include(<sys/queue.h>)
- #include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
- #include <sys/epoll.h>
- #include <signal.h>
- #include <stdio.h>
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/event.c b/src/3rdparty/chromium/base/third_party/libevent/event.c
-index 4aa326e0e..2f228aa92 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/event.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/event.c
-@@ -39,6 +39,13 @@
- #else 
- #include <sys/_libevent_time.h>
- #endif
-+
-+#if __has_include(<sys/queue.h>)
-+#include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
-+
- #include <sys/queue.h>
- #include <stdio.h>
- #include <stdlib.h>
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/event_tagging.c b/src/3rdparty/chromium/base/third_party/libevent/event_tagging.c
-index d436e3fd6..777fb037f 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/event_tagging.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/event_tagging.c
-@@ -45,7 +45,11 @@
- #include <sys/ioctl.h>
- #endif
- 
-+#if __has_include(<sys/queue.h>)
- #include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
- #ifdef HAVE_SYS_TIME_H
- #include <sys/time.h>
- #endif
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/evrpc.c b/src/3rdparty/chromium/base/third_party/libevent/evrpc.c
-index 070fd9e71..f63a43ca4 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/evrpc.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/evrpc.c
-@@ -42,7 +42,11 @@
- #ifdef HAVE_SYS_TIME_H
- #include <sys/time.h>
- #endif
-+#if __has_include(<sys/queue.h>)
- #include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
- #include <stdio.h>
- #include <stdlib.h>
- #ifndef WIN32
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/evutil.c b/src/3rdparty/chromium/base/third_party/libevent/evutil.c
-index cc6d0f46a..13de43bb6 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/evutil.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/evutil.c
-@@ -55,7 +55,11 @@
- #include <stdio.h>
- #include <signal.h>
- 
-+#if __has_include(<sys/queue.h>)
- #include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
- #include "event.h"
- #include "event-internal.h"
- #include "evutil.h"
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/http.c b/src/3rdparty/chromium/base/third_party/libevent/http.c
-index 4abce2393..ac4d74798 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/http.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/http.c
-@@ -50,7 +50,11 @@
- #include <sys/wait.h>
- #endif
- 
-+#if __has_include(<sys/queue.h>)
- #include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
- 
- #ifndef WIN32
- #include <netinet/in.h>
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/poll.c b/src/3rdparty/chromium/base/third_party/libevent/poll.c
-index 2aa245b37..9aa3e4833 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/poll.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/poll.c
-@@ -36,7 +36,11 @@
- #else
- #include <sys/_libevent_time.h>
- #endif
-+#if __has_include(<sys/queue.h>)
- #include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
- #include <poll.h>
- #include <signal.h>
- #include <stdio.h>
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/select.c b/src/3rdparty/chromium/base/third_party/libevent/select.c
-index 3f7333131..6f8b9edfb 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/select.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/select.c
-@@ -39,7 +39,11 @@
- #ifdef HAVE_SYS_SELECT_H
- #include <sys/select.h>
- #endif
-+#if __has_include(<sys/queue.h>)
- #include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
- #include <signal.h>
- #include <stdio.h>
- #include <stdlib.h>
-diff --git a/src/3rdparty/chromium/base/third_party/libevent/signal.c b/src/3rdparty/chromium/base/third_party/libevent/signal.c
-index b8d51ab51..230b053eb 100644
---- a/src/3rdparty/chromium/base/third_party/libevent/signal.c
-+++ b/src/3rdparty/chromium/base/third_party/libevent/signal.c
-@@ -40,7 +40,11 @@
- #ifdef HAVE_SYS_TIME_H
- #include <sys/time.h>
- #endif
-+#if __has_include(<sys/queue.h>)
- #include <sys/queue.h>
-+#else
-+#include "compat_sys_queue.h"
-+#endif
- #ifdef HAVE_SYS_SOCKET_H
- #include <sys/socket.h>
- #endif
--- 
-2.35.1
-


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-22 20:20 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-22 20:20 UTC (permalink / raw
  To: gentoo-commits

commit:     08cbb8e20933a57164fe7bbaa255c20aa63f6008
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Thu Jul 21 20:04:30 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Jul 22 20:19:12 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=08cbb8e2

dev-qt/qtwebengine: comment mallinfo patch

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 .../files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch        | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch
index 5895f314..eea2db90 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-mallinfo.patch
@@ -1,7 +1,7 @@
-From 95c68a3b5f3bfe018bc38b7e138d47d21cd7e288 Mon Sep 17 00:00:00 2001
-From: Your Name <you@example.com>
-Date: Mon, 18 Jul 2022 22:56:44 +0200
-Subject: [PATCH 1/4] mallinfo
+musl does not support mallinfo, this patch changes OS_LINUX check to include
+checking for glibc too.
+
+Could probably be done in build system but not done because of Qt6 moving to CMake.
 
 ---
  src/3rdparty/chromium/base/process/process_metrics_posix.cc   | 4 ++--


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-26 16:09 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-26 16:09 UTC (permalink / raw
  To: gentoo-commits

commit:     de9b15821db95321b3d8dfea7b7c34cf2fa8a6e3
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Mon Jul 25 19:09:00 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Jul 26 16:08:21 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=de9b1582

dev-qt/qtwebengine: Remove unused patch

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 .../qtwebengine-5.15.5_p20220618-musl-hacks.patch  | 22 ----------------------
 1 file changed, 22 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks.patch
deleted file mode 100644
index 49912a22..00000000
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://git.alpinelinux.org/aports/tree/community/qt5-qtwebengine/musl-hacks.patch
-
----
- src/3rdparty/chromium/net/socket/udp_socket_posix.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/3rdparty/chromium/net/socket/udp_socket_posix.cc b/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-index 71265568b..b9043f4d1 100644
---- a/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-+++ b/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-@@ -1152,7 +1152,7 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers(
-     msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()});
-   msgvec->reserve(buffers.size());
-   for (size_t j = 0; j < buffers.size(); j++)
--    msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0});
-+    msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, 0, 0, 0}, 0});
-   int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0));
-   SendResult send_result(0, 0, std::move(buffers));
-   if (result < 0) {
--- 
-2.35.1
-


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-27 13:56 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-27 13:56 UTC (permalink / raw
  To: gentoo-commits

commit:     380d10212c8635924678c6e6643e66c25d980059
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Tue Jul 26 19:27:31 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jul 27 13:55:51 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=380d1021

dev-qt/qtwebengine: Update musl-hacks-ii

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 ...twebengine-5.15.5_p20220618-musl-hacks-ii.patch | 43 ++++++++++++----------
 1 file changed, 23 insertions(+), 20 deletions(-)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks-ii.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks-ii.patch
index b59d6c42..b54fcdf3 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks-ii.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-musl-hacks-ii.patch
@@ -1,35 +1,38 @@
-From 48104199ceb938ad21b4573958c16c224dfeff60 Mon Sep 17 00:00:00 2001
-From: Your Name <you@example.com>
-Date: Fri, 22 Jul 2022 18:13:11 +0200
-Subject: [PATCH] musl hacks ii
+From 91fcf20ad6923db94a228faa1cf3bcdcaa5f8cbc Mon Sep 17 00:00:00 2001
+From: Alfred Persson Forsberg <cat@catcream.org>
+Date: Tue, 26 Jul 2022 20:53:11 +0200
+Subject: [PATCH] Don't use initializer list for msghdr
 
+msghdr is defined with padding in musl libc. Using an initializer list
+will set an int padding (5th element) to nullptr and break the build
+because of implicit conversion error from ptr to int.
+
+Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
 ---
- .../chromium/net/socket/udp_socket_posix.cc      | 16 ++++++++++++++--
- 1 file changed, 14 insertions(+), 2 deletions(-)
+ .../chromium/net/socket/udp_socket_posix.cc        | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
 
 diff --git a/src/3rdparty/chromium/net/socket/udp_socket_posix.cc b/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-index 71265568b..7d82331f9 100644
+index 71265568b..58b2b1cbf 100644
 --- a/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
 +++ b/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-@@ -1151,8 +1151,20 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers(
+@@ -1151,8 +1151,18 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers(
    for (auto& buffer : buffers)
      msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()});
    msgvec->reserve(buffers.size());
 -  for (size_t j = 0; j < buffers.size(); j++)
 -    msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0});
 +  for (size_t j = 0; j < buffers.size(); j++) {
-+    auto hdr = new msghdr;
-+    hdr->msg_name = nullptr;
-+    hdr->msg_namelen = 0;
-+    hdr->msg_iov = &msg_iov[j];
-+    hdr->msg_iovlen = 1;
-+    hdr->__pad1 = 0;
-+    hdr->msg_control = 0;
-+    hdr->msg_controllen = 0;
-+    hdr->__pad2 = 0;
-+    hdr->msg_flags = 0;
-+    msgvec->push_back({hdr, 0});
-+    // msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0});
++    struct msghdr msg;
++    msg.msg_name = nullptr;
++    msg.msg_namelen = 0;
++    msg.msg_iov = &msg_iov[j];
++    msg.msg_iovlen = 1;
++    msg.msg_control = 0;
++    msg.msg_controllen = 0;
++    msg.msg_flags = 0;
++
++    msgvec->push_back({msg, 0});
 +  }
    int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0));
    SendResult send_result(0, 0, std::move(buffers));


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/
@ 2022-07-27 13:56 Anthony G. Basile
  0 siblings, 0 replies; 9+ messages in thread
From: Anthony G. Basile @ 2022-07-27 13:56 UTC (permalink / raw
  To: gentoo-commits

commit:     4bd7c0fcdd99abfebf60726d3b3206916948e80e
Author:     Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Tue Jul 26 19:48:58 2022 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jul 27 13:56:02 2022 +0000
URL:        https://gitweb.gentoo.org/proj/musl.git/commit/?id=4bd7c0fc

dev-qt/qtwebengine: Add links to msghdr patch

Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>

 .../files/qtwebengine-5.15.5_p20220618-msghdr-padding-initlist.patch   | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-msghdr-padding-initlist.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-msghdr-padding-initlist.patch
index b54fcdf3..16158fd9 100644
--- a/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-msghdr-padding-initlist.patch
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.5_p20220618-msghdr-padding-initlist.patch
@@ -7,6 +7,9 @@ msghdr is defined with padding in musl libc. Using an initializer list
 will set an int padding (5th element) to nullptr and break the build
 because of implicit conversion error from ptr to int.
 
+https://git.musl-libc.org/cgit/musl/tree/include/sys/socket.h#n22
+https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/bits/socket.h;h=4f1f810ea1d9bf00ff428e4e7c49a52c71620775;hb=6488f4d00653b489e7969c0a489dc665c26514a8#l262
+
 Signed-off-by: Alfred Persson Forsberg <cat@catcream.org>
 ---
  .../chromium/net/socket/udp_socket_posix.cc        | 14 ++++++++++++--


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-07-27 13:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-22 20:20 [gentoo-commits] proj/musl:master commit in: dev-qt/qtwebengine/files/ Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2022-07-27 13:56 Anthony G. Basile
2022-07-27 13:56 Anthony G. Basile
2022-07-26 16:09 Anthony G. Basile
2022-07-22 20:20 Anthony G. Basile
2022-07-22 20:20 Anthony G. Basile
2022-07-22 20:20 Anthony G. Basile
2022-07-22 20:20 Anthony G. Basile
2022-07-22 20:20 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox