aboutsummaryrefslogtreecommitdiff
path: root/FASSUNGEN.txt
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-09-01 06:57:50 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2026-09-01 06:57:50 +0200
commitf3f2a95cd3f23d0483ad655b70d77ef619fe6b19 (patch)
tree2d61fba527b0c0d4daa5e382e82072d71ca9542c /FASSUNGEN.txt
parentcd960e62255e29290064c3e2b244a9eaf079b57c (diff)
Die Merkmalsliste richtet sich nach der vorgefundenen Binaryen-FassungHEADmaster
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GuVaax1nzPPH9Xk73JugUw Change-Id: Ie7363affeaebe862aace0e1e19e0802c388b513d
Diffstat (limited to 'FASSUNGEN.txt')
-rw-r--r--FASSUNGEN.txt38
1 files changed, 37 insertions, 1 deletions
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.
════════════════════════════════════════════════════════════════════════════════