Commit Graph

314 Commits

Author SHA1 Message Date
bors 6bc42d40e5 Auto merge of #1342 - sunfishcode:master, r=gnzlbg
Update to the latest wasi-sysroot.

 - Rename `wasm32-unknown-wasi` to `wasm32-wasi`.
 - `__wasilibc_rmfileat` was renamed to `__wasilibc_unlinkat`
 - Add bindings for a few more functions and typedefs.
2019-05-16 21:51:36 +00:00
Linus Färnstrand 72463fc155 Add futex.h to test 2019-05-16 20:40:18 +02:00
Dan Gohman 215cd1549e Update to the latest wasi-sysroot.
- Rename `wasm32-unknown-wasi` to `wasm32-wasi`.
 - `__wasilibc_rmfileat` was renamed to `__wasilibc_unlinkat`
 - Add bindings for a few more functions and typedefs.
2019-05-16 06:40:50 -07:00
gnzlbg 9183c00f7e Remove unecessarily disabling a warning on FreeBSD 2019-05-16 11:03:12 +02:00
gnzlbg 9df115b67f Update Ubuntu images to 19.04 2019-05-16 09:15:12 +02:00
gnzlbg 1a7ee21aec Define DEPRECATED_SCANF macro to use older scanf,sscanf,fscanf symbols 2019-05-16 09:15:12 +02:00
gnzlbg 4aa5a45af1 Correct assert for mips+musl 2019-05-16 09:15:12 +02:00
gnzlbg be36f6859b execinfo not available in emscripten 2019-05-16 09:15:12 +02:00
gnzlbg bf76ded067 Test the Elf32/64 types sperately
These types have a p_types field, but the resolv.h
header defines p_types __p_types macro that breaks them.
2019-05-16 09:15:11 +02:00
gnzlbg f67f831aad readd netfilter headers 2019-05-16 09:15:11 +02:00
gnzlbg 352ee1c37d Include Linux headers after sys headers 2019-05-16 09:15:11 +02:00
gnzlbg cb3a9db378 Include aio.h as the last header 2019-05-16 09:15:11 +02:00
gnzlbg 54fcb89354 Add missing sysctl header to freebsd tests 2019-05-16 09:15:11 +02:00
gnzlbg 9da2fd5ace Add missing utmpx.h header to freebsd tests 2019-05-16 09:15:11 +02:00
gnzlbg dc7311bec7 Include aio.h before sys/mount.h on linux 2019-05-16 09:15:11 +02:00
gnzlbg 426f91bd25 Fix typo in Linux checking 2019-05-16 09:15:11 +02:00
gnzlbg bb2f29641a Add missing netinet/ip.h header 2019-05-16 09:15:11 +02:00
gnzlbg 0f96e543b1 Remove conflicting linux/netfilter_ipv6.h header file due to conflicting definitions 2019-05-16 09:15:11 +02:00
gnzlbg bee2611368 Remove conflicting linux/netfilter_ipv4.h header file due to conflicting definitions 2019-05-16 09:15:11 +02:00
gnzlbg 3956bf056b Skip verification of gettimeofday on FreeBSD 2019-05-16 09:15:11 +02:00
gnzlbg ac90c574e5 Refactor Linux target 2019-05-14 12:00:45 +02:00
gnzlbg b976dc2055 Refactor FreeBSD target 2019-05-14 12:00:45 +02:00
gnzlbg 3c2284c435 Remove OpenBSD-related dead-code 2019-05-14 12:00:45 +02:00
gnzlbg 0af80cae53 Refactor Android target 2019-05-14 10:06:23 +02:00
Dan Gohman ef7ae73239 Fix dirent to match WASI libc's definition.
dirent contains a flexible array member, so don't test its sizeof, don't
allow it to be copied, and don't represent it with an artificial size.
2019-04-23 15:03:23 -07:00
Dan Gohman 49c0dc98d0 Don't add "struct" to "DIR" or "fd_set". 2019-04-23 15:03:23 -07:00
Dan Gohman 3aa0188f1d Add headers for WASI to libc-test/build.rs 2019-04-23 15:03:23 -07:00
bors 363ba93ac4 Auto merge of #1314 - alexcrichton:wasi-ci, r=gnzlbg
Add binding for new `__wasilibc_find_relpath` API

This'll be used in libstd upstream, and this also enables wasi on CI!
2019-04-08 16:01:57 +00:00
Alex Crichton cc0310146e Add binding for new `__wasilibc_find_relpath` API
Added recently and will be used in libstd!
2019-04-08 07:56:47 -07:00
Kevin Kuehler 03481551dd
add login_tty api from libutil 2019-04-05 14:26:08 -07:00
Alex Crichton 8662b47b27 Address some PR feedback 2019-03-27 11:21:44 -07:00
Alex Crichton 87def1fb80 Add intiial support for wasm32-unknown-wasi
This target is [being proposed][LINK] int he rust-lang/rust repository
and this is intended to get coupled with that proposal. The definitions
here all match the upstream reference-sysroot definitions and the
functions all match the reference sysroot as well. The linkage here is
described more in detail on the Rust PR itself, but in general it's
similar to musl.

Automatic verification has been implemented in the same manner as other
targets, and it's been used locally to develop this PR and catch errors
in the bindings already written (also to help match the evolving sysroot
of wasi). The verification isn't hooked up to CI yet though because
there is no wasi target distributed via rustup just yet, but once that's
done I'll file a follow-up PR to execute verification on CI.

[LINK]:
2019-03-27 09:24:48 -07:00
gnzlbg 0a9511eb21 Move inotify_event to the linux and android sub-modules 2019-03-25 19:43:58 +01:00
Sébastien Marie 917ff60a4b adjust PTHREAD_STACK_MIN to current value on OpenBSD
while here, generate the right file in test_openbsd()
2019-03-02 13:14:17 +01:00
bors b905aef340 Auto merge of #1281 - semarie:openbsd-test, r=gnzlbg
cleanup libc-test for OpenBSD

here a cleanup for libc-test for OpenBSD

Some elements (compat for old and now unsupported OpenBSD versions) could be removed, but I think it is better to address them after this PR is merged.

the testsuite for OpenBSD still pass with it (well, with #1280)

r? @gnzlbg
2019-02-24 17:27:39 +00:00
Sébastien Marie 91748de469 cleanup libc-test for OpenBSD 2019-02-24 15:47:06 +01:00
gnzlbg 722b3e5337 Formatting 2019-02-24 15:14:02 +01:00
gnzlbg 70e0c4e877 Cleanup DragonflyBSD in libc-test/build.rs 2019-02-24 15:13:47 +01:00
gnzlbg 87f10ab9ee Cleanup NetBSD logic in libc-test/build.rs 2019-02-24 15:02:08 +01:00
gnzlbg 09afebe655 Clean up Redox, Solaris, and CloudABI 2019-02-24 14:38:01 +01:00
gnzlbg 0980cf593a Cleanup Windows libc-test build.rs 2019-02-24 13:11:14 +01:00
gnzlbg f5cbdbc2b9 Clean libc-test for apple targets
This cleans up the build.rs of `libc-test` for apple targets.

I wanted to update the docker containers of some targets so that we can start
testing newer currently-skipped APIs properly, but it is impossible to figure
out which headers and APIs are skipped for each target.

This PR separates the testing of apple targets into its own self-contained
function. This allows seeing exactly which headers are included, and which items
are skipped. A lot of work will be required to separate the testing of all major
platforms and make the script reasonable.

During the clean up, I discovered that, at least for apple targets, deprecated
but not removed APIs are not tested. I re-enabled testing for those, and fixed
`daemon`, which was not properly linking its symbol. I also added the
`#[deprecated]` attribute to the `#[deprecated]` APIs of the apple targets. The
attribute is available since Rust 1.9.0 and the min. Rust version we support is
Rust 1.13.0.

Many other APIs are also currently not tested "because they are weird" which I
interpret as "the test failed for an unknown reason", as a consequence:

* the signatures of execv, execve, and execvp are incorrect (see
  https://github.com/rust-lang/libc/issues/1272)

* the `sig_t` type is called `sighandler_t` in libc for some reason:
  https://github.com/rust-lang/libc/issues/1273

This probably explains why some other things, like the
`sa_handler`/`sa_sigaction` fields of `sigaction` were skipped. The field is
actually a union, which can be either a `sig_t` for the `sa_handler` field, or
some other type for the `sa_sigaction` field, but because the distinction was
not made, the field was not checked.

The latest ctest version can check volatile pointers, so a couple of skipped
tests are now tested using this feature.
2019-02-22 19:18:02 +01:00
bors 577fdc86b2 Auto merge of #1248 - Ralith:flowinfo, r=gnzlbg
Expose IPV6_FLOWINFO* on Linux
2019-02-21 09:21:11 +00:00
bors c2904a70fa Auto merge of #1261 - glebpom:master, r=gnzlbg
Add AF_ALG constants and structures
2019-02-20 08:43:11 +00:00
Gleb Pomykalov 34c96d74e1 Add comment on ALG_SET_AEAD_* exclusion 2019-02-19 18:14:01 +03:00
Gleb Pomykalov d0f4c6e0fc Ignore ALG_SET_AEAD_* constants on MUSL tests 2019-02-19 16:35:25 +03:00
Gleb Pomykalov 32226f5d85 Include if_alg.h. Limit AF_ALG constants to only linux and android. 2019-02-18 18:19:29 +03:00
Vitaly _Vi Shukela 486de2ba2b
Ignore IP_ORIGDSTADDR in test for FreeBSD for now. 2019-02-14 02:37:01 +03:00
Benjamin Saunders b59eb6b423 Expose IPV6_FLOW* on Linux 2019-02-08 12:50:25 -08:00
gnzlbg 0a5484ea72 Check style using rustfmt and reformat 2019-02-07 11:13:38 +01:00