The package rpms/wabt.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/wabt.git/commit/?id=1c2a45cdd5b09...
https://src.fedoraproject.org/cgit/rpms/wabt.git/commit/?id=6901ed6f79780....
Change:
-%ifarch armv7hl i686
-%ifnarch ppc64 s390x
Thanks.
Full change:
============
commit 1c2a45cdd5b091300626c071800c273aa304e136
Author: Dominik 'Rathann' Mierzejewski <dominik(a)greysector.net>
Date: Thu Jul 16 23:36:04 2020 +0200
pull in one more fix for 32-bit from upstream
diff --git a/36ef276782a51b000e57de51aa22b6fc9aac9721.patch
b/36ef276782a51b000e57de51aa22b6fc9aac9721.patch
new file mode 100644
index 0000000..a9657e0
--- /dev/null
+++ b/36ef276782a51b000e57de51aa22b6fc9aac9721.patch
@@ -0,0 +1,25 @@
+From 36ef276782a51b000e57de51aa22b6fc9aac9721 Mon Sep 17 00:00:00 2001
+From: Ben Smith <binji(a)chromium.org>
+Date: Thu, 16 Jul 2020 12:08:15 -0700
+Subject: [PATCH] Completely disable signal handler on 32-bit
+
+The previous change prevented `WASM_RT_MEMCHECK_SIGNAL_HANDLER_POSIX`
+from being defined, but `WASM_RT_MEMCHECK_SIGNAL_HANDLER` was still
+defined, which would prevent the memory bounds check.
+---
+ wasm2c/wasm-rt.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/wasm2c/wasm-rt.h b/wasm2c/wasm-rt.h
+index a2f70fc5b..4a45697ec 100644
+--- a/wasm2c/wasm-rt.h
++++ b/wasm2c/wasm-rt.h
+@@ -47,6 +47,8 @@ extern "C" {
+ #if defined(__linux__) || defined(__unix__) || defined(__APPLE__)
+ #if defined(__WORDSIZE) && __WORDSIZE != 64
+ #warning "Signal handler is only supported on 64-bit architectures"
++#undef WASM_RT_MEMCHECK_SIGNAL_HANDLER
++#define WASM_RT_MEMCHECK_SIGNAL_HANDLER 0
+ #else
+ #define WASM_RT_MEMCHECK_SIGNAL_HANDLER_POSIX 1
+ #endif
diff --git a/wabt.spec b/wabt.spec
index 9814fab..bec60f9 100644
--- a/wabt.spec
+++ b/wabt.spec
@@ -16,6 +16,8 @@ Source2:
https://github.com/WebAssembly/wasm-c-api/archive/%{wc_commit}/%{name}-
Patch0: wabt-nogit.patch
#
https://github.com/WebAssembly/wabt/issues/1481
Patch1: wabt-no-sig-handler-32.patch
+#
https://github.com/WebAssembly/wabt/pull/1488
+Patch2:
https://github.com/WebAssembly/wabt/commit/36ef276782a51b000e57de51aa22b6...
License: ASL 2.0
BuildRequires: cmake3
BuildRequires: gcc-c++
@@ -43,6 +45,7 @@ with the spec (e.g. 1:1 round-trips with no changes to instructions).
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%if %{with check}
rmdir third_party/{testsuite,wasm-c-api}
tar xzf %{S:1} -C third_party
@@ -50,22 +53,11 @@ mv third_party/testsuite{-%{ts_commit},}
tar xzf %{S:2} -C third_party
mv third_party/wasm-c-api{-%{wc_commit},}
pushd test
-# skip some tests failing on 32-bit
-#
https://github.com/WebAssembly/wabt/issues/1044
#
https://github.com/WebAssembly/wabt/issues/1365
-#
https://github.com/WebAssembly/wabt/issues/1481
-%ifarch armv7hl i686
-rm wasm2c/address-overflow.txt
-rm wasm2c/spec/address.txt
-rm wasm2c/spec/align.txt
-rm wasm2c/spec/imports.txt
-rm wasm2c/spec/memory_grow.txt
-rm wasm2c/spec/memory_trap.txt
-rm wasm2c/spec/traps.txt
-%endif
%ifarch armv7hl
rm wasm2c/spec/skip-stack-guard-page.txt
%endif
+#
https://github.com/WebAssembly/wabt/issues/1044
%ifarch i686
rm spec/float_exprs.txt
rm spec/float_misc.txt
@@ -77,7 +69,6 @@ rm wasm2c/spec/float_memory.txt
rm wasm2c/spec/float_misc.txt
rm wasm2c/spec/float_exprs.txt
%endif
-# skip a couple of failing tests on ppc64le
#
https://github.com/WebAssembly/wabt/issues/1045
%ifarch ppc64le
rm spec/conversions.txt
commit 771dc0f76ec3fd7de97b9f75e801b458ddd31b34
Author: Dominik 'Rathann' Mierzejewski <dominik(a)greysector.net>
Date: Thu Jul 16 14:23:19 2020 +0200
use names and macros portable across Fedora and EPEL
diff --git a/wabt.spec b/wabt.spec
index 92be315..9814fab 100644
--- a/wabt.spec
+++ b/wabt.spec
@@ -17,11 +17,11 @@ Patch0: wabt-nogit.patch
#
https://github.com/WebAssembly/wabt/issues/1481
Patch1: wabt-no-sig-handler-32.patch
License: ASL 2.0
-BuildRequires: cmake
+BuildRequires: cmake3
BuildRequires: gcc-c++
%if %{with check}
BuildRequires: gtest-devel
-BuildRequires: python3-ply
+BuildRequires: python%{python3_pkgversion}-ply
%endif
# wasm.h from
https://github.com/WebAssembly/wasm-c-api/ is used for build
Provides: bundled(wasm-c-api) = %{wc_commit}
@@ -90,7 +90,7 @@ popd
%build
mkdir -p build
cd build
-%cmake -DUSE_SYSTEM_GTEST=ON ..
+%cmake3 -DUSE_SYSTEM_GTEST=ON ..
%make_build
%install
@@ -135,6 +135,7 @@ test/run-tests.py -v --timeout=40 %{?_smp_mflags}
- update to 1.0.17 (#1838384)
- backport a fix for 32-bit arches
- stop pretending it works on big-endian
+- use names and macros portable across Fedora and EPEL
* Wed May 06 2020 Dominik Mierzejewski <rpm(a)greysector.net> 1.0.15-1
- update to 1.0.15 (#1832317)
commit 6901ed6f79780c0116d7565ea9ead564b70983cf
Author: Dominik 'Rathann' Mierzejewski <dominik(a)greysector.net>
Date: Wed Jul 15 13:40:30 2020 +0200
update to 1.0.17 (#1838384)
stop pretending it works on big-endian
backport a fix for 32-bit
diff --git a/.gitignore b/.gitignore
index 3c5e627..ae2db61 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@
/wabt-wasm-c-api-d9a8009.tar.gz
/wabt-1.0.15.tar.gz
/wabt-testsuite-0e7987e.tar.gz
+/wabt-1.0.17.tar.gz
+/wabt-testsuite-c17cd7f.tar.gz
diff --git a/sources b/sources
index 2e621a8..ac1236e 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (wabt-1.0.15.tar.gz) =
ef3579a1fb409c397b081374532c7bba12ab6a77ca8aaa09abf7767de4685035482015d679eab8ae3a6e098f407c3ddf208948d714399974892f0784545c5ecf
-SHA512 (wabt-testsuite-0e7987e.tar.gz) =
5cf174c2fb5befa41ea2e59a43607816c51bb2ff5558bf96ea896aba597bde598f3efdfbf453d7ae9b5cacd39d48eac8a37dc223d6c9a583963001e9457d0e70
+SHA512 (wabt-1.0.17.tar.gz) =
f4558c1cacfff0b53dc584eacd039c7e9dea5fa01297d5b004d52d0a8c990d437576dba6913ec8f8bb9f3bb018080da31b294043e255d7b954596089e86d3f23
+SHA512 (wabt-testsuite-c17cd7f.tar.gz) =
b78b118a7944ccd7c95df59a7609d37b7e52c35e8a2347453a3928910726ff3dac122e9a7763fd75f522c9d8664bf798d171526e69a018540fde392bd0af9ca6
SHA512 (wabt-wasm-c-api-d9a8009.tar.gz) =
b6ee7d2d83a3ca7b3cb3ee110282f7d32eada1d9020cadd3fdec58f40478879fd9ac9fada526021d8f6e8a26e1df7353df313d4149be2ffe4aea3a28f856fd89
diff --git a/wabt-no-sig-handler-32.patch b/wabt-no-sig-handler-32.patch
new file mode 100644
index 0000000..b6861d9
--- /dev/null
+++ b/wabt-no-sig-handler-32.patch
@@ -0,0 +1,25 @@
+From 3e8b0bb489d63f0a211e00c7de3b629410aa3c08 Mon Sep 17 00:00:00 2001
+From: Ben Smith <binji(a)chromium.org>
+Date: Wed, 15 Jul 2020 11:53:48 -0700
+Subject: [PATCH] [wasm2c] Disable signal handling on 32-bit archs (#1483)
+
+---
+ wasm2c/wasm-rt.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/wasm2c/wasm-rt.h b/wasm2c/wasm-rt.h
+index a44e8220b..dcf3e0867 100644
+--- a/wasm2c/wasm-rt.h
++++ b/wasm2c/wasm-rt.h
+@@ -45,7 +45,11 @@ extern "C" {
+
+ #if WASM_RT_MEMCHECK_SIGNAL_HANDLER
+ #if defined(__linux__) || defined(__unix__) || defined(__APPLE__)
++#if defined(__WORDSIZE) && __WORDSIZE != 64
++#warning "Signal handler is only supported on 64-bit architectures"
++#else
+ #define WASM_RT_MEMCHECK_SIGNAL_HANDLER_POSIX 1
++#endif
+ #else
+ #error "No signal handler implementation for OS!"
+ #endif
diff --git a/wabt-nogit.patch b/wabt-nogit.patch
index fbaadb2..9280971 100644
--- a/wabt-nogit.patch
+++ b/wabt-nogit.patch
@@ -6,7 +6,7 @@ diff -up wabt-1.0.15/CMakeLists.txt.nogit wabt-1.0.15/CMakeLists.txt
cmake_minimum_required(VERSION 3.0.0)
-project(WABT VERSION 1.0.13)
-+project(WABT VERSION 1.0.15)
++project(WABT VERSION 1.0.17)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
diff --git a/wabt.spec b/wabt.spec
index de3fe04..92be315 100644
--- a/wabt.spec
+++ b/wabt.spec
@@ -1,12 +1,12 @@
%bcond_without check
-%global ts_commit 0e7987efba9c13c5a65c2c14a8f2f04b3820e8d3
+%global ts_commit c17cd7f4e379b814055c82fcc0fc1f6202ba9e2a
%global ts_shortcommit %(c=%{ts_commit}; echo ${c:0:7})
%global wc_commit d9a80099d496b5cdba6f3fe8fc77586e0e505ddc
%global wc_shortcommit %(c=%{wc_commit}; echo ${c:0:7})
Summary: The WebAssembly Binary Toolkit
Name: wabt
-Version: 1.0.15
+Version: 1.0.17
Release: 1%{?dist}
URL:
https://github.com/WebAssembly/wabt
Source0:
https://github.com/WebAssembly/wabt/archive/%{version}/%{name}-%{version}...
@@ -14,6 +14,8 @@ Source1:
https://github.com/WebAssembly/testsuite/archive/%{ts_commit}/%{name}-t
Source2:
https://github.com/WebAssembly/wasm-c-api/archive/%{wc_commit}/%{name}-wa...
# hard-code version instead of using git for release tarball
Patch0: wabt-nogit.patch
+#
https://github.com/WebAssembly/wabt/issues/1481
+Patch1: wabt-no-sig-handler-32.patch
License: ASL 2.0
BuildRequires: cmake
BuildRequires: gcc-c++
@@ -23,6 +25,9 @@ BuildRequires: python3-ply
%endif
# wasm.h from
https://github.com/WebAssembly/wasm-c-api/ is used for build
Provides: bundled(wasm-c-api) = %{wc_commit}
+# too many test failures on big-endian
+#
https://github.com/WebAssembly/wabt/issues/1063
+ExcludeArch: ppc64 s390x
%description
WABT (we pronounce it "wabbit") is a suite of tools for WebAssembly. These
tools
@@ -37,6 +42,7 @@ with the spec (e.g. 1:1 round-trips with no changes to instructions).
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%if %{with check}
rmdir third_party/{testsuite,wasm-c-api}
tar xzf %{S:1} -C third_party
@@ -44,48 +50,44 @@ mv third_party/testsuite{-%{ts_commit},}
tar xzf %{S:2} -C third_party
mv third_party/wasm-c-api{-%{wc_commit},}
pushd test
+# skip some tests failing on 32-bit
#
https://github.com/WebAssembly/wabt/issues/1044
-#
https://github.com/WebAssembly/wabt/issues/1045
-#
https://github.com/WebAssembly/wabt/issues/1063
-pushd wasm2c/spec
#
https://github.com/WebAssembly/wabt/issues/1365
-%ifarch armv7hl
-rm skip-stack-guard-page.txt
-%endif
-%ifarch i686 ppc64 ppc64le
-rm conversions.txt
-%endif
-%ifarch i686
-rm \
- float_exprs.txt\
- float_literals.txt\
- float_memory.txt\
- float_misc.txt\
-
+#
https://github.com/WebAssembly/wabt/issues/1481
+%ifarch armv7hl i686
+rm wasm2c/address-overflow.txt
+rm wasm2c/spec/address.txt
+rm wasm2c/spec/align.txt
+rm wasm2c/spec/imports.txt
+rm wasm2c/spec/memory_grow.txt
+rm wasm2c/spec/memory_trap.txt
+rm wasm2c/spec/traps.txt
%endif
-%ifarch ppc64
-rm f{32,64}.txt
+%ifarch armv7hl
+rm wasm2c/spec/skip-stack-guard-page.txt
%endif
-popd
-pushd spec
%ifarch i686
-rm \
- float_exprs.txt\
- float_misc.txt\
- local_tee.txt\
- simd/simd_f32x4_arith.txt\
- simd/simd_f64x2_arith.txt\
-
+rm spec/float_exprs.txt
+rm spec/float_misc.txt
+rm spec/local_tee.txt
+rm spec/simd/simd_f32x4_arith.txt
+rm spec/simd/simd_f64x2_arith.txt
+rm wasm2c/spec/float_literals.txt
+rm wasm2c/spec/float_memory.txt
+rm wasm2c/spec/float_misc.txt
+rm wasm2c/spec/float_exprs.txt
%endif
-%ifarch ppc64 ppc64le
-rm {,nontrapping-float-to-int-conversions/}conversions.txt
+# skip a couple of failing tests on ppc64le
+#
https://github.com/WebAssembly/wabt/issues/1045
+%ifarch ppc64le
+rm spec/conversions.txt
+rm spec/nontrapping-float-to-int-conversions/conversions.txt
+rm wasm2c/spec/conversions.txt
%endif
popd
-popd
%endif
%build
-# work around
https://github.com/WebAssembly/wabt/issues/988
mkdir -p build
cd build
%cmake -DUSE_SYSTEM_GTEST=ON ..
@@ -96,12 +98,9 @@ cd build
%make_install
%if %{with check}
-# ~250 tests fail on big-endian arches
-%ifnarch ppc64 s390x
%check
test/run-tests.py -v --timeout=40 %{?_smp_mflags}
%endif
-%endif
%files
%license LICENSE
@@ -132,6 +131,11 @@ test/run-tests.py -v --timeout=40 %{?_smp_mflags}
%{_mandir}/man1/wat2wasm.1*
%changelog
+* Tue Jul 14 2020 Dominik Mierzejewski <rpm(a)greysector.net> 1.0.17-1
+- update to 1.0.17 (#1838384)
+- backport a fix for 32-bit arches
+- stop pretending it works on big-endian
+
* Wed May 06 2020 Dominik Mierzejewski <rpm(a)greysector.net> 1.0.15-1
- update to 1.0.15 (#1832317)
- pathfix.py no longer required, upstream moved to python3-only