Commit Graph

562 Commits

Author SHA1 Message Date
Thomas de Zeeuw
321ac9d529 Fix semver test for Linux ARM targets
Fixes it for at least the following targets:
 * aarch64-unknown-linux-gnu
 * arm-linux-androideabi
 * arm-unknown-linux-gnueabihf
 * arm-unknown-linux-gnueabihf
 * arm-unknown-linux-musleabihf
2021-04-02 12:21:15 +02:00
Thomas de Zeeuw
9361be07d0 Fix semver test for asmjs-unknown-emscripten target 2021-04-02 12:20:50 +02:00
Thomas de Zeeuw
8fb63e8c93 Fix semver lists for Linux using musl 2021-03-27 11:10:52 +01:00
Thomas de Zeeuw
60112163ce Support architecture environment specific semver lists
This allow lists like "linux-gnu-x86_64" which is only used for Linux,
using GNU libc on 64 bit x86.
2021-03-27 11:01:16 +01:00
Thomas de Zeeuw
f8ba06be3a Add Fuchsia semver list 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
e0c8a6a69d Add OpenBSD semver list 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
dff7f65524 Add DragonFlyBSD semver list 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
60b9fe9ff8 Fix NetBSD semver list for 32 bits 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
eb998bf44b Fix the semver list for 32 bit FreeBSD 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
aa1c8ea6ba Add Android semver lists
One would expect Android to include the Unix and Linux lists, as it's
Linux based. However because Android is missing too many definitions I
found it easier to create a fully separate list for Android
specifically.
2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
f18ba37144 Add Linux semver lists 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
82f32fd447 Remove O_EXLOCK and O_SHLOCK from Unix semver list
Linux doesn't seem to have these.
2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
016542e8db Create common Unix semver list
This currently includes are definitions available on Apple, FreeBSD,
NetBSD and Redox.
2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
9e71659f57 Add README to semver directory 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
c36eff48ad Add NetBSD semver list 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
2751674390 Add Redox semver list 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
6384bbf48c Add FreeBSD semver list 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
64950da005 Add semver list for Apple's iOS and macOS 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
c84bd4e915 Add Window semver list 2021-03-27 10:27:17 +01:00
Thomas de Zeeuw
c8d9470502 Add semver test infrastructure
This first step add the infrastructure to test if libc follows semantic
versioning.

In the build step it creates a test file which imports all functions,
constants, etc. that are expected to be public. This file is generated
from the files in the (not yet included) semver directory. These files
include the function and constants expected to be public per target
family, vendor, OS, etc.

See the do_semver function in the build file of libc-test for the
details.
2021-03-27 10:27:17 +01:00
Yuki Okushi
765cca1fe2 Bump to 0.2.91 2021-03-23 10:26:40 +09:00
Amanieu d'Antras
c6e8f02a08 Bump to 0.2.90 2021-03-18 11:32:23 +00:00
Dominik Stolz
204fe259c6 Ignore syscalls added in Linux 5.9 or later in tests 2021-03-16 08:07:03 +01:00
Josh Triplett
0a9aec7baf CI: Add ARPHRD_ to kernel definitions 2021-03-15 16:33:35 -07:00
Josh Triplett
54e633ce8a CI: Consolidate and blanket-ignore kernel definitions on non-glibc
Skip definitions from the kernel on non-glibc Linux targets.
They're libc-independent, so we only need to check them on one
libc. We don't want to break CI if musl or another libc doesn't
have the definitions yet. (We do still want to check them on
every glibc target, though, as some of them can vary by
architecture.)
2021-03-15 16:33:35 -07:00
Josh Triplett
1a359cff89 Bump to 0.2.89 2021-03-15 11:52:17 -07:00
Dominik Stolz
3e0e58521a Ignore SYS_clone3 during musl tests 2021-03-15 00:22:44 +01:00
Noah
3f6b151eed
Skip uinput tests on musl+mips+ppc64+sparc64 2021-03-12 20:45:32 -06:00
Noah
e45454f20d
Add structs from linux/uinput.h + a couple of input-related constants 2021-03-12 12:51:55 -06:00
Torbjørn Birch Moltu
3f62e51d24 Add cr_pid to FreeBSD xucred - an unreleased addition in FreeBSD 13
definition: https://svnweb.freebsd.org/base/head/sys/sys/ucred.h?view=markup#l85
manpage: https://www.freebsd.org/cgi/man.cgi?query=unix&sektion=0&manpath=FreeBSD+13-current&format=html

Continue comparing and hashing __cr_unused1 for backwards compatibility.
2021-03-08 19:37:01 +01:00
Yuki Okushi
9abcbd15de Bump up libc version to 0.2.88 2021-03-06 01:02:04 +09:00
Yuki Okushi
b719be4150 Skip tests for gettid on musl
It requires musl 1.2.2 or later.
2021-03-05 01:45:03 +09:00
Yuki Okushi
1ebc29eb2e Add description metadata to libc-test 2021-03-02 19:22:52 +09:00
Yuki Okushi
5cfe0a237c Update some metadata on libc-test to publish 2021-03-02 15:16:12 +09:00
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