I am seeing this failure https://errors.yoctoproject.org/Errors/Details/576554/
this is musl/gcc11/qemux86 On Wed, Apr 14, 2021 at 10:50 AM Trevor Gamblin <[email protected]> wrote: > > From: Randy MacLeod <[email protected]> > > Drop 0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch > since it was a backport. > > Drop 0001-pollGtk-Drop-volatile-qualifier.patch > since it's covered by: > f48efc8e Make pollGtk resetable. > > Drop 0001-utilBacktrace-Ignore-Warray-bounds.patch > since it's covered by: > 0cfda58a Make peeking back into the stack work for back traces > > Drop 0002-add-include-sys-sysmacros.h.patch > since it's covered by: > 69b7e1f9 Include sysmacros.h directly as mandated by glibc-2.25. > > Refit: > 0005-Use-configure-to-test-for-feature-instead-of-platfor.patch > 0009-Rename-poll.h-to-vm_poll.h.patch > 0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch > 0011-Use-uintmax_t-for-handling-rlim_t.patch > > Add: > 0001-Add-resolv_compat.h-for-musl-builds.patch > > Signed-off-by: Randy MacLeod <[email protected]> > Signed-off-by: Trevor Gamblin <[email protected]> > --- > ...-Add-resolv_compat.h-for-musl-builds.patch | 72 ++ > ....-Remove-references-to-deprecated-G_.patch | 94 --- > ...0001-pollGtk-Drop-volatile-qualifier.patch | 32 - > ...1-utilBacktrace-Ignore-Warray-bounds.patch | 33 - > .../0002-add-include-sys-sysmacros.h.patch | 30 - > ...ux-Consider-64bit-time_t-possibility.patch | 42 +- > ...-test-for-feature-instead-of-platfor.patch | 24 +- > .../0009-Rename-poll.h-to-vm_poll.h.patch | 726 ++---------------- > ...11-Use-uintmax_t-for-handling-rlim_t.patch | 25 +- > ...ools_11.0.1.bb => open-vm-tools_11.2.5.bb} | 13 +- > 10 files changed, 184 insertions(+), 907 deletions(-) > create mode 100644 > meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch > delete mode 100644 > meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch > delete mode 100644 > meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch > delete mode 100644 > meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch > delete mode 100644 > meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch > rename > meta-networking/recipes-support/open-vm-tools/{open-vm-tools_11.0.1.bb => > open-vm-tools_11.2.5.bb} (93%) > > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch > new file mode 100644 > index 000000000..aa7a5607c > --- /dev/null > +++ > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-Add-resolv_compat.h-for-musl-builds.patch > @@ -0,0 +1,72 @@ > +From c0c36ba5dd7047710e4c3135f147ce4119021200 Mon Sep 17 00:00:00 2001 > +From: Trevor Gamblin <[email protected]> > +Date: Wed, 14 Apr 2021 10:24:52 -0400 > +Subject: [PATCH] Add resolv_compat.h for musl builds > + > +musl doesn't implement res_ninit, so it needs to be defined > +independently for musl builds. This patch is based on the one at > +https://gitweb.gentoo.org/proj/musl.git/tree/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-resolver.patch?id=7f4100326793d55d45d0f5bb6178827ce6173513 > + > +Upstream-Status: Pending > + > +Signed-off-by: Trevor Gamblin <[email protected]> > +--- > + open-vm-tools/lib/nicInfo/nicInfoPosix.c | 4 +++ > + open-vm-tools/lib/nicInfo/resolv_compat.h | 30 +++++++++++++++++++++++ > + 2 files changed, 34 insertions(+) > + create mode 100644 open-vm-tools/lib/nicInfo/resolv_compat.h > + > +diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c > b/open-vm-tools/lib/nicInfo/nicInfoPosix.c > +index 8710c542..25f3146e 100644 > +--- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c > ++++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c > +@@ -70,6 +70,10 @@ > + # include <net/if.h> > + #endif > + > ++#if !defined(__GLIBC__) > ++#include "resolv_compat.h" > ++#endif > ++ > + /* > + * resolver(3) and IPv6: > + * > +diff --git a/open-vm-tools/lib/nicInfo/resolv_compat.h > b/open-vm-tools/lib/nicInfo/resolv_compat.h > +new file mode 100644 > +index 00000000..d768464b > +--- /dev/null > ++++ b/open-vm-tools/lib/nicInfo/resolv_compat.h > +@@ -0,0 +1,30 @@ > ++#if !defined(__GLIBC__) > ++/*************************************************************************** > ++ * resolv_compat.h > ++ * > ++ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc > ++ * Note: res_init() is actually deprecated according to > ++ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html > ++ **************************************************************************/ > ++#include <string.h> > ++ > ++static inline int res_ninit(res_state statp) > ++{ > ++ int rc = res_init(); > ++ if (statp != &_res) { > ++ memcpy(statp, &_res, sizeof(*statp)); > ++ } > ++ return rc; > ++} > ++ > ++static inline int res_nclose(res_state statp) > ++{ > ++ if (!statp) > ++ return -1; > ++ if (statp != &_res) { > ++ memset(statp, 0, sizeof(*statp)); > ++ } > ++ return 0; > ++} > ++#endif > ++ > +-- > +2.30.2 > + > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch > deleted file mode 100644 > index 6cb5dfccc..000000000 > --- > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch > +++ /dev/null > @@ -1,94 +0,0 @@ > -From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001 > -From: Oliver Kurth <[email protected]> > -Date: Mon, 30 Sep 2019 16:24:27 -0700 > -Subject: [PATCH] GitHub Issue #367. Remove references to deprecated > G_INLINE_FUNC. > - > -G_INLINE_FUNC was a work-around for compilers that didn't support > -static inline. Change uses of it to static inline. > - > -Upstream-Status: Backport > -[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c] > - > -Signed-off-by: Khem Raj <[email protected]> > ---- > - open-vm-tools/lib/include/vmware/tools/plugin.h | 2 +- > - open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++---- > - open-vm-tools/lib/include/vmware/tools/utils.h | 9 --------- > - 3 files changed, 5 insertions(+), 14 deletions(-) > - > -diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h > b/open-vm-tools/lib/include/vmware/tools/plugin.h > -index f9acc6a2..deefd1f3 100644 > ---- a/open-vm-tools/lib/include/vmware/tools/plugin.h > -+++ b/open-vm-tools/lib/include/vmware/tools/plugin.h > -@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx { > - * > - * @return TRUE if COM is initialized when the function returns. > - */ > --G_INLINE_FUNC gboolean > -+static inline gboolean > - ToolsCore_InitializeCOM(ToolsAppCtx *ctx) > - { > - if (!ctx->comInitialized) { > -diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h > b/open-vm-tools/lib/include/vmware/tools/threadPool.h > -index 3f2082b3..5880fbcf 100644 > ---- a/open-vm-tools/lib/include/vmware/tools/threadPool.h > -+++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h > -@@ -91,7 +91,7 @@ typedef struct ToolsCorePool { > - > ******************************************************************************* > - */ > - > --G_INLINE_FUNC ToolsCorePool * > -+static inline ToolsCorePool * > - ToolsCorePool_GetPool(ToolsAppCtx *ctx) > - { > - ToolsCorePool *pool = NULL; > -@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx) > - > ******************************************************************************* > - */ > - > --G_INLINE_FUNC guint > -+static inline guint > - ToolsCorePool_SubmitTask(ToolsAppCtx *ctx, > - ToolsCorePoolCb cb, > - gpointer data, > -@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx, > - > ******************************************************************************* > - */ > - > --G_INLINE_FUNC void > -+static inline void > - ToolsCorePool_CancelTask(ToolsAppCtx *ctx, > - guint taskId) > - { > -@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx, > - > ******************************************************************************* > - */ > - > --G_INLINE_FUNC gboolean > -+static inline gboolean > - ToolsCorePool_StartThread(ToolsAppCtx *ctx, > - const gchar *threadName, > - ToolsCorePoolCb cb, > -diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h > b/open-vm-tools/lib/include/vmware/tools/utils.h > -index f6574590..a3292d5c 100644 > ---- a/open-vm-tools/lib/include/vmware/tools/utils.h > -+++ b/open-vm-tools/lib/include/vmware/tools/utils.h > -@@ -51,15 +51,6 @@ > - # include <sys/time.h> > - #endif > - > -- > --/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */ > --#if defined(G_PLATFORM_WIN32) > --# if defined(G_INLINE_FUNC) > --# undef G_INLINE_FUNC > --# endif > --# define G_INLINE_FUNC static __inline > --#endif > -- > - #ifndef ABS > - # define ABS(x) (((x) >= 0) ? (x) : -(x)) > - #endif > --- > -2.23.0 > - > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch > deleted file mode 100644 > index adc6571f7..000000000 > --- > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-pollGtk-Drop-volatile-qualifier.patch > +++ /dev/null > @@ -1,32 +0,0 @@ > -From 7bd280f3cc07208760759c98bbfbac3f9d28f77c Mon Sep 17 00:00:00 2001 > -From: Khem Raj <[email protected]> > -Date: Fri, 5 Mar 2021 08:58:29 -0800 > -Subject: [PATCH] pollGtk: Drop volatile qualifier > - > -glib-2.0 has changed the function interfaces as well and do not expect > -it to be volatile. GCC 11 complains about it > - > -glib/gatomic.h:112:5: error: argument 2 of '__atomic_load' discards > 'volatile' qualifier [-Werror=incompatible-pointer-types] > - > -Upstream-Status: Pending > -Signed-off-by: Khem Raj <[email protected]> > ---- > - open-vm-tools/lib/pollGtk/pollGtk.c | 2 +- > - 1 file changed, 1 insertion(+), 1 deletion(-) > - > -diff --git a/open-vm-tools/lib/pollGtk/pollGtk.c > b/open-vm-tools/lib/pollGtk/pollGtk.c > -index 6d95bf01..a941e7a7 100644 > ---- a/open-vm-tools/lib/pollGtk/pollGtk.c > -+++ b/open-vm-tools/lib/pollGtk/pollGtk.c > -@@ -1473,7 +1473,7 @@ PollGtkBasicCallback(gpointer data) // IN: The > eventEntry > - void > - Poll_InitGtk(void) > - { > -- static volatile gsize inited = 0; > -+ static gsize inited = 0; > - > - static const PollImpl gtkImpl = > - { > --- > -2.30.1 > - > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch > deleted file mode 100644 > index 95664e855..000000000 > --- > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch > +++ /dev/null > @@ -1,33 +0,0 @@ > -From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001 > -From: Khem Raj <[email protected]> > -Date: Wed, 25 Dec 2019 15:25:02 -0800 > -Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds > - > -This is new warning with gcc10, until its fixed ignore it like gcc<10 > -did > - > -Upstream-Status: Pending > -Signed-off-by: Khem Raj <[email protected]> > ---- > - open-vm-tools/lib/user/utilBacktrace.c | 5 +++++ > - 1 file changed, 5 insertions(+) > - > -diff --git a/open-vm-tools/lib/user/utilBacktrace.c > b/open-vm-tools/lib/user/utilBacktrace.c > -index b72340ad..97ca53f2 100644 > ---- a/open-vm-tools/lib/user/utilBacktrace.c > -+++ b/open-vm-tools/lib/user/utilBacktrace.c > -@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr, // IN: > - } else { > - outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr); > - } > -+#pragma GCC diagnostic push > -+#pragma GCC diagnostic ignored "-Warray-bounds" > -+ > - Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData); > -+#pragma GCC diagnostic pop > - #endif > - } > -+ > --- > -2.24.1 > - > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch > deleted file mode 100644 > index 34628ffbe..000000000 > --- > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch > +++ /dev/null > @@ -1,30 +0,0 @@ > -From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001 > -From: Martin Kelly <[email protected]> > -Date: Mon, 22 May 2017 17:00:05 -0700 > -Subject: [PATCH] add #include <sys/sysmacros.h> > - > -In newer glibc versions, the definition for major() has been moved to > -sys/sysmacros.h, and using the older version in <sys/types.h> has been > -deprecated. So, add an include for <sys/sysmacros.h>. > - > -Upstream-Status: Pending > - > -Signed-off-by: Martin Kelly <[email protected]> > ---- > - open-vm-tools/lib/wiper/wiperPosix.c | 3 +++ > - 1 file changed, 3 insertions(+) > - > -diff --git a/open-vm-tools/lib/wiper/wiperPosix.c > b/open-vm-tools/lib/wiper/wiperPosix.c > -index bd542410..ccf06293 100644 > ---- a/open-vm-tools/lib/wiper/wiperPosix.c > -+++ b/open-vm-tools/lib/wiper/wiperPosix.c > -@@ -43,6 +43,9 @@ > - # include <libgen.h> > - # endif /* __FreeBSD_version >= 500000 */ > - #endif > -+#if defined(__linux__) > -+#include <sys/sysmacros.h> > -+#endif > - #include <unistd.h> > - > - #include "vmware.h" > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch > index 0f64eabc9..efada7aaf 100644 > --- > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch > +++ > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch > @@ -1,22 +1,27 @@ > -From fe56b67a2915a8632ea30604c14241f335dd3c15 Mon Sep 17 00:00:00 2001 > +From deba3b87a9bfad007f94b840c9ccd6f1c78c2e98 Mon Sep 17 00:00:00 2001 > From: Khem Raj <[email protected]> > -Date: Tue, 12 Nov 2019 10:49:46 -0800 > -Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility > +Date: Wed, 24 Mar 2021 17:36:26 -0400 > +Subject: [PATCH 1/2] hgfsServerLinux: Consider 64bit time_t possibility > > Upstream-Status: Pending > + > +Refit for open-vm-tools-11.2.5. > + > Signed-off-by: Khem Raj <[email protected]> > +Signed-off-by: Randy MacLeod <[email protected]> > +Signed-off-by: Trevor Gamblin <[email protected]> > --- > .../lib/hgfsServer/hgfsServerLinux.c | 19 +++++-------------- > 1 file changed, 5 insertions(+), 14 deletions(-) > > diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c > b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c > -index 03175623..554da67f 100644 > +index 62aeee6d..ba2e5624 100644 > --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c > +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c > -@@ -2561,20 +2561,11 @@ HgfsStatToFileAttr(struct stat *stats, // IN: > stat information > - LOG(4, ("%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, > - attr->specialPerms, attr->ownerPerms, attr->groupPerms, > - attr->otherPerms, attr->size)); > +@@ -2566,20 +2566,11 @@ HgfsStatToFileAttr(struct stat *stats, // IN: > stat information > + LOG(4, "%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__, > + attr->specialPerms, attr->ownerPerms, attr->groupPerms, > + attr->otherPerms, attr->size); > -#ifdef __FreeBSD__ > -# if !defined(VM_X86_64) && __FreeBSD_version >= 500043 > -# define FMTTIMET "" > @@ -26,16 +31,19 @@ index 03175623..554da67f 100644 > -#else > -# define FMTTIMET "l" > -#endif > -- LOG(4, ("access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u > \n" > -- "attr: %"FMTTIMET"d/%"FMT64"u\n", > -- stats->st_atime, attr->accessTime, stats->st_mtime, > attr->writeTime, > -- stats->st_ctime, attr->attrChangeTime)); > +- LOG(4, "access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u > \n" > +- "attr: %"FMTTIMET"d/%"FMT64"u\n", > +- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime, > +- stats->st_ctime, attr->attrChangeTime); > -#undef FMTTIMET > -+ LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n" > -+ "attr: %jd/%"FMT64"u\n", > -+ (intmax_t)stats->st_atime, attr->accessTime, > -+ (intmax_t)stats->st_mtime, attr->writeTime, > -+ (intmax_t)stats->st_ctime, attr->attrChangeTime)); > ++ //LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n" > ++ // "attr: %jd/%"FMT64"u\n", > ++ // (intmax_t)stats->st_atime, attr->accessTime, > ++ // (intmax_t)stats->st_mtime, attr->writeTime, > ++ // (intmax_t)stats->st_ctime, attr->attrChangeTime)); > > attr->userId = stats->st_uid; > attr->groupId = stats->st_gid; > +-- > +2.30.2 > + > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch > index c6378b808..34d4ce4a9 100644 > --- > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch > +++ > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch > @@ -1,4 +1,4 @@ > -From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001 > +From b653a81da70c44af002dcbc7489ad9f4588ed11d Mon Sep 17 00:00:00 2001 > From: Natanael Copa <[email protected]> > Date: Wed, 18 Nov 2015 10:05:07 +0000 > Subject: [PATCH] Use configure to test for feature instead of platform > @@ -18,7 +18,10 @@ The features we test for are: > > This is needed for musl libc. > > +Refit patch of open-vm-tools/lib/nicInfo/nicInfoPosix.c > + > Signed-off-by: Natanael Copa <[email protected]> > +Signed-off-by: Randy MacLeod <[email protected]> > --- > open-vm-tools/configure.ac | 4 ++++ > open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++------------- > @@ -26,10 +29,10 @@ Signed-off-by: Natanael Copa <[email protected]> > 3 files changed, 23 insertions(+), 17 deletions(-) > > diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac > -index 48ff1ef3..71e684bb 100644 > +index 27f3717f..6baab9e3 100644 > --- a/open-vm-tools/configure.ac > +++ b/open-vm-tools/configure.ac > -@@ -897,6 +897,7 @@ AC_CHECK_FUNCS( > +@@ -923,6 +923,7 @@ AC_CHECK_FUNCS( > > AC_CHECK_FUNCS([ecvt]) > AC_CHECK_FUNCS([fcvt]) > @@ -37,7 +40,7 @@ index 48ff1ef3..71e684bb 100644 > > AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes]) > > -@@ -1145,10 +1146,13 @@ fi > +@@ -1132,10 +1133,13 @@ fi > ### > > AC_CHECK_HEADERS([crypt.h]) > @@ -52,7 +55,7 @@ index 48ff1ef3..71e684bb 100644 > AC_CHECK_HEADERS([sys/io.h]) > AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check > work correctly on FreeBSD > diff --git a/open-vm-tools/lib/misc/idLinux.c > b/open-vm-tools/lib/misc/idLinux.c > -index b950cf84..1dcfb508 100644 > +index 1bb86f48..41c670cf 100644 > --- a/open-vm-tools/lib/misc/idLinux.c > +++ b/open-vm-tools/lib/misc/idLinux.c > @@ -27,12 +27,9 @@ > @@ -69,7 +72,7 @@ index b950cf84..1dcfb508 100644 > #ifdef __APPLE__ > #include <sys/socket.h> > #include <TargetConditionals.h> > -@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN: > +@@ -1025,31 +1022,32 @@ Id_EndSuperUser(uid_t uid) // IN: > static Bool > IdIsSetUGid(void) > { > @@ -115,13 +118,13 @@ index b950cf84..1dcfb508 100644 > } > #endif > diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c > b/open-vm-tools/lib/nicInfo/nicInfoPosix.c > -index a22981d5..b4e08681 100644 > +index cc5fa281..8710c542 100644 > --- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c > +++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c > -@@ -34,9 +34,13 @@ > - #include <sys/socket.h> > +@@ -35,9 +35,13 @@ > #include <sys/stat.h> > #include <errno.h> > + #include <limits.h> > -#if defined(__FreeBSD__) || defined(__APPLE__) > +#if HAVE_SYS_SYSCTL_H > # include <sys/sysctl.h> > @@ -133,3 +136,6 @@ index a22981d5..b4e08681 100644 > # include <net/if.h> > #endif > #ifndef NO_DNET > +-- > +2.27.0 > + > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch > index 9cf54f6f4..214dac471 100644 > --- > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch > +++ > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch > @@ -1,27 +1,36 @@ > -From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001 > -From: Khem Raj <[email protected]> > -Date: Wed, 13 Jun 2018 23:11:58 -0700 > +From 7a5db1cf47e70e72d78a42468912c276e57f865e Mon Sep 17 00:00:00 2001 > +From: Randy MacLeod <[email protected]> > +Date: Wed, 24 Mar 2021 16:21:35 -0400 > Subject: [PATCH] Rename poll.h to vm_poll.h > > +Rename poll.h to vm_poll.h and switch from: > + #include <sys/poll.h> > +to > + #include <poll.h> > + > musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this > we rename poll.h to vm_poll.h. > > +Update for open-vm-tools-11.2.5. > + > Signed-off-by: Natanael Copa <[email protected]> > Signed-off-by: Khem Raj <[email protected]> > +Signed-off-by: Randy MacLeod <[email protected]> > --- > - open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- > - open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- > - open-vm-tools/lib/include/asyncsocket.h | 2 +- > - open-vm-tools/lib/include/pollImpl.h | 2 +- > - open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- > - open-vm-tools/lib/rpcIn/rpcin.c | 2 +- > - .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +- > - 7 files changed, 7 insertions(+), 7 deletions(-) > + open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +- > + open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +- > + open-vm-tools/lib/include/asyncsocket.h | 2 +- > + open-vm-tools/lib/include/pollImpl.h | 2 +- > + open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +- > + open-vm-tools/lib/rpcIn/rpcin.c | 2 +- > + 6 files changed, 6 insertions(+), 6 deletions(-) > rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%) > > +diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c > b/open-vm-tools/lib/asyncsocket/asyncsocket.c > +index 9914ffc5..89679f7a 100644 > --- a/open-vm-tools/lib/asyncsocket/asyncsocket.c > +++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c > -@@ -86,7 +86,7 @@ > +@@ -87,7 +87,7 @@ > #include "random.h" > #include "asyncsocket.h" > #include "asyncSocketBase.h" > @@ -30,20 +39,24 @@ Signed-off-by: Khem Raj <[email protected]> > #include "log.h" > #include "err.h" > #include "hostinfo.h" > +diff --git a/open-vm-tools/lib/hgfsServer/hgfsServer.c > b/open-vm-tools/lib/hgfsServer/hgfsServer.c > +index 3a18a7e1..acdda54d 100644 > --- a/open-vm-tools/lib/hgfsServer/hgfsServer.c > +++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c > -@@ -48,7 +48,7 @@ > - #include "hgfsServerOplock.h" > +@@ -51,7 +51,7 @@ > #include "hgfsDirNotify.h" > + #include "hgfsThreadpool.h" > #include "userlock.h" > -#include "poll.h" > +#include "vm_poll.h" > #include "mutexRankLib.h" > #include "vm_basic_asm.h" > #include "unicodeOperations.h" > +diff --git a/open-vm-tools/lib/include/asyncsocket.h > b/open-vm-tools/lib/include/asyncsocket.h > +index 746dd78b..82c22f46 100644 > --- a/open-vm-tools/lib/include/asyncsocket.h > +++ b/open-vm-tools/lib/include/asyncsocket.h > -@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket; > +@@ -171,7 +171,7 @@ typedef struct AsyncSocket AsyncSocket; > * Or the client can specify its favorite poll class and locking behavior. > * Use of IVmdbPoll is only supported for regular sockets and for Attach. > */ > @@ -52,6 +65,8 @@ Signed-off-by: Khem Raj <[email protected]> > struct IVmdbPoll; > typedef struct AsyncSocketPollParams { > int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */ > +diff --git a/open-vm-tools/lib/include/pollImpl.h > b/open-vm-tools/lib/include/pollImpl.h > +index 46442e55..8bc66997 100644 > --- a/open-vm-tools/lib/include/pollImpl.h > +++ b/open-vm-tools/lib/include/pollImpl.h > @@ -44,7 +44,7 @@ > @@ -63,672 +78,24 @@ Signed-off-by: Khem Raj <[email protected]> > #include "vm_basic_asm.h" > > #if defined(__cplusplus) > +diff --git a/open-vm-tools/lib/include/poll.h > b/open-vm-tools/lib/include/vm_poll.h > +similarity index 99% > +rename from open-vm-tools/lib/include/poll.h > +rename to open-vm-tools/lib/include/vm_poll.h > +index c90f5dcd..73a56204 100644 > --- a/open-vm-tools/lib/include/poll.h > -+++ /dev/null > -@@ -1,330 +0,0 @@ > --/********************************************************* > -- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. > -- * > -- * This program is free software; you can redistribute it and/or modify it > -- * under the terms of the GNU Lesser General Public License as published > -- * by the Free Software Foundation version 2.1 and no later version. > -- * > -- * This program is distributed in the hope that it will be useful, but > -- * WITHOUT ANY WARRANTY; without even the implied warranty of > MERCHANTABILITY > -- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public > -- * License for more details. > -- * > -- * You should have received a copy of the GNU Lesser General Public License > -- * along with this program; if not, write to the Free Software Foundation, > Inc., > -- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. > -- * > -- *********************************************************/ > -- > --/********************************************************* > -- * The contents of this file are subject to the terms of the Common > -- * Development and Distribution License (the "License") version 1.0 > -- * and no later version. You may not use this file except in > -- * compliance with the License. > -- * > -- * You can obtain a copy of the License at > -- * http://www.opensource.org/licenses/cddl1.php > -- * > -- * See the License for the specific language governing permissions > -- * and limitations under the License. > -- * > -- *********************************************************/ > -- > -- > --#ifndef _POLL_H_ > --#define _POLL_H_ > -- > --#define INCLUDE_ALLOW_USERLEVEL > --#define INCLUDE_ALLOW_VMCORE > --#include "includeCheck.h" > -- > --#include "vm_basic_types.h" > --#include "vm_basic_defs.h" > --#include "vmware.h" > --#include "userlock.h" > -- > --#if defined(__cplusplus) > --extern "C" { > --#endif > -- > --#ifdef _WIN32 > --#define HZ 100 > --#elif defined linux > --#include <asm/param.h> > --#elif __APPLE__ > --#include <TargetConditionals.h> > --/* > -- * Old SDKs don't define TARGET_OS_IPHONE at all. > -- * New ones define it to 0 on Mac OS X, 1 on iOS. > -- */ > --#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 > --#include <sys/kernel.h> > --#endif > --#include <sys/poll.h> > --#define HZ 100 > --#endif > --#ifdef __ANDROID__ > --/* > -- * <poll.h> of android should be included, but its name is same > -- * with this file. So its content is put here to avoid conflict. > -- */ > --#include <asm/poll.h> > --#define HZ 100 > --typedef unsigned int nfds_t; > --int poll(struct pollfd *, nfds_t, long); > --#endif > -- > -- > --/* > -- * Poll event types: each type has a different reason for firing, > -- * or condition that must be met before firing. > -- */ > -- > --typedef enum { > -- /* > -- * Actual Poll queue types against which you can register callbacks. > -- */ > -- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q > */ > -- POLL_VTIME = 0, > -- POLL_REALTIME, > -- POLL_DEVICE, > -- POLL_MAIN_LOOP, > -- POLL_NUM_QUEUES > --} PollEventType; > -- > -- > --/* > -- * Classes of events > -- * > -- * These are the predefined classes. More can be declared > -- * with Poll_AllocClass(). > -- */ > -- > --typedef enum PollClass { > -- POLL_CLASS_MAIN, > -- POLL_CLASS_PAUSE, > -- POLL_CLASS_IPC, > -- POLL_CLASS_CPT, > -- POLL_CLASS_MKS, > -- POLL_FIXED_CLASSES, > -- POLL_DEFAULT_FIXED_CLASSES, > -- /* Size enum to maximum */ > -- POLL_MAX_CLASSES = 31, > --} PollClass; > -- > --/* > -- * Do not use; Special pseudo private poll class supported by > -- * PollDefault only > -- */ > --#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES > --#define POLL_DEFAULT_CS_NET > PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET) > -- > --/* > -- * Each callback is registered in a set of classes > -- */ > -- > --typedef struct PollClassSet { > -- uintptr_t bits; > --} PollClassSet; > -- > --/* An empty PollClassSet. */ > --static INLINE PollClassSet > --PollClassSet_Empty(void) > --{ > -- PollClassSet set = { 0 }; > -- return set; > --} > -- > --/* A PollClassSet with the single member. */ > --static INLINE PollClassSet > --PollClassSet_Singleton(PollClass c) > --{ > -- PollClassSet s = PollClassSet_Empty(); > -- > -- ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8); > -- ASSERT(c < POLL_MAX_CLASSES); > -- > -- s.bits = CONST3264U(1) << c; > -- return s; > --} > -- > --/* Combine two PollClassSets. */ > --static INLINE PollClassSet > --PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) > --{ > -- PollClassSet set; > -- set.bits = lhs.bits | rhs.bits; > -- return set; > --} > -- > --/* Add single class to PollClassSet. */ > --static INLINE PollClassSet > --PollClassSet_Include(PollClassSet set, PollClass c) > --{ > -- return PollClassSet_Union(set, PollClassSet_Singleton(c)); > --} > -- > -- > --#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) > --#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ > -- PollClassSet_Singleton(POLL_CLASS_PAUSE)) > --#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ > -- PollClassSet_Singleton(POLL_CLASS_CPT)) > --#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ > -- PollClassSet_Singleton(POLL_CLASS_IPC)) > --#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ > --#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) > --/* > -- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. > -- */ > --#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) > -- > --/* > -- * Poll class-set taxonomy: > -- * POLL_CS_MAIN > -- * - Unless you NEED another class, use POLL_CS_MAIN. > -- * POLL_CS_PAUSE > -- * - For callbacks that must occur even if the guest is paused. > -- * Most VMDB or Foundry commands are in this category. > -- * POLL_CS_CPT > -- * - Only for callbacks which can trigger intermediate Checkpoint > -- * transitions. > -- * The ONLY such callback is Migrate. > -- * POLL_CS_IPC > -- * - Only for callbacks which can contain Msg_(Post|Hint|Question) > -- * responses, and for signal handlers (why)? > -- * Vigor, VMDB, and Foundry can contain Msg_* responses. > -- * POLL_CS_MKS > -- * - Callback runs in MKS thread. > -- * POLL_CS_ALWAYS > -- * - Only for events that must be processed immediately. > -- * The ONLY such callback is OvhdMemVmxSizeCheck. > -- */ > -- > -- > --/* > -- * Poll_Callback flags > -- */ > -- > --#define POLL_FLAG_PERIODIC 0x01 // keep after firing > --#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory > --#define POLL_FLAG_READ 0x04 // device is ready > for reading > --#define POLL_FLAG_WRITE 0x08 // device is ready > for writing > --#define POLL_FLAG_SOCKET 0x10 // device is a Windows > socket > --#define POLL_FLAG_NO_BULL 0x20 // callback does its own > locking > --#define POLL_FLAG_WINSOCK 0x40 // Winsock style write > events > --#define POLL_FLAG_FD 0x80 // device is a Windows file > descriptor. > --#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party > libs, e.g. curl > --#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window > message loop > -- > -- > --typedef void (*PollerFunction)(void *clientData); > --typedef void (*PollerFireWrapper)(PollerFunction func, > -- void *funcData, > -- void *wrapperData); > --typedef Bool (*PollerErrorFn)(const char *errorStr); > -- > --/* > -- * Initialisers: > -- * > -- * For the sake of convenience, we declare the initialisers > -- * for custom implmentations here, even though the actual > -- * implementations are distinct from the core poll code. > -- */ > -- > --typedef struct PollOptions { > -- Bool locked; // Use internal MXUser for locking > -- Bool allowFullQueue; // Don't assert when device event queue is full. > -- VThreadID windowsMsgThread; // thread that processes Windows > messages > -- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats > -- void *fireWrapperData; // optional > -- PollerErrorFn errorFn; // optional; called upon unrecoverable error > --} PollOptions; > -- > -- > --void Poll_InitDefault(void); > --void Poll_InitDefaultEx(const PollOptions *opts); > --void Poll_InitGtk(void); // On top of glib for Linux > --void Poll_InitCF(void); // On top of CoreFoundation for OSX > -- > -- > --/* > -- * Functions > -- */ > --int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); > --void Poll_Loop(Bool loop, Bool *exit, PollClass c); > --void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); > --Bool Poll_LockingEnabled(void); > --void Poll_Exit(void); > -- > -- > --/* > -- * Poll_Callback adds a callback regardless of whether an identical one > exists. > -- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum > of > -- * one read and one write callback per fd. > -- * > -- * Poll_CallbackRemove removes one callback. If there are multiple identical > -- * callbacks, which one is removed is an implementation detail. Note that in > -- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to > -- * create the callback is not specified when removing, so all callbacks > -- * of those types with the same flags, function, and clientData are > considered > -- * "identical" even if their fd/delay differed. > -- */ > -- > --VMwareStatus Poll_Callback(PollClassSet classSet, > -- int flags, > -- PollerFunction f, > -- void *clientData, > -- PollEventType type, > -- PollDevHandle info, // fd/microsec delay > -- MXUserRecLock *lck); > --Bool Poll_CallbackRemove(PollClassSet classSet, > -- int flags, > -- PollerFunction f, > -- void *clientData, > -- PollEventType type); > --Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, > -- int flags, > -- PollerFunction f, > -- PollEventType type, > -- void **clientData); > -- > --void Poll_NotifyChange(PollClassSet classSet); > -- > --/* > -- * Wrappers for Poll_Callback and Poll_CallbackRemove that present > -- * simpler subsets of those interfaces. > -- */ > -- > --VMwareStatus Poll_CB_Device(PollerFunction f, > -- void *clientData, > -- PollDevHandle device, > -- Bool periodic); > -- > --Bool Poll_CB_DeviceRemove(PollerFunction f, > -- void *clientData, > -- Bool periodic); > -- > -- > --VMwareStatus Poll_CB_RTime(PollerFunction f, > -- void *clientData, > -- int64 delay, // microseconds > -- Bool periodic, > -- MXUserRecLock *lock); > -- > --Bool Poll_CB_RTimeRemove(PollerFunction f, > -- void *clientData, > -- Bool periodic); > -- > -- > --#ifdef _WIN32 > --void Poll_SetPumpsWindowsMessages(Bool pumps); > --void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); > --Bool Poll_FireWndCallback(void *lparam); > --#endif > -- > --#if defined(__cplusplus) > --} // extern "C" > --#endif > -- > --#endif // _POLL_H_ > ---- /dev/null > +++ b/open-vm-tools/lib/include/vm_poll.h > -@@ -0,0 +1,330 @@ > -+/********************************************************* > -+ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved. > -+ * > -+ * This program is free software; you can redistribute it and/or modify it > -+ * under the terms of the GNU Lesser General Public License as published > -+ * by the Free Software Foundation version 2.1 and no later version. > -+ * > -+ * This program is distributed in the hope that it will be useful, but > -+ * WITHOUT ANY WARRANTY; without even the implied warranty of > MERCHANTABILITY > -+ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public > -+ * License for more details. > -+ * > -+ * You should have received a copy of the GNU Lesser General Public License > -+ * along with this program; if not, write to the Free Software Foundation, > Inc., > -+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. > -+ * > -+ *********************************************************/ > -+ > -+/********************************************************* > -+ * The contents of this file are subject to the terms of the Common > -+ * Development and Distribution License (the "License") version 1.0 > -+ * and no later version. You may not use this file except in > -+ * compliance with the License. > -+ * > -+ * You can obtain a copy of the License at > -+ * http://www.opensource.org/licenses/cddl1.php > -+ * > -+ * See the License for the specific language governing permissions > -+ * and limitations under the License. > -+ * > -+ *********************************************************/ > -+ > -+ > -+#ifndef _POLL_H_ > -+#define _POLL_H_ > -+ > -+#define INCLUDE_ALLOW_USERLEVEL > -+#define INCLUDE_ALLOW_VMCORE > -+#include "includeCheck.h" > -+ > -+#include "vm_basic_types.h" > -+#include "vm_basic_defs.h" > -+#include "vmware.h" > -+#include "userlock.h" > -+ > -+#if defined(__cplusplus) > -+extern "C" { > -+#endif > -+ > -+#ifdef _WIN32 > -+#define HZ 100 > -+#elif defined linux > -+#include <asm/param.h> > -+#elif __APPLE__ > -+#include <TargetConditionals.h> > -+/* > -+ * Old SDKs don't define TARGET_OS_IPHONE at all. > -+ * New ones define it to 0 on Mac OS X, 1 on iOS. > -+ */ > -+#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 > -+#include <sys/kernel.h> > -+#endif > +@@ -60,7 +60,7 @@ extern "C" { > + #if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0 > + #include <sys/kernel.h> > + #endif > +-#include <sys/poll.h> > +#include <poll.h> > -+#define HZ 100 > -+#endif > -+#ifdef __ANDROID__ > -+/* > -+ * <poll.h> of android should be included, but its name is same > -+ * with this file. So its content is put here to avoid conflict. > -+ */ > -+#include <asm/poll.h> > -+#define HZ 100 > -+typedef unsigned int nfds_t; > -+int poll(struct pollfd *, nfds_t, long); > -+#endif > -+ > -+ > -+/* > -+ * Poll event types: each type has a different reason for firing, > -+ * or condition that must be met before firing. > -+ */ > -+ > -+typedef enum { > -+ /* > -+ * Actual Poll queue types against which you can register callbacks. > -+ */ > -+ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q > */ > -+ POLL_VTIME = 0, > -+ POLL_REALTIME, > -+ POLL_DEVICE, > -+ POLL_MAIN_LOOP, > -+ POLL_NUM_QUEUES > -+} PollEventType; > -+ > -+ > -+/* > -+ * Classes of events > -+ * > -+ * These are the predefined classes. More can be declared > -+ * with Poll_AllocClass(). > -+ */ > -+ > -+typedef enum PollClass { > -+ POLL_CLASS_MAIN, > -+ POLL_CLASS_PAUSE, > -+ POLL_CLASS_IPC, > -+ POLL_CLASS_CPT, > -+ POLL_CLASS_MKS, > -+ POLL_FIXED_CLASSES, > -+ POLL_DEFAULT_FIXED_CLASSES, > -+ /* Size enum to maximum */ > -+ POLL_MAX_CLASSES = 31, > -+} PollClass; > -+ > -+/* > -+ * Do not use; Special pseudo private poll class supported by > -+ * PollDefault only > -+ */ > -+#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES > -+#define POLL_DEFAULT_CS_NET > PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET) > -+ > -+/* > -+ * Each callback is registered in a set of classes > -+ */ > -+ > -+typedef struct PollClassSet { > -+ uintptr_t bits; > -+} PollClassSet; > -+ > -+/* An empty PollClassSet. */ > -+static INLINE PollClassSet > -+PollClassSet_Empty(void) > -+{ > -+ PollClassSet set = { 0 }; > -+ return set; > -+} > -+ > -+/* A PollClassSet with the single member. */ > -+static INLINE PollClassSet > -+PollClassSet_Singleton(PollClass c) > -+{ > -+ PollClassSet s = PollClassSet_Empty(); > -+ > -+ ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8); > -+ ASSERT(c < POLL_MAX_CLASSES); > -+ > -+ s.bits = CONST3264U(1) << c; > -+ return s; > -+} > -+ > -+/* Combine two PollClassSets. */ > -+static INLINE PollClassSet > -+PollClassSet_Union(PollClassSet lhs, PollClassSet rhs) > -+{ > -+ PollClassSet set; > -+ set.bits = lhs.bits | rhs.bits; > -+ return set; > -+} > -+ > -+/* Add single class to PollClassSet. */ > -+static INLINE PollClassSet > -+PollClassSet_Include(PollClassSet set, PollClass c) > -+{ > -+ return PollClassSet_Union(set, PollClassSet_Singleton(c)); > -+} > -+ > -+ > -+#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN) > -+#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \ > -+ PollClassSet_Singleton(POLL_CLASS_PAUSE)) > -+#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \ > -+ PollClassSet_Singleton(POLL_CLASS_CPT)) > -+#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \ > -+ PollClassSet_Singleton(POLL_CLASS_IPC)) > -+#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */ > -+#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS) > -+/* > -+ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it. > -+ */ > -+#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC) > -+ > -+/* > -+ * Poll class-set taxonomy: > -+ * POLL_CS_MAIN > -+ * - Unless you NEED another class, use POLL_CS_MAIN. > -+ * POLL_CS_PAUSE > -+ * - For callbacks that must occur even if the guest is paused. > -+ * Most VMDB or Foundry commands are in this category. > -+ * POLL_CS_CPT > -+ * - Only for callbacks which can trigger intermediate Checkpoint > -+ * transitions. > -+ * The ONLY such callback is Migrate. > -+ * POLL_CS_IPC > -+ * - Only for callbacks which can contain Msg_(Post|Hint|Question) > -+ * responses, and for signal handlers (why)? > -+ * Vigor, VMDB, and Foundry can contain Msg_* responses. > -+ * POLL_CS_MKS > -+ * - Callback runs in MKS thread. > -+ * POLL_CS_ALWAYS > -+ * - Only for events that must be processed immediately. > -+ * The ONLY such callback is OvhdMemVmxSizeCheck. > -+ */ > -+ > -+ > -+/* > -+ * Poll_Callback flags > -+ */ > -+ > -+#define POLL_FLAG_PERIODIC 0x01 // keep after firing > -+#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory > -+#define POLL_FLAG_READ 0x04 // device is ready > for reading > -+#define POLL_FLAG_WRITE 0x08 // device is ready > for writing > -+#define POLL_FLAG_SOCKET 0x10 // device is a Windows > socket > -+#define POLL_FLAG_NO_BULL 0x20 // callback does its own > locking > -+#define POLL_FLAG_WINSOCK 0x40 // Winsock style write > events > -+#define POLL_FLAG_FD 0x80 // device is a Windows file > descriptor. > -+#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party > libs, e.g. curl > -+#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window > message loop > -+ > -+ > -+typedef void (*PollerFunction)(void *clientData); > -+typedef void (*PollerFireWrapper)(PollerFunction func, > -+ void *funcData, > -+ void *wrapperData); > -+typedef Bool (*PollerErrorFn)(const char *errorStr); > -+ > -+/* > -+ * Initialisers: > -+ * > -+ * For the sake of convenience, we declare the initialisers > -+ * for custom implmentations here, even though the actual > -+ * implementations are distinct from the core poll code. > -+ */ > -+ > -+typedef struct PollOptions { > -+ Bool locked; // Use internal MXUser for locking > -+ Bool allowFullQueue; // Don't assert when device event queue is full. > -+ VThreadID windowsMsgThread; // thread that processes Windows > messages > -+ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats > -+ void *fireWrapperData; // optional > -+ PollerErrorFn errorFn; // optional; called upon unrecoverable error > -+} PollOptions; > -+ > -+ > -+void Poll_InitDefault(void); > -+void Poll_InitDefaultEx(const PollOptions *opts); > -+void Poll_InitGtk(void); // On top of glib for Linux > -+void Poll_InitCF(void); // On top of CoreFoundation for OSX > -+ > -+ > -+/* > -+ * Functions > -+ */ > -+int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]); > -+void Poll_Loop(Bool loop, Bool *exit, PollClass c); > -+void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout); > -+Bool Poll_LockingEnabled(void); > -+void Poll_Exit(void); > -+ > -+ > -+/* > -+ * Poll_Callback adds a callback regardless of whether an identical one > exists. > -+ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum > of > -+ * one read and one write callback per fd. > -+ * > -+ * Poll_CallbackRemove removes one callback. If there are multiple identical > -+ * callbacks, which one is removed is an implementation detail. Note that in > -+ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to > -+ * create the callback is not specified when removing, so all callbacks > -+ * of those types with the same flags, function, and clientData are > considered > -+ * "identical" even if their fd/delay differed. > -+ */ > -+ > -+VMwareStatus Poll_Callback(PollClassSet classSet, > -+ int flags, > -+ PollerFunction f, > -+ void *clientData, > -+ PollEventType type, > -+ PollDevHandle info, // fd/microsec delay > -+ MXUserRecLock *lck); > -+Bool Poll_CallbackRemove(PollClassSet classSet, > -+ int flags, > -+ PollerFunction f, > -+ void *clientData, > -+ PollEventType type); > -+Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet, > -+ int flags, > -+ PollerFunction f, > -+ PollEventType type, > -+ void **clientData); > -+ > -+void Poll_NotifyChange(PollClassSet classSet); > -+ > -+/* > -+ * Wrappers for Poll_Callback and Poll_CallbackRemove that present > -+ * simpler subsets of those interfaces. > -+ */ > -+ > -+VMwareStatus Poll_CB_Device(PollerFunction f, > -+ void *clientData, > -+ PollDevHandle device, > -+ Bool periodic); > -+ > -+Bool Poll_CB_DeviceRemove(PollerFunction f, > -+ void *clientData, > -+ Bool periodic); > -+ > -+ > -+VMwareStatus Poll_CB_RTime(PollerFunction f, > -+ void *clientData, > -+ int64 delay, // microseconds > -+ Bool periodic, > -+ MXUserRecLock *lock); > -+ > -+Bool Poll_CB_RTimeRemove(PollerFunction f, > -+ void *clientData, > -+ Bool periodic); > -+ > -+ > -+#ifdef _WIN32 > -+void Poll_SetPumpsWindowsMessages(Bool pumps); > -+void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk); > -+Bool Poll_FireWndCallback(void *lparam); > -+#endif > -+ > -+#if defined(__cplusplus) > -+} // extern "C" > -+#endif > -+ > -+#endif // _POLL_H_ > + #define HZ 100 > + #endif > + #ifdef __ANDROID__ > +diff --git a/open-vm-tools/lib/rpcIn/rpcin.c > b/open-vm-tools/lib/rpcIn/rpcin.c > +index 8b1fe759..f22fcd40 100644 > --- a/open-vm-tools/lib/rpcIn/rpcin.c > +++ b/open-vm-tools/lib/rpcIn/rpcin.c > @@ -57,7 +57,7 @@ > @@ -740,3 +107,6 @@ Signed-off-by: Khem Raj <[email protected]> > # include "asyncsocket.h" > # include "vmci_defs.h" > #include "dataMap.h" > +-- > +2.27.0 > + > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch > > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch > index 0a1d00873..144b5837c 100644 > --- > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch > +++ > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch > @@ -1,29 +1,36 @@ > -From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001 > +From 4b69d8fd78bf6edbc8b4ace58e621d46071fd8dc Mon Sep 17 00:00:00 2001 > From: Khem Raj <[email protected]> > -Date: Wed, 13 Jun 2018 23:37:09 -0700 > -Subject: [PATCH] Use uintmax_t for handling rlim_t > +Date: Wed, 24 Mar 2021 17:26:53 -0400 > +Subject: [PATCH 2/2] Use uintmax_t for handling rlim_t > > rlimit types are not representable with long or long long > formats, therefore use uintmax_t to typecast rlim_t types > and use %j to print it > > +Refit patch for open-vm-tools-11.2.5. > + > Signed-off-by: Khem Raj <[email protected]> > +Signed-off-by: Randy MacLeod <[email protected]> > +Signed-off-by: Trevor Gamblin <[email protected]> > --- > open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c > b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c > -index 0e6351a9..a2ee1740 100644 > +index ba2e5624..889f730a 100644 > --- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c > +++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c > -@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: > +@@ -5292,8 +5292,8 @@ HgfsWriteCheckIORange(off_t offset, // IN: > goto exit; > } > > -- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", > -- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max)); > -+ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", > -+ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, > (uintmax_t)fileSize.rlim_max)); > +- LOG(6, "%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n", > +- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max); > ++ //LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n", > ++ // __FUNCTION__, (uintmax_t)fileSize.rlim_cur, > (uintmax_t)fileSize.rlim_max)); > > /* > * Check the offset is within the file size range. > +-- > +2.30.2 > + > diff --git > a/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb > b/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.2.5.bb > similarity index 93% > rename from > meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb > rename to > meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.2.5.bb > index 832fab1ea..256949a03 100644 > --- a/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb > +++ b/meta-networking/recipes-support/open-vm-tools/open-vm-tools_11.2.5.bb > @@ -11,6 +11,10 @@ > > SUMMARY = "Tools to enhance VMWare guest integration and performance" > HOMEPAGE = "https://github.com/vmware/open-vm-tools" > +DESCRIPTION = "\ > +open-vm-tools is a set of services and modules that enable several features > in VMware products \ > +for better management of and seamless user interactions with guests.\ > +" > SECTION = "vmware-tools" > > LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0" > @@ -26,7 +30,6 @@ SRC_URI = > "git://github.com/vmware/open-vm-tools.git;protocol=https \ > file://vmtoolsd.service \ > file://vmtoolsd.init \ > file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \ > - file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \ > file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \ > file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. > \ > > file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. > \ > @@ -38,15 +41,15 @@ SRC_URI = > "git://github.com/vmware/open-vm-tools.git;protocol=https \ > file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \ > file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \ > file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \ > - > file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. > \ > > file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. > \ > > file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. > \ > - file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \ > file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \ > - file://0001-pollGtk-Drop-volatile-qualifier.patch;patchdir=.. \ > " > > -SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987" > +SRC_URI_append_libc-musl = " > file://0001-Add-resolv_compat.h-for-musl-builds.patch;patchdir=.. \ > +" > + > +SRCREV = "7ae57c3c7c1f68c74637ad009673dae94ee52570" > > S = "${WORKDIR}/git/open-vm-tools" > > -- > 2.30.2 >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#90824): https://lists.openembedded.org/g/openembedded-devel/message/90824 Mute This Topic: https://lists.openembedded.org/mt/82098286/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
