Remove invalid Fuchsia functions
Extension of #1468
These functions are not present in Fuchsia's libc, so they cannot be
used in a program today. If Fuchsia ever decides to add these functions
to their libc, they can be added back as necessary.
These files were generated in the following manner:
1. Create a list of the current functions in Fuchsia's libc, put in `rust-functions.txt`
2. Change directory into [`fuchsia/zircon/third_party/ulib/musl/include`](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/third_party/ulib/musl/include/)
3. Run a script to determine which symbols in `rust-functions.txt` are not in the include dir:
```bash
for i in $(cat rust-functions.txt);
if ! rg $i > /dev/null; then
echo $i
fi
done
```
4. This produces [a list of 99 functions](https://github.com/rust-lang/libc/pull/1468#issuecomment-521777743), which are then removed from this crate.
Add musl support for MIPS64 & bump to 0.2.63
Tested with patched stage2; both static and dynamic binaries confirmed working.
Initial CI support in the form of no-core targets are added.
These fuctions are not present in Fuchsia's libc, so they cannot be
used in a program today. If Fuchsia ever decides to add these functions
to their libc, they can be added back as necessary.
Fix FreeBSD
#1440 broke FreeBSD by changing `libc` FreeBSD targets to require a `cfg(freebsdXX)` to be defined, but not updating `build.rs` to define `freebsd11` when `LIBC_CI` is not available. Since `LIBC_CI` is always defined on CI, this issue went undetected.
This PR fixes that issue in the `build.rs` and introduces a build task that tests FreeBSD without `LIBC_CI` on FreeBSD11, although I'm not sure this would have caught the issue in #1466 .
Closes#1466 .
Add support for FreeBSD CURRENT (aka freebsd13)
Using the last FreeBSD-CURRENT (development snapshot) the libc build, but tests fail.
This patch detects and supports FreeBSD CURRENT as freebsd13, and reworks the conditional compilation to use the `freebsd11` attribute instead of `not(freebsd12)`
For now, freebsd13 is reusing all freebsd12 definitions, except for `ELAST`
While here, add a new `errno`introduced in freebsd13
Move musl-compatible constants to linux/mod.rs
This is a continuation of #1452. I think CI is ready to run fully and the PR is ready to be merged if the pipelines pass based on the CI I've done using musl libc in my own projects.