Commit Graph

528 Commits

Author SHA1 Message Date
Dan Gohman
197d9227cb WASI: define AT_FDCWD and update to latest WASI libc
Update to the latest WASI libc, define `AT_FDCWD`, update the signature
for __wasilibc_find_relpath, and add declarations for various
`__wasilibc_` utility functions.
2021-02-18 14:07:17 -08:00
Jonah Petri
3378f0cebf style fixes to satisfy new rustfmt 2021-02-13 15:04:45 -05:00
Jonah Petri
225363b690 move EPOLLEXCLUSIVE and EPOLLWAKEUP to linux/mod.rs 2021-02-12 20:44:53 -05:00
Jonah Petri
0ac10285d9 uclibc: style fixes 2021-02-12 20:43:02 -05:00
Jonah Petri
7775ce20b9 change getnameinfo flags type to int to conform to other libc implementations 2021-02-12 20:43:02 -05:00
Jonah Petri
10c54181b4 uclibc -> linux-like/linux: Manual consolitation of redundant structs and fns. 2021-02-12 20:42:59 -05:00
bors
db71a574b2 Auto merge of #2068 - Minoru:bugfix/remove-unused-iconv.h, r=JohnTitor
Remove unused iconv.h includes

These are left over from 3e4d684dcd, which
added includes to *all* platforms despite adding bindings only to *some*
of them. This already broke OpenBSD which doesn't have iconv.h (fixed by
915d8fac81), and is just distasteful, so
down with those unused includes.

(This is a continuation to #2037 and #2067.)
2021-02-12 06:20:46 +00:00
bors
be0c2d4c48 Auto merge of #2024 - XanClic:statx-mount-id-v2, r=JohnTitor
Add mount ID to statx

This mirrors the modifications to `include/uapi/linux/stat.h` by [Linux commit fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60 (“statx: add mount ID”)](https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60).

What changed in v2 (v1: #2023):
* Skip testing the new `STATX_MNT_ID` constant, because it’s only part of Linux as of 5.8. That’s too new e.g. for Ubuntu 20.04.1 (with a kernel derived from 5.4), which is what’s used by the CI.
2021-02-12 04:17:39 +00:00
Alexander Batischev
17dec33a0f
Remove unused iconv.h includes
These are left over from 3e4d684dcd, which
added includes to *all* platforms despite adding bindings only to *some*
of them. This already broke OpenBSD which doesn't have iconv.h (fixed by
915d8fac81), and is just distasteful, so
down with those unused includes.
2021-02-11 16:51:55 +03:00
Max Reitz
5b109dd882 Add mount ID to statx
This corresponds to the Linux commit
fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60 ("statx: add mount ID").

Note that STATX_ALL is not modified to include this field, because it
has actually been deprecated in Linux and is now effectively defined as
equal to STATX_BASIC_STATS | STATX_BTIME (see Linux commit
581701b7efd60ba13d8a7eed60cbdd7fefaf6696, "uapi: deprecate STATX_ALL").

Because said commit fa2fcf4f1d is less than a year old, skip testing the
STATX_MNT_ID constant.

Signed-off-by: Max Reitz <mreitz@redhat.com>
2021-02-11 14:08:53 +01:00
Sébastien Marie
915d8fac81 unbreak OpenBSD tests: iconv.h doesn't exist 2021-02-11 11:19:46 +00:00
Alexander Batischev
3e4d684dcd
Add bindings for iconv calls
FreeBSD-likes all implement iconv:
- DragonflyBSD: bbb35c81f7/include/iconv.h
- FreeBSD: a6dc68c0e0/include/iconv.h

NetBSD-likes:
- NetBSD: 81a39f6087/include/iconv.h
- OpenBSD doesn't implement it

macOS: apparently ships a conforming implementation as a separate
library:
https://stackoverflow.com/questions/57734434/libiconv-or-iconv-undefined-symbol-on-mac-osx/57734435#57734435

Linux:
- glibc: https://sourceware.org/git/?p=glibc.git;a=blob;f=iconv/iconv.h;h=fdddf53d99c3046ef9c280db01a425c2f499043e;hb=HEAD
- musl: https://git.musl-libc.org/cgit/musl/tree/include/iconv.h?id=455f96857f91d14e193219ca00969354a981c09c
2021-02-11 01:22:49 +03:00
Niels Sascha Reedijk
497f7f40f7 Haiku: support testing framework on Haiku 2021-01-28 14:31:24 +00:00
Thiébaud Weksteen
9df0cdf5fe android: add android_set_abort_message
As definied in set_abort_message.h [1]. Update buils.rs to include
Android-specific headers.

[1] https://android.googlesource.com/platform/bionic/+/master/libc/include/android/set_abort_message.h
2021-01-28 10:33:31 +01:00
Sergio Lopez
81c3e9835d Add preadv and pwritev for macOS
Add declarations for the preadv and pwritev system calls, introduced
in macOS 11.0 (Big Sur).

Signed-off-by: Sergio Lopez <slp@redhat.com>
2021-01-21 16:26:32 +01:00
Yuki Okushi
5c80ca2c1b Remove CloudABI test function on libc-test
This isn't used anymore.
2021-01-08 17:11:26 +09:00
Yuki Okushi
e18dc0366b Skip more items on CI 2021-01-07 14:41:31 +09:00
Damian Jarek
1581af0304 Define basic Linux SocketCAN constants and types
Add definitions from `linux/can.h`, which is a "base" header for remainder
of SocketCAN functionality.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2021-01-07 09:22:43 +09:00
bors
6deb8a935a Auto merge of #2020 - joshtriplett:ifla, r=JohnTitor
Add more IFLA_ values
2021-01-05 19:40:36 +00:00
Josh Triplett
2076d1cd3f Add more IFLA_ values 2021-01-05 11:39:47 -08:00
Benedikt Steinbusch
d57347aee3 ignore changed constants in test for now 2021-01-01 03:33:45 +01:00
Benedikt Steinbusch
a7fd8a7a6b ignore __v field of __darwin_arm_neon_state64 in tests 2021-01-01 01:49:49 +01:00
Jack Lloyd
71bfcb8c9c Add missing comma 2020-12-08 10:15:48 -05:00
Jack Lloyd
64d9b001de List Android headers needed for getauxval in libc-test/build.rs 2020-12-08 10:10:02 -05:00
bors
8e62c98274 Auto merge of #1982 - Thomasdezeeuw:freebsd-getrandom, r=JohnTitor
Add getrandom to FreeBSD

Introduced in FreeBSD 12.0.

Manual page: https://www.freebsd.org/cgi/man.cgi?query=getrandom.

Not sure if the constants should be `c_int`, just matching the `flags` argument in the function, in c they're macros.
2020-11-27 07:30:39 +00:00
Joshua M. Clulow
297c00203a tests should ignore setservent() and endservent() on illumos
Depending on the compilation environment (e.g., whether the 3XNET or
3SOCKET version of these functions is in play, whether EXTENSIONS has
been defined, etc) these functions may be declared to return either void
or int.  The return value is hard coded as zero, and can be ignored to
better align with other platforms where these functions are always void.
2020-11-25 16:34:51 -08:00
Thomas de Zeeuw
99b3635079 Add getrandom to FreeBSD
Introduced in FreeBSD 12.0.

Manual page: https://www.freebsd.org/cgi/man.cgi?query=getrandom.
2020-11-24 11:08:27 +01:00
Yuki Okushi
b9bf6d1faa Skip test for ELAST on FreeBSD 12 2020-10-31 12:54:12 +09:00
Lzu Tao
be37f011e6 Make tests for bsd passed
* Include some header files
* Ingore tests for p_type field of `Elf*_Phdr` because of
  conflicting with p_type macro from resolve.h
2020-10-27 18:03:33 +07:00
bors
e0a4fb0397 Auto merge of #1902 - george-hopkins:mptcp, r=JohnTitor
linux: Add definitions for Multipath TCP

The Linux kernel recently gained support for [Multipath TCP](https://en.wikipedia.org/wiki/Multipath_TCP), a protocol which builds upon TCP. This patch adds `IPPROTO_MPTCP` to open new sockets and `TCP_ULP` to query the upper layer protocol of traditional TCP sockets (which is set to `mptcp` for all underlying connections)

Source: [tcp: Define IPPROTO_MPTCP](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=faf391c3826cd29feae02078ca2022d2f912f7cc)

cc #1896
2020-10-24 23:20:17 +00:00
Yuki Okushi
b4f8191689 Unpin the cc crate version 2020-10-24 02:35:55 +09:00
George Hopkins
2a212c84fb linux: Add definitions for Multipath TCP
We leave IPPROTO_MAX as is for the time being. However, in recent
kernel releases IPPROTO_MAX is actually higher and reflects the
addition of IPPROTO_MPTCP.
2020-10-21 07:22:41 +02:00
bors
35ee6ed0be Auto merge of #1934 - JohnTitor:redox, r=JohnTitor
Run build test for `x86_64-unknown-redox`

Fix #1457
2020-10-19 19:48:34 +00:00
Yuki Okushi
f57b285c5e Skip MINCORE_SUPER on FreeBSD 13 2020-10-17 23:42:25 +09:00
Yuki Okushi
f0a1bdf06c Exclude redox from cmsg test 2020-10-17 12:43:58 +09:00
Yuki Okushi
ec0eec26c5 Remove some header files from test_redox 2020-10-17 12:43:58 +09:00
Yuki Okushi
e228df915d Pin cc crate to fix AArch64-Android CI 2020-10-17 04:41:00 +09:00
Yuki Okushi
c1b25a564a Unignore tests for some functions on AArch64-Android 2020-10-17 04:38:29 +09:00
rupansh-arch
0121c5c019 libc-test: add process_vm* to exceptions for android 2020-10-16 05:25:41 +05:30
Andrew Walbran
4f40b35cca Android: Add VMADDR_ constants. 2020-10-07 11:56:56 +01:00
Josh Triplett
3e9945eb04
Merge pull request #1897 from Aaron1011/feature/sys-pidfd-open-clone3
Add SYS_pidfd_open and SYS_clone3
2020-09-30 20:14:47 -07:00
Andrew Walbran
37357abbfc Android: Add vsock constants and struct. 2020-09-29 13:41:00 +01:00
Aaron Hill
8e58e82c02
Add SYS_pidfd_open and SYS_clone3
These syscalls were added recently, and therefore have consistent
numbers across different architetures (other than the weird offsetting
on some platforms).
2020-09-17 06:05:23 -04:00
Daniil Bondarev
ce5cb03544 Added clock_getcpuclockid to more targets
Previously clock_getcpuclockid was enabled only on linux, with this
change it is enabled on all linux_like and freebsdlike.
2020-08-21 22:12:48 -07:00
Jed Brown
3f9f49aacd add fmemopen, open_memstream, and open_wmemstream for POSIX.1-2008
Skip test on aarch64 due to https://github.com/rust-lang/libc/issues/1765
2020-08-19 19:08:00 -06:00
Yuki Okushi
b1793090f4
Merge pull request #1861 from joshtriplett/p_pidfd 2020-08-19 07:45:41 +09:00
Josh Triplett
e709b3f78a Define P_PIDFD, used with waitid
Linux defines a waitid type `P_PIDFD`, for use with process file
descriptors (`pidfd`). Add that constant.

In libc-test, add linux/wait.h to the Linux-specific and
Android-specific headers, to get the definition. Exclude it on Android
and musl for now, though, as the versions in CI don't have it yet.
2020-08-18 14:11:08 -07:00
Fredrik Fornwall
a848efd351 Add regex.h to libc-test for Android 2020-08-16 11:36:10 +02:00
Joshua M. Clulow
1f0ea0da73 add openpty and forkpty implementation for illumos systems
At time of writing, illumos systems do not provide an implementation of
the openpty() and forkpty() wrappers provided on some other UNIX
systems.  While we expect to grow an implementation, it seems prudent to
provide a compatibility routine here first to unblock illumos support in
the popular nix crate.
2020-08-05 20:39:45 -07:00
Alan Somers
554ea4b8bd Deprecate CTL_P1003_1B_MAXID
It's been removed in FreeBSD 13 (svn r363622), and never had any
legitimate use outside of the base system anyway.
2020-07-27 14:59:32 -06:00