public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/wasmedge] f43: Release 0.16.1
@ 2026-06-02  4:24 hydai
  0 siblings, 0 replies; only message in thread
From: hydai @ 2026-06-02  4:24 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/wasmedge
            Branch : f43
            Commit : 2deb44698f7b7a165a2e4fefadcb3a351f8921b9
            Author : hydai <hydai@hyd.ai>
            Date   : 2026-01-29T10:57:10+00:00
            Stats  : +149/-55 in 5 file(s)
            URL    : https://src.fedoraproject.org/rpms/wasmedge/c/2deb44698f7b7a165a2e4fefadcb3a351f8921b9?branch=f43

            Log:
            Release 0.16.1

Signed-off-by: hydai <hydai@hyd.ai>

---
diff --git a/.gitignore b/.gitignore
index 2010a24..f7f5b05 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@
 /WasmEdge-0.14.0-src.tar.gz
 /WasmEdge-0.14.1-src.tar.gz
 /WasmEdge-0.15.0-src.tar.gz
+/WasmEdge-0.16.1-src.tar.gz

diff --git a/0001-fix-refactor-Poller-context-handling-to-use-pointer-instead-of-wrapper.patch b/0001-fix-refactor-Poller-context-handling-to-use-pointer-instead-of-wrapper.patch
new file mode 100644
index 0000000..bc373d6
--- /dev/null
+++ b/0001-fix-refactor-Poller-context-handling-to-use-pointer-instead-of-wrapper.patch
@@ -0,0 +1,131 @@
+From 3b9c754fbe96289452ef76951e783e5a7d7eacc7 Mon Sep 17 00:00:00 2001
+From: "Wang-Yang, Li" <7088579+LFsWang@users.noreply.github.com>
+Date: Tue, 13 Jan 2026 01:24:29 +0800
+Subject: [PATCH] fix: refactor Poller context handling to use pointer instead
+ of wrapper (#4509)
+
+fix: refactor Poller context handling to use direct reference instead of wrapper
+
+Signed-off-by: LFsWang <tnst92002@gmail.com>
+---
+ include/host/wasi/environ.h   |  2 +-
+ include/host/wasi/inode.h     |  2 +-
+ lib/host/wasi/inode-linux.cpp | 12 ++++++------
+ lib/host/wasi/inode-macos.cpp |  2 +-
+ lib/host/wasi/inode-win.cpp   |  2 +-
+ 5 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/include/host/wasi/environ.h b/include/host/wasi/environ.h
+index 83783a2b..2e2f3b97 100644
+--- a/include/host/wasi/environ.h
++++ b/include/host/wasi/environ.h
+@@ -1284,7 +1284,7 @@ public:
+   void close(std::shared_ptr<VINode> Node) noexcept { VPoller::close(Node); }
+ 
+ private:
+-  Environ &env() noexcept { return static_cast<Environ &>(Ctx.get()); }
++  Environ &env() noexcept { return static_cast<Environ &>(*Ctx); }
+ };
+ 
+ inline WasiExpect<EVPoller>
+diff --git a/include/host/wasi/inode.h b/include/host/wasi/inode.h
+index 758cdb03..15bad334 100644
+--- a/include/host/wasi/inode.h
++++ b/include/host/wasi/inode.h
+@@ -911,7 +911,7 @@ public:
+   bool ok() noexcept;
+ 
+ protected:
+-  std::reference_wrapper<PollerContext> Ctx;
++  PollerContext *Ctx;
+ 
+ private:
+   Span<__wasi_event_t> WasiEvents;
+diff --git a/lib/host/wasi/inode-linux.cpp b/lib/host/wasi/inode-linux.cpp
+index 01c0e290..e6875a19 100644
+--- a/lib/host/wasi/inode-linux.cpp
++++ b/lib/host/wasi/inode-linux.cpp
+@@ -1592,7 +1592,7 @@ Poller::Poller(PollerContext &C) noexcept
+           ::epoll_create(32)
+ #endif
+               ),
+-      Ctx(C) {
++      Ctx(&C) {
+ #if !__GLIBC_PREREQ(2, 9)
+   if (auto Res = ::fcntl(Fd, F_SETFD, FD_CLOEXEC); unlikely(Res != 0)) {
+     FdHolder::reset();
+@@ -1623,7 +1623,7 @@ void Poller::clock(__wasi_clockid_t Clock, __wasi_timestamp_t Timeout,
+   Event.userdata = UserData;
+   Event.type = __WASI_EVENTTYPE_CLOCK;
+ 
+-  if (auto Res = Ctx.get().acquireTimer(Clock); unlikely(!Res)) {
++  if (auto Res = Ctx->acquireTimer(Clock); unlikely(!Res)) {
+     Event.Valid = true;
+     Event.error = Res.error();
+     return;
+@@ -1633,7 +1633,7 @@ void Poller::clock(__wasi_clockid_t Clock, __wasi_timestamp_t Timeout,
+ 
+   auto &Timer = Timers.back();
+   if (auto Res = Timer.setTime(Timeout, Precision, Flags); unlikely(!Res)) {
+-    Ctx.get().releaseTimer(std::move(Timer));
++    Ctx->releaseTimer(std::move(Timer));
+     Timers.pop_back();
+     Event.Valid = true;
+     Event.error = Res.error();
+@@ -1657,7 +1657,7 @@ void Poller::clock(__wasi_clockid_t Clock, __wasi_timestamp_t Timeout,
+     if (auto Res = ::epoll_ctl(Fd, EPOLL_CTL_ADD, Timer.Fd, &EPollEvent);
+         unlikely(Res < 0)) {
+       FdDatas.erase(Iter);
+-      Ctx.get().releaseTimer(std::move(Timer));
++      Ctx->releaseTimer(std::move(Timer));
+       Timers.pop_back();
+       Event.Valid = true;
+       Event.error = fromErrNo(errno);
+@@ -1666,7 +1666,7 @@ void Poller::clock(__wasi_clockid_t Clock, __wasi_timestamp_t Timeout,
+ 
+     return;
+   } catch (std::bad_alloc &) {
+-    Ctx.get().releaseTimer(std::move(Timer));
++    Ctx->releaseTimer(std::move(Timer));
+     Timers.pop_back();
+     Event.Valid = true;
+     Event.error = __WASI_ERRNO_NOMEM;
+@@ -1895,7 +1895,7 @@ void Poller::wait() noexcept {
+     // `this` as the dummy parameter.
+     ::epoll_ctl(Fd, EPOLL_CTL_DEL, Timer.Fd,
+                 reinterpret_cast<struct epoll_event *>(this));
+-    Ctx.get().releaseTimer(std::move(Timer));
++    Ctx->releaseTimer(std::move(Timer));
+   }
+ 
+   std::swap(FdDatas, OldFdDatas);
+diff --git a/lib/host/wasi/inode-macos.cpp b/lib/host/wasi/inode-macos.cpp
+index a622f71a..bb9e57ff 100644
+--- a/lib/host/wasi/inode-macos.cpp
++++ b/lib/host/wasi/inode-macos.cpp
+@@ -1392,7 +1392,7 @@ WasiExpect<void> INode::updateStat() const noexcept {
+   return {};
+ }
+ 
+-Poller::Poller(PollerContext &C) noexcept : FdHolder(::kqueue()), Ctx(C) {}
++Poller::Poller(PollerContext &C) noexcept : FdHolder(::kqueue()), Ctx(&C) {}
+ 
+ WasiExpect<void> Poller::prepare(Span<__wasi_event_t> E) noexcept {
+   WasiEvents = E;
+diff --git a/lib/host/wasi/inode-win.cpp b/lib/host/wasi/inode-win.cpp
+index f2b2a33a..b9f2cf27 100644
+--- a/lib/host/wasi/inode-win.cpp
++++ b/lib/host/wasi/inode-win.cpp
+@@ -2179,7 +2179,7 @@ WasiExpect<__wasi_filesize_t> INode::filesize() const noexcept {
+ 
+ bool INode::canBrowse() const noexcept { return SavedVFSFlags & VFS::Read; }
+ 
+-Poller::Poller(PollerContext &C) noexcept : Ctx(C) {}
++Poller::Poller(PollerContext &C) noexcept : Ctx(&C) {}
+ 
+ WasiExpect<void> Poller::prepare(Span<__wasi_event_t> E) noexcept {
+   WasiEvents = E;
+-- 
+2.52.0
+
+

diff --git a/0001-fix-runtime-refine-the-overflow-detection-when-wrapp.patch b/0001-fix-runtime-refine-the-overflow-detection-when-wrapp.patch
deleted file mode 100644
index c332c3e..0000000
--- a/0001-fix-runtime-refine-the-overflow-detection-when-wrapp.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 37cc9fa19bd23edbbdaa9252059b17f191fa4d17 Mon Sep 17 00:00:00 2001
-From: YiYing He <yiying@secondstate.io>
-Date: Wed, 17 Dec 2025 20:27:38 +0800
-Subject: [PATCH] fix(runtime): refine the overflow detection when wrapping
- memory instance
-
-Signed-off-by: YiYing He <yiying@secondstate.io>
----
- include/runtime/instance/memory.h | 24 +++++++++++++++++++-----
- 1 file changed, 19 insertions(+), 5 deletions(-)
-
-diff --git a/include/runtime/instance/memory.h b/include/runtime/instance/memory.h
-index ce511a7b..9d849598 100644
---- a/include/runtime/instance/memory.h
-+++ b/include/runtime/instance/memory.h
-@@ -241,14 +241,28 @@ public:
-     return reinterpret_cast<T>(&DataPtr[Offset]);
-   }
- 
--  /// Get array of object at specific offset of memory.
-+  /// Get array of object with count at specific offset of memory.
-   template <typename T>
--  Span<T> getSpan(uint32_t Offset, uint32_t Size) const noexcept {
--    uint32_t ByteSize = static_cast<uint32_t>(sizeof(T) * Size);
--    if (unlikely(!checkAccessBound(Offset, ByteSize))) {
-+  Span<T> getSpan(uint32_t Offset, uint32_t Count) const noexcept {
-+    uint32_t Size;
-+#if defined(_MSC_VER) && !defined(__clang__) // MSVC
-+    // Should extend for memory64 proposal.
-+    uint64_t Num =
-+        static_cast<uint64_t>(sizeof(T)) * static_cast<uint64_t>(Count);
-+    if ((Num >> 32) != 0) {
-+      return Span<T>();
-+    }
-+    Size = static_cast<uint32_t>(Num);
-+#else
-+    if (unlikely(__builtin_mul_overflow(static_cast<uint32_t>(sizeof(T)), Count,
-+                                        &Size))) {
-+      return Span<T>();
-+    }
-+#endif
-+    if (unlikely(!checkAccessBound(Offset, Size))) {
-       return Span<T>();
-     }
--    return Span<T>(reinterpret_cast<T *>(&DataPtr[Offset]), Size);
-+    return Span<T>(reinterpret_cast<T *>(&DataPtr[Offset]), Count);
-   }
- 
-   /// Get array of object at specific offset of memory.
--- 
-2.43.0
-

diff --git a/sources b/sources
index 87a5719..4c29ce3 100644
--- a/sources
+++ b/sources
@@ -12,3 +12,4 @@ SHA512 (WasmEdge-0.13.5-src.tar.gz) = 9d3ece45897d2c9bb3848662fc4ab36c2e0f178450
 SHA512 (WasmEdge-0.14.0-src.tar.gz) = fa9ab14f1c477e1909efe88d760a2ab9212687328a885054f0830284bc71d559ab5263eefbbc564d88280b3907d5e3145ffeff87830eb13ad1f3fc4a599e4340
 SHA512 (WasmEdge-0.14.1-src.tar.gz) = cf708ad789c8d7cb8b5885d6b13dbb010fa433e93971fedb0c05dd2794ad69d79b08535c854ea8744243ff65c61f0de1b6e3fe2a981b69fc92701b4675cc80d4
 SHA512 (WasmEdge-0.15.0-src.tar.gz) = 3a41f362852dd04dc441ebe10fac266703bb146100cceec64df3fce76f57960ac7dacfc9c1243f4177899a5c4d50166158908b0ec4e88e3f226cad2fd350e6cd
+SHA512 (WasmEdge-0.16.1-src.tar.gz) = b09c8d83e3627085382109ea073ecc099b57e109b419171a29ab780ee36b371de9bd1864d478c15324f29baabd0c19dda8a32a37f46a738f39e47ef6d51a0770

diff --git a/wasmedge.spec b/wasmedge.spec
index 7521160..9a61293 100644
--- a/wasmedge.spec
+++ b/wasmedge.spec
@@ -1,4 +1,4 @@
-%global version 0.15.0
+%global version 0.16.1
 %global reponame WasmEdge
 %global capi_soname 0
 %global capi_version 0.1.0
@@ -12,8 +12,8 @@ Summary: High performance WebAssembly Virtual Machine
 License: Apache-2.0 AND CC0-1.0
 URL:     https://github.com/%{reponame}/%{reponame}
 Source0: %{url}/releases/download/%{version}/%{reponame}-%{version}-src.tar.gz
-# Patch from https://github.com/WasmEdge/WasmEdge/commit/37cc9fa19bd23edbbdaa9252059b17f191fa4d17
-Patch0: 0001-fix-runtime-refine-the-overflow-detection-when-wrapp.patch
+# Patch from https://github.com/WasmEdge/WasmEdge/commit/3b9c754fbe96289452ef76951e783e5a7d7eacc7
+Patch0: 0001-fix-refactor-Poller-context-handling-to-use-pointer-instead-of-wrapper.patch
 BuildRequires: cmake
 BuildRequires: gcc-c++
 BuildRequires: git
@@ -104,6 +104,19 @@ cd ..
 %{_includedir}/%{name}/int128.h
 %{_includedir}/%{name}/version.h
 %{_includedir}/%{name}/wasmedge.h
+%{_includedir}/%{name}/wasmedge_ast.h
+%{_includedir}/%{name}/wasmedge_basic.h
+%{_includedir}/%{name}/wasmedge_compiler.h
+%{_includedir}/%{name}/wasmedge_configure.h
+%{_includedir}/%{name}/wasmedge_context.h
+%{_includedir}/%{name}/wasmedge_deprecated.h
+%{_includedir}/%{name}/wasmedge_execution.h
+%{_includedir}/%{name}/wasmedge_experimental.h
+%{_includedir}/%{name}/wasmedge_instance.h
+%{_includedir}/%{name}/wasmedge_plugin.h
+%{_includedir}/%{name}/wasmedge_tools.h
+%{_includedir}/%{name}/wasmedge_value.h
+%{_includedir}/%{name}/wasmedge_vm.h
 %{_libdir}/lib%{name}.so
 
 %changelog

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-02  4:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-02  4:24 [rpms/wasmedge] f43: Release 0.16.1 hydai

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