尽快推进:锁定dlopen shim映射
This commit is contained in:
@@ -102,7 +102,12 @@ if sections.get("dlopen") != ["(none)"]:
|
||||
if sections.get("tooldata-users") != ["(none)"]:
|
||||
raise SystemExit("blocked tooldata-users section is no longer empty")
|
||||
|
||||
shim_paths = set(Path(line).as_posix() for line in subprocess.check_output(
|
||||
["./list-linuxcnc-wasm-safe-shims.sh"],
|
||||
text=True,
|
||||
).splitlines() if line)
|
||||
required_tracked_entries = [
|
||||
"src/emc/rs274ngc/interp_base.cc -> core/wasm_shims/dlfcn.cc",
|
||||
"src/emc/rs274ngc/gcodemodule.cc",
|
||||
"src/emc/rs274ngc/interpmodule.cc",
|
||||
"src/emc/tooldata/tooldata_mmap.cc",
|
||||
@@ -122,7 +127,13 @@ required_replacements = [
|
||||
"src/emc/tooldata/tooldata_mmap.cc -> core/wasm_shims/tooldata/tooldata_mmap_backend.cc",
|
||||
]
|
||||
for entry in required_tracked_entries:
|
||||
if entry not in output:
|
||||
if " -> " in entry:
|
||||
source, shim = entry.split(" -> ", 1)
|
||||
if source not in sections.get("core-dlopen-shimmed", []):
|
||||
raise SystemExit(f"WASM blocker analyzer output missing core dlopen shimmed source: {source}")
|
||||
if shim not in shim_paths:
|
||||
raise SystemExit(f"WASM blocker analyzer core dlopen shim is absent from wasm-safe shim set: {shim}")
|
||||
elif entry not in output:
|
||||
raise SystemExit(f"WASM blocker analyzer output missing required entry: {entry}")
|
||||
if entry not in source_map:
|
||||
raise SystemExit(f"docs/linuxcnc-wasm-blockers-source-map.md missing required entry: {entry}")
|
||||
@@ -135,10 +146,6 @@ for entry in required_replacements:
|
||||
if entry not in source_map:
|
||||
raise SystemExit(f"docs/linuxcnc-wasm-blockers-source-map.md missing required replacement: {entry}")
|
||||
|
||||
shim_paths = set(Path(line).as_posix() for line in subprocess.check_output(
|
||||
["./list-linuxcnc-wasm-safe-shims.sh"],
|
||||
text=True,
|
||||
).splitlines() if line)
|
||||
for replacement in re.findall(r"-> (core/wasm_shims/[^\s]+)", output):
|
||||
if replacement not in shim_paths:
|
||||
raise SystemExit(f"blocked replacement is absent from wasm-safe shim set: {replacement}")
|
||||
|
||||
@@ -60,6 +60,7 @@ Required replacement set:
|
||||
|
||||
Required tracked core examples:
|
||||
|
||||
- `src/emc/rs274ngc/interp_base.cc -> core/wasm_shims/dlfcn.cc`
|
||||
- `src/emc/rs274ngc/gcodemodule.cc`
|
||||
- `src/emc/rs274ngc/interpmodule.cc`
|
||||
- `src/emc/tooldata/tooldata_mmap.cc`
|
||||
|
||||
Reference in New Issue
Block a user