Accepting request 1203584 from devel:languages:rust

OBS-URL: https://build.opensuse.org/request/show/1203584
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wasi-libc?expand=0&rev=6
This commit is contained in:
Ana Guerrero 2024-11-08 10:53:49 +00:00 committed by Git OBS Bridge
commit 77bd289a62
9 changed files with 158 additions and 7 deletions

View File

@ -0,0 +1,31 @@
From 13ed98026d1e6f96fa4c0efce3ff849e3040fca3 Mon Sep 17 00:00:00 2001
From: Mike Hommey <mh@glandium.org>
Date: Tue, 30 Apr 2024 06:46:03 +0900
Subject: [PATCH] Adjust Makefile for LLVM trunk (19) as of 2024-04-26 (#492)
https://github.com/llvm/llvm-project/commit/72c373bfdc9860b3d75e72c219b2c81c90bc4364
dded __GCC_(CON|DE)STRUCTIVE_SIZE macros.
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 2f9e9fde..f9fd3030 100644
--- a/Makefile
+++ b/Makefile
@@ -873,6 +873,7 @@ check-symbols: startup_files libc
@# TODO: Filter out __FPCLASS_* that are new to clang 17.
@# TODO: Filter out __FLT128_* that are new to clang 18.
@# TODO: Filter out __MEMORY_SCOPE_* that are new to clang 18.
+ @# TODO: Filter out __GCC_(CON|DE)STRUCTIVE_SIZE that are new to clang 19.
@# TODO: clang defined __FLT_EVAL_METHOD__ until clang 15, so we force-undefine it
@# for older versions.
@# TODO: Undefine __wasm_mutable_globals__ and __wasm_sign_ext__, that are new to
@@ -907,6 +908,7 @@ check-symbols: startup_files libc
| grep -v '^#define __FPCLASS_' \
| grep -v '^#define __FLT128_' \
| grep -v '^#define __MEMORY_SCOPE_' \
+ | grep -v '^#define __GCC_\(CON\|DE\)STRUCTIVE_SIZE' \
| grep -v '^#define NDEBUG' \
| grep -v '^#define __OPTIMIZE__' \
| grep -v '^#define assert' \

View File

@ -0,0 +1,30 @@
From d43dcc63d26013264bb58241e53bde9318349443 Mon Sep 17 00:00:00 2001
From: Mike Hommey <mh@glandium.org>
Date: Fri, 12 Jul 2024 08:11:35 +0900
Subject: [PATCH] Adjust Makefile for LLVM trunk (19) as of 2024-07-10 (#512)
https://github.com/llvm/llvm-project/commit/0e7590a25cd2e49c5849cc7d2facd5810f8900ce
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 0d2a3144..5e6e7734 100644
--- a/Makefile
+++ b/Makefile
@@ -872,6 +872,7 @@ check-symbols: startup_files libc
@# TODO: Filter out __MEMORY_SCOPE_* that are new to clang 18.
@# TODO: Filter out __GCC_(CON|DE)STRUCTIVE_SIZE that are new to clang 19.
@# TODO: Filter out __STDC_EMBED_* that are new to clang 19.
+ @# TODO: Filter out __*_NORM_MAX__ that are new to clang 19.
@# TODO: clang defined __FLT_EVAL_METHOD__ until clang 15, so we force-undefine it
@# for older versions.
@# TODO: Undefine __wasm_mutable_globals__ and __wasm_sign_ext__, that are new to
@@ -912,6 +913,7 @@ check-symbols: startup_files libc
| grep -v '^#define __MEMORY_SCOPE_' \
| grep -v '^#define __GCC_\(CON\|DE\)STRUCTIVE_SIZE' \
| grep -v '^#define __STDC_EMBED_' \
+ | grep -v '^#define __\(DBL\|FLT\|LDBL\)_NORM_MAX__' \
| grep -v '^#define NDEBUG' \
| grep -v '^#define __OPTIMIZE__' \
| grep -v '^#define assert' \

View File

@ -0,0 +1,30 @@
From 320bbbcced68ce8e564b0dc4c8f80a5a5ad21a9c Mon Sep 17 00:00:00 2001
From: Mike Hommey <mh@glandium.org>
Date: Sat, 22 Jun 2024 01:49:33 +0900
Subject: [PATCH] Adjust Makefile for LLVM trunk (19) as of 2024-06-20 (#509)
https://github.com/llvm/llvm-project/commit/41c6e4379204ffc00948edd33d59ba5ebbceaba2
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 4192ecbb..0d2a3144 100644
--- a/Makefile
+++ b/Makefile
@@ -871,6 +871,7 @@ check-symbols: startup_files libc
@# TODO: Filter out __FLT128_* that are new to clang 18.
@# TODO: Filter out __MEMORY_SCOPE_* that are new to clang 18.
@# TODO: Filter out __GCC_(CON|DE)STRUCTIVE_SIZE that are new to clang 19.
+ @# TODO: Filter out __STDC_EMBED_* that are new to clang 19.
@# TODO: clang defined __FLT_EVAL_METHOD__ until clang 15, so we force-undefine it
@# for older versions.
@# TODO: Undefine __wasm_mutable_globals__ and __wasm_sign_ext__, that are new to
@@ -910,6 +911,7 @@ check-symbols: startup_files libc
| grep -v '^#define __FLT128_' \
| grep -v '^#define __MEMORY_SCOPE_' \
| grep -v '^#define __GCC_\(CON\|DE\)STRUCTIVE_SIZE' \
+ | grep -v '^#define __STDC_EMBED_' \
| grep -v '^#define NDEBUG' \
| grep -v '^#define __OPTIMIZE__' \
| grep -v '^#define assert' \

View File

@ -0,0 +1,44 @@
From 129ee9b64be8724745c4ebd45c21dcdc5fd23e22 Mon Sep 17 00:00:00 2001
From: Mike Hommey <mh@glandium.org>
Date: Wed, 1 May 2024 23:30:33 +0900
Subject: [PATCH] Adjust Makefile for LLVM trunk (19) as of 2024-04-30 (#493)
https://github.com/llvm/llvm-project/commit/5bbf1ea8f18d1f99637b7b8bf6b985c186c808f6
added __wasm_multivalue__ and __wasm_reference_types__, and the latter
also makes libraries reference the undefined __indirect_function_table
symbol, which is provided by the linker.
---
Makefile | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index f9fd3030..b0407968 100644
--- a/Makefile
+++ b/Makefile
@@ -836,7 +836,7 @@ check-symbols: startup_files libc
for undef_sym in $$("$(NM)" --undefined-only "$(SYSROOT_LIB)"/libc.a "$(SYSROOT_LIB)"/libc-*.a "$(SYSROOT_LIB)"/*.o \
|grep ' U ' |sed 's/.* U //' |LC_ALL=C sort |uniq); do \
grep -q '\<'$$undef_sym'\>' "$(DEFINED_SYMBOLS)" || echo $$undef_sym; \
- done | grep -E -v "^__mul|__memory_base" > "$(UNDEFINED_SYMBOLS)"
+ done | grep -E -v "^__mul|__memory_base|__indirect_function_table" > "$(UNDEFINED_SYMBOLS)"
grep '^_*imported_wasi_' "$(UNDEFINED_SYMBOLS)" \
> "$(SYSROOT_LIB)/libc.imports"
@@ -878,6 +878,8 @@ check-symbols: startup_files libc
@# for older versions.
@# TODO: Undefine __wasm_mutable_globals__ and __wasm_sign_ext__, that are new to
@# clang 16 for -mcpu=generic.
+ @# TODO: Undefine __wasm_multivalue__ and __wasm_reference_types__, that are new to
+ @# clang 19 for -mcpu=generic.
@# TODO: As of clang 16, __GNUC_VA_LIST is #defined without a value.
$(CC) $(CFLAGS) "$(SYSROOT_SHARE)/include-all.c" \
-isystem $(SYSROOT_INC) \
@@ -894,6 +896,8 @@ check-symbols: startup_files libc
-U__clang_wide_literal_encoding__ \
-U__wasm_mutable_globals__ \
-U__wasm_sign_ext__ \
+ -U__wasm_multivalue__ \
+ -U__wasm_reference_types__ \
-U__GNUC__ \
-U__GNUC_MINOR__ \
-U__GNUC_PATCHLEVEL__ \

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4a2a3e3b120ba1163c57f34ac79c3de720a8355ee3a753d81f1f0c58c4cf6017
size 1313865

3
wasi-libc-22.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7efede97bd490c336a6fff4252dffaef5247149d74e4208865cd5e59908d529d
size 1410600

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Sat Sep 21 21:39:37 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version (wasi-sdk-)22.
* Add support for some network APIs.
- Rebase workaround-broken-makefile.patch.
- Backport upstream patches to fix build with Clang 19:
* ignore-gcc-con-destructive-size-macros.patch
* ignore-norm-max-macros.patch
* ignore-stdc-embed-macros.patch
* ignore-wasm-macros-indirect-function-table.patch
-------------------------------------------------------------------
Thu Feb 22 21:05:54 UTC 2024 - Aaron Puchert <aaronpuchert@alice-dsl.net>

View File

@ -17,7 +17,7 @@
Name: wasi-libc
Version: 21
Version: 22
Release: 0
Summary: WASI libc implementation for WebAssembly
# FIXME: Select a correct license from https://github.com/openSUSE/spec-cleaner#spdx-licenses
@ -26,6 +26,10 @@ URL: https://github.com/WebAssembly/wasi-libc
Source: https://github.com/WebAssembly/wasi-libc/archive/refs/tags/wasi-sdk-%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: wasi-libc-rpmlintrc
Patch1: workaround-broken-makefile.patch
Patch2: ignore-gcc-con-destructive-size-macros.patch
Patch3: ignore-wasm-macros-indirect-function-table.patch
Patch4: ignore-stdc-embed-macros.patch
Patch5: ignore-norm-max-macros.patch
BuildRequires: clang > 10
BuildRequires: llvm > 10
BuildArch: noarch

View File

@ -1,11 +1,11 @@
# Workaround as per https://github.com/WebAssembly/wasi-libc/issues/156
diff --git a/Makefile b/Makefile
index f350ecb..52d9ca6 100644
index 2f9e9fd..8318748 100644
--- a/Makefile
+++ b/Makefile
@@ -708,7 +708,7 @@ check-symbols: startup_files libc
@@ -917,7 +917,7 @@ check-symbols: startup_files libc
# This ignores whitespace because on Windows the output has CRLF line endings.
diff -wur "expected/$(TARGET_TRIPLE)" "$(SYSROOT_SHARE)"
diff -wur "$(EXPECTED_TARGET_DIR)" "$(SYSROOT_SHARE)"
-install: finish
+install: