* sync.stdatomic: skip the implicit TCC build where the host never selects TCC
On macOS 27 and later V no longer picks TCC without `-cc tcc` (#29745), so
the build without `-cc` used Clang and hit the test's `$compile_error`.
Keep the explicit `-cc tcc` builds on every host.
* driver: drop cached function name patterns that no stage builds anymore
#31237 removed the stage code that joined `'voidptr'`, `'void'` and
`'main'` to names, so cached_declarations_test.v reported `*void`, `main*`
and `voidptr*` as stale.
* cgen: unwrap the fixed array that thread wait() returns
`handle.wait()` on a `thread [N]T` produced the `_v_ret_Array_fixed_*`
wrapper struct, which fixed-array assignments, comparisons and arguments
passed to memmove/memcmp as the array itself. Clang rejected the C, which
broke vlib/v/flat/source_type_composition_test.v. Yield `.ret_arr`, as a
direct call to the function does.
* fastc: key declared types by source type id in two tests
#31271 changed the declared_types parameters of collect_function_signatures,
collect_interface_method_signatures, fastc_peek_function_type and
fastc_scan_type_bytes to map[u32]bool, and these tests no longer compiled.
* fastc: list only file-backed pages in the chained fixups of TinyCC executables
TinyCC's Mach-O writer lists every page of __DATA in its chained fixups,
including the zero-fill __bss pages. The dyld of macOS 27 maps each listed
page from the file, so those globals started with __LINKEDIT bytes instead
of zeros (#29744): FastC programs and tests panicked or misbehaved there.
The in-process ad-hoc signer, which FastC and the C backend's TinyCC links
use on macOS, now lowers each segment's page_count to the pages that the
file backs, as ld64 does, before it hashes the file. Pages with fixups stay
listed. The FastC link cache key changes, so that no executable linked
before this is restored.
* wasm: create the TMPDIR that the shape and stub audits give their builds
Both suites point TMPDIR at <scratch>/vtmp without creating it. A nested
`v run` that inherits VTMP from `v test` does not create it either, so
clang failed with "unable to make temporary file" in every native
reference build.
* driver: suspend a run job again when a stop arrives as it resumes
After Ctrl-Z, `v run` stops itself with v3_run_bridging_stop still set.
For `peer | v run app`, `bg` continues the job, and the peer's terminal
read sends SIGTTIN to the job right away; that stop reached the driver
before the flag was cleared and was ignored. The driver kept running and
continued the app while the peer stayed stopped, so the shell saw a running
job and its `fg` sent no SIGCONT: the job hung.
The flag now covers only the driver's own copy of the group stop that it
sends for a stop it did not forward. A stop that is forwarded while the app
is still stopped suspends the job again; the app is continued with the
job-control signals blocked, so a later stop reaches it after its SIGCONT.
The PTY test also waits until the shell has seen the background job stop
before it sends `fg`: bash continues only a job that it knows is stopped.