Commit Graph

4424 Commits

Author SHA1 Message Date
Thomas de Zeeuw 0758ff06a0 Add section about semver list to contributing guide 2021-03-27 10:27:17 +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
bors a309e9124b Auto merge of #2125 - asomers:MAP_GUARD, r=JohnTitor
Add MAP_GUARD on FreeBSD.

It was added in FreeBSD 11.1.
2021-03-27 04:36:06 +00:00
Alan Somers 51a287b98a Add MAP_GUARD on FreeBSD.
It was added in FreeBSD 11.1.
2021-03-26 20:49:07 -06:00
bors c5357c9e66 Auto merge of #2124 - fbecart:master, r=JohnTitor
Define SO_INCOMING_CPU for i686-unknown-linux-musl

Following the examples from https://github.com/rust-lang/libc/pull/2119 and https://github.com/rust-lang/libc/pull/2123, to fix the same issue with `socket2`: https://github.com/rust-lang/socket2/issues/213
2021-03-26 12:47:48 +00:00
Florent Bécart 24c15302ae Define SO_INCOMING_CPU for i686-unknown-linux-musl 2021-03-26 14:03:36 +02:00
bors 1627d511f7 Auto merge of #2123 - Heliozoa:master, r=JohnTitor
Define SO_INCOMING_CPU for i686-unknown-linux-gnu

Hi! Following the example from #2119, I've tried adding the constant to i686-unknown-linux-gnu as well to fix a similar issue.
2021-03-24 23:52:22 +00:00
Heliozoa 091a3dc7e9 Define SO_INCOMING_CPU for i686-unknown-linux-gnu 2021-03-24 20:06:22 +02:00
bors 3c6a2d85ed Auto merge of #2122 - JohnTitor:at-consts-musl, r=Amanieu
Move `AT_*` consts from `linux_like/linux/gnu` to `linux_like/linux`

They are available on musl and uclibc as well.
Fixes #2121
2021-03-24 17:28:44 +00:00
Yuki Okushi f560924190
Move `AT_*` consts from `linux_like/linux/gnu` to `linux_like/linux`
Signed-off-by: Yuki Okushi <huyuumi.dev@gmail.com>
2021-03-25 00:20:42 +09:00
bors bd7e0522f7 Auto merge of #2120 - JohnTitor:libc-0291, r=JohnTitor
Bump to 0.2.91

I'm going to make a new release as requested by https://github.com/rust-lang/libc/pull/2119#issuecomment-804404607.

r? `@ghost`
2021-03-23 01:36:25 +00:00
Yuki Okushi 52956ae8f8 Mention about `libc-test` on the publishing note 2021-03-23 10:27:13 +09:00
Yuki Okushi 765cca1fe2 Bump to 0.2.91 2021-03-23 10:26:40 +09:00
bors ac935822f6 Auto merge of #2119 - oherrala:64bit-musl-so-incoming-cpu, r=JohnTitor
Define SO_INCOMING_CPU for {aarch64,x86_64}-unknown-linux-musl

This continues where https://github.com/rust-lang/libc/pull/2115 left off and hopefully fixes `socket2` crate on these two targets.
2021-03-19 09:13:24 +00:00
Ossi Herrala a045c096da Define SO_INCOMING_CPU for {aarch64,x86_64}-unknown-linux-musl 2021-03-19 10:43:20 +02:00
bors 9d710c1fe0 Auto merge of #2118 - Amanieu:bump2, r=JohnTitor
Bump to 0.2.90
2021-03-18 18:33:36 +00:00
Amanieu d'Antras c6e8f02a08 Bump to 0.2.90 2021-03-18 11:32:23 +00:00
bors 1fcfd21119 Auto merge of #2117 - Amanieu:musl_getauxval, r=JohnTitor
Add getauxval to musl
2021-03-18 00:03:29 +00:00
Amanieu d'Antras 2eaa621a00 Add getauxval to musl 2021-03-17 23:52:19 +00:00
bors e3dd608031 Auto merge of #2116 - JohnTitor:renameat2, r=Amanieu
Add `renameat2` and change their flags' type to `c_uint`

Taking over #1508. This changes the type of some flags but it should've been `c_uint`.

Closes #1508
2021-03-17 22:38:21 +00:00
Yuki Okushi b90fda7dec Add `renameat2` and change their flags' type to `c_uint`
Co-Authored-By: Jörg Thalheim <github@thalheim.io>
Co-Authored-By: Philipp Gesang <phg@phi-gamma.net>
2021-03-17 12:43:35 +09:00
bors 801487eca2 Auto merge of #2115 - zonyitoo:master, r=JohnTitor
Add SO_INCOMING_CPU for targets arm-unknown-linux-*

- fixes rust-lang/socket2#213
- ref shadowsocks/shadowsocks-rust#459
2021-03-17 01:29:18 +00:00
zonyitoo 49169ed604 Add SO_INCOMING_CPU for targets arm-unknown-linux-*
- fixes rust-lang/socket2#213
2021-03-17 09:19:15 +08:00
bors ecbb073a1d Auto merge of #2114 - voidc:syscalls, r=JohnTitor
Add more syscall constansts for Linux

In https://github.com/rust-lang/libc/pull/1897#issuecomment-695889272, there was interest in adding constants for recently added Linux syscalls. I went ahead and added consts for syscalls up until (the currently unreleased) Linux 5.12. Here is an overview:

| Syscall           | NR  | since |
| ----------------- | --- | ----- |
| pidfd_send_signal | 424 | 5.1   |
| io_uring_setup    | 425 | 5.1   |
| io_uring_enter    | 426 | 5.1   |
| io_uring_register | 427 | 5.1   |
| open_tree         | 428 | 5.2   |
| move_mount        | 429 | 5.2   |
| fsopen            | 430 | 5.2   |
| fsconfig          | 431 | 5.2   |
| fsmount           | 432 | 5.2   |
| fspick            | 433 | 5.2   |
| pidfd_open        | 434 | 5.3   |
| clone3            | 435 | 5.3   |
| close_range       | 436 | 5.9   |
| openat2           | 437 | 5.9   |
| pidfd_getfd       | 438 | 5.9   |
| faccessat2        | 439 | 5.9   |
| process_madvise   | 440 | 5.10  |
| epoll_pwait2      | 441 | 5.11  |
| mount_setattr     | 442 | 5.12  |

([source](1e28eed176/include/uapi/asm-generic/unistd.h (L825-L865)))

The constants are added for `-gnu` and `-musl` targets.
I'm unsure to what extend they are actually present in the headers of these libraries.

Support is added for all architectures except hexagon.
2021-03-16 16:52:40 +00:00
Dominik Stolz 1698c370fe Remove duplicate definition 2021-03-16 17:42:11 +01:00
Dominik Stolz 204fe259c6 Ignore syscalls added in Linux 5.9 or later in tests 2021-03-16 08:07:03 +01:00
Dominik Stolz a9c4446eeb Add more syscall constansts 2021-03-16 07:57:34 +01:00
bors 56c85494a8 Auto merge of #2113 - joshtriplett:ci-kernel, r=JohnTitor
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 23:34:14 +00: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
bors 508f65a2f8 Auto merge of #2112 - joshtriplett:eighty-nine, r=JohnTitor
Bump to 0.2.89
2021-03-15 18:55:29 +00:00
Josh Triplett 1a359cff89 Bump to 0.2.89 2021-03-15 11:52:17 -07:00
bors 44abe4b82d Auto merge of #2111 - voidc:clone3-musl, r=JohnTitor
Add missing SYS_clone3 for linux musl targets

In #1897 `SYS_clone3` was added for linux gnu targets. This PR adds the constant for musl targets.
https://github.com/rust-lang/rust/pull/81825 is currently blocked on this.

`SYS_clone3` is added to the following architectures:
- [arm](7d6beb71da/arch/arm/tools/syscall.tbl (L451))
- [mips](7d6beb71da/arch/mips/kernel/syscalls/syscall_n32.tbl (L376))
- [powerpc](7d6beb71da/arch/powerpc/kernel/syscalls/syscall.tbl (L517))
- [x86](7d6beb71da/arch/x86/entry/syscalls/syscall_32.tbl (L442))
- aarch64
- [mips64](7d6beb71da/arch/mips/kernel/syscalls/syscall_n64.tbl (L352))
- powerpc64
- [x86_64](7d6beb71da/arch/x86/entry/syscalls/syscall_64.tbl (L359))

It was already added for s390x in 88de3880fb.

cc `@joshtriplett`
2021-03-14 23:28:54 +00:00
Dominik Stolz 3e0e58521a Ignore SYS_clone3 during musl tests 2021-03-15 00:22:44 +01:00
Dominik Stolz efe0fe9499 Add SYS_clone3 for musl targets 2021-03-14 20:58:21 +01:00