clang: error: linker command failed with exit code 1 (use -v to see invocation) [hwjs-coro] ALLOCSIZE-STRIP fn=calloc (decl) allocsize allockind alloc-family class=xmod-import (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=free (decl) allockind alloc-family class=xmod-import (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_malloc0 (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_malloc0_n (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_malloc (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_malloc_n (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_memdup2 (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_slice_alloc0 (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_slice_alloc (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_slice_copy (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_try_malloc (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=g_try_malloc_n (def) allocsize (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=malloc (decl) allocsize allockind alloc-family class=xmod-import (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=realloc (decl) allocsize allockind alloc-family class=xmod-import (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=strdup (decl) alloc-family class=xmod-import (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] ALLOCSIZE-STRIP fn=strndup (decl) alloc-family class=xmod-import (post-conversion allocator attrs are a LIE — the ramp returns a frame handle, not the allocation; kept, allocsize is VERIFIER-FATAL on the CoroSplit void(ptr) clones [attr bootstrap] and the alloc facts license wrong caller folds [brintos/hwjs-cc#12]) [hwjs-coro] REFUSE fn=g_dpgettext reason=vla/dynamic-alloca-address-escape-opaque-sink escaped=1 opaque_escape=1 ptrelem=0 across=0 dynalloca_total=1 suspends=7 (escape to an opaque/host sink OUTSIDE the delta=0-copied linear memory; in-MEMORY escape is DS6-lowered, this residual is not — never-silent) [hwjs-coro] REFUSE fn=g_socket_receive_messages_with_timeout reason=vla/dynamic-alloca-address-escape-opaque-sink escaped=1 opaque_escape=1 ptrelem=0 across=2 dynalloca_total=3 suspends=29 (escape to an opaque/host sink OUTSIDE the delta=0-copied linear memory; in-MEMORY escape is DS6-lowered, this residual is not — never-silent) [hwjs-coro] REFUSE fn=g_socket_send_messages_with_timeout reason=vla/indirect-call-cross-module-e8-deferred escaped=2 opaque_escape=2 across=1 dynalloca_total=3 suspends=37 (an indirect call the STATIC address-taken closure would lower, declined because the module does dynamic loading [dlopen/dlsym] so the closure is INCOMPLETE; sound lowering needs the LIVE runtime E8 registry — DEFERRED to the ADR-0004 dlopen milestone; the consult-switch (HWJS_CORO_DYNAMIC_MODULE) lowers+guards it; never-silent) [hwjs-coro] REFUSE fn=g_socket_send_message_with_timeout reason=vla/dynamic-alloca-address-escape-opaque-sink escaped=1 opaque_escape=1 ptrelem=0 across=1 dynalloca_total=2 suspends=40 (escape to an opaque/host sink OUTSIDE the delta=0-copied linear memory; in-MEMORY escape is DS6-lowered, this residual is not — never-silent) wasmld: FATAL (HWJS-3 coro arm): the coroutinize pass REFUSED function(s) in the merged module (non-benign class, lines above). At whole-program vantage every caller is in-module, so a refused def is a live ABI chimera. Stop-and-report.