Add asmjs/wasm32 to CI
Rebase of #610 and also move emscripten up much higher in the hierarchy to
ensure that it doesn't have too much of a ripple effect on other platforms.
This involved moving down a good number of definitions, but hopefully was done
with care to not break anything!
Add syscall constants to more Android/Linux targets
Primarily adding `SYS_memfd_create` and `SYS_pivot_root` for `nix`. But I also equalized a few constants across platforms so some of the other ones that were defined on some targets are now defined across all linux/android targets.
Rebase of #610 and also move emscripten up much higher in the hierarchy to
ensure that it doesn't have too much of a ripple effect on other platforms.
This involved moving down a good number of definitions, but hopefully was done
with care to not break anything!
This works by specifying a "runner" for actually executing the binary.
This doesn't apply to the Android or NetBSD runs because there
isn't a simple binary that just runs the executable.
We now create an additional binary `linux_fcntl` for testing this
since there are header conflicts when including all necessary headers.
This binary is run on all platforms even though it's empty on all non-
Android/non-Linux platforms.
Testing has been switched from a custom binary to using a runner-less
test (or pair of tests). This means that for local development a simple
`cd libc-test && cargo test` will run all the tests. CI has also been
updated here to reflect that.
L4Re improvements
This commit improves the x86_64 uClibc port and splits of L4Re-specific structs into a separate submodule. It defines additional constants and fixes some unfinished structs.
Remove OpenBSD CI
It's now broken due to changes in the `gcc` crate and having a too-old compiler,
and in general it's unfortunately architecturally so different from the other
test frameworks that it's difficult to maintain over time.
It's now broken due to changes in the `gcc` crate and having a too-old compiler,
and in general it's unfortunately architecturally so different from the other
test frameworks that it's difficult to maintain over time.
Remove fexecvpe from Haiku and MacOS/IOS where it's not implemented
I was going to remove the skip-check from `build.rs` to see if we might be able to enable the function check on at least some platforms, but I'll assume it doesn't work on any as has been suggested.
Closes#732.
OpenBSDs kqueue now has EV_RECEIPT and EV_DISPATCH.
I wrote a patch and the devs merged it into current:
https://marc.info/?l=openbsd-tech&m=149621427511219&w=2
This change extends the rust libc crate to provide the feature.