From f3f2a95cd3f23d0483ad655b70d77ef619fe6b19 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Tue, 1 Sep 2026 06:57:50 +0200 Subject: Die Merkmalsliste richtet sich nach der vorgefundenen Binaryen-Fassung MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Nachoptimierer wasm-opt bekommt aus „deploy/webpaket.sh“ eine einzeln aufgezählte Liste zugelassener Wasm-Merkmale. Die selbsttätige Prüfung brach daran ab: „Unknown option '--enable-bulk-memory-opt'“. Das Merkmal führen erst jüngere Binaryen-Fassungen; die Paketfassung von Ubuntu 26.04 kennt es nicht, und ein unbekannter Schalter beendet wasm-opt, statt übergangen zu werden. Die Liste wird deshalb vor dem Aufruf an der Hilfeausgabe des vorgefundenen wasm-opt gemessen und um das gekürzt, was diese nicht aufführt; die ausgesonderten Merkmale werden benannt. Die Messung achtet auf Wortgrenzen, damit „--enable-bulk-memory“ nicht schon durch „--enable-bulk-memory-opt“ als vorhanden gilt. Unschädlich ist die Kürzung, weil eine Fassung nicht ausgibt, was sie nicht kennt: Das Modul bleibt gültig und wird allenfalls um einige Bytes größer. Beim Grundsatz, die Merkmale einzeln statt als „--all-features“ zu erteilen, bleibt es. Geprüft: „sh -n“ geht auf; auf dem hiesigen Binaryen 132 sondert die Messung keines der dreizehn Merkmale aus, und gegen eine verkürzte Hilfeausgabe gehalten sondert sie genau die fehlenden Schalter aus. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01GuVaax1nzPPH9Xk73JugUw Change-Id: Ie7363affeaebe862aace0e1e19e0802c388b513d --- FASSUNGEN.txt | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'FASSUNGEN.txt') diff --git a/FASSUNGEN.txt b/FASSUNGEN.txt index 5e8327c..5d6a782 100644 --- a/FASSUNGEN.txt +++ b/FASSUNGEN.txt @@ -27,7 +27,10 @@ Vorbemerkung zur Führung dieses Verzeichnisses Die Sprachfassung des Bausatzes wird von 21 auf 25 angehoben (Artikel 1); der Wasm-Zweig folgt (Artikel 2). Der Enforcer wacht fortan über die vorausgesetzte -Fassung (Artikel 3). Das Handbuch weist dies aus (Artikel 4). +Fassung (Artikel 3). Das Handbuch weist dies aus (Artikel 4). Die Liste der dem +Nachoptimierer zugelassenen Wasm-Merkmale wird fortan an der vorgefundenen +Binaryen-Fassung gemessen, damit ein unbekannter Schalter den Bau nicht mehr +abbricht (Artikel 5); auch dies weist das Handbuch aus (Artikel 6). Artikel 1 @@ -67,11 +70,44 @@ den Wasm-Bau ist weiterhin Oracle GraalVM 25.1 oder neuer erforderlich. Artikel 5 +Anpassung der Wasm-Merkmalsliste an die vorgefundene Binaryen-Fassung + +„deploy/webpaket.sh“ zählt die dem Nachoptimierer (wasm-opt) zugelassenen +Wasm-Merkmale einzeln auf. Die selbsttätige Prüfung brach an dieser Stelle ab: +„Unknown option '--enable-bulk-memory-opt'“. Das Merkmal ist erst in jüngeren +Binaryen-Fassungen vorhanden; die Paketfassung der Verteilung (Ubuntu 26.04) +kennt es nicht, und wasm-opt bricht bei einem unbekannten Schalter ab, statt ihn +zu übergehen. + +(1) Vor dem Aufruf wird die Hilfeausgabe des vorgefundenen „wasm-opt“ erhoben. + Jedes Merkmal der Liste wird an ihr gemessen; die dort nicht aufgeführten + werden ausgesondert. Die Messung achtet auf Wortgrenzen, damit + „--enable-bulk-memory“ nicht schon durch „--enable-bulk-memory-opt“ als + vorhanden gilt. + +(2) Die Aussonderung bleibt unschädlich: Was eine Fassung nicht kennt, gibt sie + auch nicht aus; das Modul bleibt gültig und wird allenfalls um einige Bytes + größer. Die ausgesonderten Merkmale werden benannt. + +(3) Unberührt bleibt der Grundsatz, die Merkmale einzeln aufzuzählen und nicht + „--all-features“ zu erteilen (§ 14 Absatz 7 Nummer 4 des Handbuchs). + + +Artikel 6 +Handbuch + +§ 14 Absatz 7 Nummer 4 des Handbuchs (README.md) weist die Messung an der +Hilfeausgabe und ihren Anlass aus. + + +Artikel 7 Prüfung Der Bau geht auf einem Oracle GraalVM 25.0.4 auf: „./mvnw verify“ meldet BUILD SUCCESS mit 456 von 456 Tests, Spotless beanstandet nichts, und der Enforcer lässt die neue Regel durchgehen. Auch das Profil „wasm“ übersetzt („target 25“). +Die Merkmalsmessung sondert auf dem hiesigen Binaryen 132 nichts aus; gegen eine +verkürzte Hilfeausgabe geprüft, sondert sie genau die fehlenden Schalter aus. ════════════════════════════════════════════════════════════════════════════════ -- cgit v1.2.1