80c26174bf
Three follow-up fixes that close the build-break cascade that was
left behind by the R17 'drop libc' commit (502c82bb):
1. Cargo.toml: pin __libc_only_for_layout_checks (libc dev-dep)
to 0.2.149. The earlier 0.2.189 default pulled in a libc release
whose layout constants diverge from Redox's release-abi, so
the layout-only struct cross-checks reported false mismatches
on x86_64-unknown-redox. 0.2.149 matches the Redox sysroot's
libc.a.
2. ld_so/dso.rs: rewrite the panic!('static_relocate:
unsupported relocation type') into Result::Error. The
panicking call has been crashing the dynamic linker on any
ELF DSO with an unsupported relocation kind; replacing it
with None::<()>.read_error(...)? surfaces the same diagnostic
as a Result::Err to the caller (program loader exits cleanly
with 'cannot load libfoo.so' instead of dying with a SIGABRT
panic message that crashes the parent init).
3. platform/redox/socket.rs: refresh the MSG_NOSIGNAL
documentation in sendmsg + sendto. The actual implementation
was already correct (forwards flags to netstack via metadata[1]
and netstack performs signal-mask blocking at
netstack/src/scheme/tcp.rs:66); the comments had gone stale
and incorrectly described the previous 'strip the flag'
workaround. Update them to describe the real architecture.
Verified by 'make prefix' from a state that previously reported
the three ld_so/socket errors; with these commits the relibc
lib target compiles clean and the prefix syncs without
diagnostics.
Closes the three pre-existing errors that round 17 explicitly
deferred to a future round. Verified end-to-end via
'repo cook relibc' in the cookbook.