Fix an ICE with error types in a vec

Closes #16783
Modifications to liblibc for raw/custom socket support.
Fix win64 regression introduced by #15773

Signed-off-by: Peter Atashian <retep998@gmail.com>
auto merge of #16844 : mrmonday/rust/liblibc-custom-socket, r=alexcrichton

These are the additions to liblibc required for raw/custom socket support. I've broken this into a separate pull request due to the upcoming I/O overhaul (was originally part of pull #15741).

cc @alexcrichton.
auto merge of #16802 : nick29581/rust/dst-bug-1, r=luqmana

Closes #16783 

r? @nikomatsakis
auto merge of #16871 : retep998/rust/win64-fix, r=alexcrichton

It was in a x86_64 block so the buildbots didn't notice it.
Fixes #16905
Fixes #16562

Detect ty_err in fixup_substs and return None instead of failing.
In search_for_vtable return vtable_error in both early and non-early
if fixup_substs returns None. This was asserting previously. I don't
know anything about the early vs. non-early stages and whether this
is significant or not.

Reduced the amount of data being printed to the debug log in
tydecode.rs. It was printing several megabytes of metadata.

Added license text to test