summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Auto merge of #2092 - JohnTitor:version-bump, r=JohnTitor0.2.87bors2021-03-022-3/+7
|\ | | | | | | | | | | | | | | Bump up libc version to 0.2.87 r? `@ghost` In order to unblock https://github.com/rust-lang/rust/issues/82400. This also closes #2065.
| * Update some metadata on libc-test to publishYuki Okushi2021-03-021-2/+6
| |
| * Bump up libc version to 0.2.87Yuki Okushi2021-03-021-1/+1
| |
* | Auto merge of #2093 - JohnTitor:solaris-default-target, r=JohnTitorbors2021-03-023-3/+3
|\ \ | |/ |/| | | | | | | | | Replace `x86_64-sun-solaris` with `x86_64-pc-solaris` Address the changes by https://github.com/rust-lang/rust/pull/82216. I didn't add `x86_64-sun-solaris` as it's now deprecated. r? `@ghost`
| * Replace `x86_64-sun-solaris` with `x86_64-pc-solaris`Yuki Okushi2021-03-023-3/+3
|/
* Auto merge of #2089 - KentaTada:add-selinuxfs, r=JohnTitorbors2021-03-011-0/+2
|\ | | | | | | | | | | Add definition of SELINUX_MAGIC This commit adds the definition of SELINUX_MAGIC.
| * Add definition of SELINUX_MAGICKenta Tada2021-03-011-0/+2
| | | | | | | | Signed-off-by: Kenta Tada <Kenta.Tada@sony.com>
* | Auto merge of #2090 - JohnTitor:remove-rumprun-from-ci-stuff, r=JohnTitorbors2021-03-013-66/+0
|\ \ | |/ |/| | | | | | | | | | | | | Remove CI support for `x86_64-rumprun-netbsd` That target has been removed by https://github.com/rust-lang/rust/pull/82594. This is intended to unblock CI and we could drop the actual library support for it like CloudABI. r? `@ghost`
| * Remove CI support for `x86_64-rumprun-netbsd`Yuki Okushi2021-03-023-66/+0
|/
* Auto merge of #2086 - JohnTitor:s390x-musl, r=JohnTitorbors2021-02-284-94/+23
|\ | | | | | | | | | | | | Move `s390x-unknown-linux-musl` to build.sh Fixes #2085 r? `@ghost`
| * Fix build for `s390x-unknown-linux-musl`Yuki Okushi2021-03-012-92/+22
| |
| * Move `s390x-unknown-linux-musl` to build.shYuki Okushi2021-02-282-2/+1
|/
* Auto merge of #2071 - kaniini:s390x-musl, r=Amanieubors2021-02-286-1/+872
|\ | | | | | | | | | | | | | | add definitions for s390x musl targets Add support for s390x musl targets to libc. I haven't added CI because I am not familiar with the pipelines, but would be glad to do so if somebody outlines what needs to be done.
| * bors: disable s390x-unknown-linux-musl for nowAriadne Conill2021-02-281-1/+2
| |
| * add s390x-unknown-linux-musl to borsAriadne Conill2021-02-281-0/+1
| |
| * discard no longer used s390x-linux-musl.jsonAriadne Conill2021-02-281-30/+0
| |
| * ci: install-musl: add missing ;;Ariadne Conill2021-02-281-0/+1
| |
| * ci: add support for s390x-unknown-linux-muslAriadne Conill2021-02-283-0/+53
| |
| * musl: s390x: use c_int instead of c_ulong for terminal-related ioctl constantsAriadne Conill2021-02-271-31/+31
| | | | | | Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
| * musl: s390x: use c_int instead of c_ulong for ioctl constantsAriadne Conill2021-02-271-2/+2
| | | | | | Co-authored-by: Jubilee <46493976+workingjubilee@users.noreply.github.com>
| * add definitions for s390x musl targetsAriadne Conill2021-02-153-1/+846
| |
* | Auto merge of #2082 - landfillbaby:patch-1, r=Amanieubors2021-02-281-0/+73
|\ \ | | | | | | | | | | | | | | | | | | use GNU/Linux siginfo_t on Android Bionic uses an unchanged siginfo.h from the upstream linux so why not? :) I literally just copied everything with siginfo_t from unix/linux_like/linux/gnu/mod.rs to unix/linux_like/android/mod.rs
| * | use GNU/Linux siginfo_t on AndroidLucy Phipps2021-02-271-0/+73
|/ / | | | | | | needs testing
* | Auto merge of #2079 - de-vri-es:android-x86-accept4, r=joshtriplett,JohnTitorbors2021-02-273-14/+45
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement accept4 on x86 android with `socketcall` syscall. Linux x86 kernels before 4.3 only support the `socketcall` syscall rather than individual syscalls for socket operations. Since `libc` does a raw syscall for `accept4` on Android, it doesn't work on x86 systems. This PR instead implements `accept4` for x86 android using `socketcall`. The value for `SYS_ACCEPT4` (in contrast to `SYS_accept4` :eyes:) is taken from the `linux/net.h` header. Also note that the `socketcall` syscall takes all arguments as array of long ints. I've double checked with `glibc` to check how they pass arguments, since the Linux man page only says this: "args points to a block containing the actual arguments" and "only standard library implementors and kernel hackers need to know about socketcall()". This should fix https://github.com/rust-lang/rust/issues/82400
| * | Implement accept4 on x86 android with `socketcall` syscall.bors2021-02-273-14/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux x86 kernels before 4.3 only support the `socketcall` syscall rather than individual syscalls for socket operations. Since `libc` does a raw syscall for `accept4` on Android, it doesn't work on x86 systems. This PR instead implements `accept4` for x86 android using `socketcall`. The value for `SYS_ACCEPT4` (in contrast to `SYS_accept4` :eyes:) is taken from the `linux/net.h` header. Also note that the `socketcall` syscall takes all arguments as array of long ints. I've double checked with `glibc` to check how they pass arguments, since the Linux man page only says this: "args points to a block containing the actual arguments" and "only standard library implementors and kernel hackers need to know about socketcall()". This should fix https://github.com/rust-lang/rust/issues/82400
* | | Auto merge of #2083 - jasonbking:illumos, r=JohnTitorbors2021-02-272-0/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | Add additional illumos and Solaris constants This adds some additional constants for `fcntl(2)` and `setsockopt(3SOCKET)`.
| * | | Add several IPsec related optionsJason King2021-02-271-0/+7
| | | |
| * | | Additional solaris fcntl valuesJason King2021-02-272-0/+16
|/ / /
* | | Auto merge of #2080 - jbit:freebsd-bpf, r=JohnTitorbors2021-02-261-2/+45
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add FreeBSD BPF structures This PR adds BPF structures that are common between [FreeBSD 11](https://github.com/freebsd/freebsd-src/blob/release/11.0.0/sys/net/bpf.h), [FreeBSD 12](https://github.com/freebsd/freebsd-src/blob/release/12.0.0/sys/net/bpf.h), [FreeBSD mainline/13](https://github.com/freebsd/freebsd-src/blob/main/sys/net/bpf.h) and [DragonFlyBSD 5.9](https://github.com/DragonFlyBSD/DragonFlyBSD/blob/v5.9.0/sys/net/bpf.h). It also fixes the definition of `BPF_ALIGNMENT`, which should be equal to `sizeof(long)`, which is `4` on 32bit FreeBSD. https://www.freebsd.org/cgi/man.cgi?query=arch&sektion=7 > All supported ABIs can be divided into two groups: > * ILP32: `int`, `long`, `void *` types machine representations all have 4-byte size. > * LP64: `int` type machine representation uses 4 bytes, while `long` and `void *` are 8 bytes. I introduced the private `SIZEOF_LONG` const, since I didn't want to introduce a dependency on rust 1.24+ by depending on `libc_const_size_of`. These changes allow my experimental crate to build on FreeBSD: https://github.com/jbit/powerline
| * | | Add BPF structures for FreeBSDJames Lee2021-02-251-0/+36
| | | |
| * | | Fix BPF_ALIGNMENT for 32bit FreeBSDJames Lee2021-02-251-2/+9
| |/ /
* | | Auto merge of #2078 - workingjubilee:fix-mips64-musl, r=Amanieubors2021-02-265-38/+42
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix mips64-musl ioctl consts to c_int This arch was overlooked or unspecified in earlier PRs that fixed c_ulong to c_int for ioctl.h consts for musl, see PR #289, PR #301, or PR #1097 for such prior art, however these are still args to fn ioctl on mips64-musl, which is expecting c_ints. Some numbers acquired casts to reflect the fact the data is being used and (so should be written as) an unsized bitfield, even if the value is greater than i32::MAX. Currently rustc is not building on mips64-linux-musl because of this error.
| * | Stop directory-not-there errors in dox.shJubilee Young2021-02-251-5/+6
| | |
| * | Disable aarch64-linux-android in CIJubilee Young2021-02-251-1/+3
| | |
| * | Add trace to CIJubilee Young2021-02-242-1/+2
| | |
| * | Fix mips64-musl ioctl consts to c_intJubilee Young2021-02-231-31/+31
|/ / | | | | | | | | | | | | | | | | | | | | This arch was overlooked or unspecified in earlier PRs that fixed c_ulong to c_int for ioctl.h consts for musl, see PR #289, PR #301, or PR #1097 for such prior art, however these are still args to fn ioctl on mips64-musl, which is expecting c_ints. Some numbers acquired casts to reflect the fact the data is being used and (so should be written as) an unsized bitfield, even if the value is greater than i32::MAX.
* | Auto merge of #2075 - sunfishcode:sunfishcode/wasi-at-fdcwd, r=JohnTitorbors2021-02-193-3/+112
|\ \ | | | | | | | | | | | | | | | | | | | | | 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.
| * | WASI: define `AT_FDCWD` and update to latest WASI libcDan Gohman2021-02-183-3/+112
|/ / | | | | | | | | | | Update to the latest WASI libc, define `AT_FDCWD`, update the signature for __wasilibc_find_relpath, and add declarations for various `__wasilibc_` utility functions.
* | Auto merge of #2072 - smklein:solarish_directory, r=Amanieubors2021-02-161-0/+1
|\ \ | |/ |/| | | | | | | Add O_DIRECTORY to solarish FYI `@pfmooney` . I was trying to port [nix](https://crates.io/crates/nix) to illumos, and noticed this in the illumos-gate [headers](https://github.com/illumos/illumos-gate/blob/221e47fb90c5fcfe7add9a33f6c915ee5253ece9/usr/src/uts/common/sys/fcntl.h), but not in libc.
| * Add O_DIRECTORY to solarishSean Klein2021-02-161-0/+1
|/
* Auto merge of #2070 - nielx:haiku-raw-pointers, r=JohnTitorbors2021-02-141-17/+17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Haiku: use raw pointers instead of references in convenience functions The Haiku API has some convenience macros to make it easier to call certain functions. In the libc implementation, these are implemented as unsafe functions. The previous choice was to take certain pointer parameters as references, and do the conversion to raw pointers when the actual external function was called. However, this causes issues with the image_info struct, which needs to be initialized in Rust, before a native API call is used to enter data. Since part of this structure consists of function pointers, mem::zeroed() cannot be used, since in Rust function pointers cannot be NULL. Thus one needs to use the MaybeUnit<T> API to properly initialize it. This then makes it problematic to use the convenience functions, as a MaybeUnit<image_info> cannot be converted into an &mut image_info before it is marked as initialized with valid data. It can be converted into a raw *mut image_info, so if the function accepts this as a parameter it can be used. For consistency, all convenience functions have been converted from using references to using raw pointers.
| * Haiku: use raw pointers instead of references in convenience functionsNiels Sascha Reedijk2021-02-131-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Haiku API has some convenience macros to make it easier to call certain functions. In the libc implementation, these are implemented as unsafe functions. The previous choice was to take certain pointer parameters as references, and do the conversion to raw pointers when the actual external function was called. However, this causes issues with the image_info struct, which needs to be initialized in Rust, before a native API call is used to enter data. Since part of this structure consists of function pointers, mem::zeroed() cannot be used, since in Rust function pointers cannot be NULL. Thus one needs to use the MaybeUnit<T> API to properly initialize it. This then makes it problematic to use the convenience functions, as a MaybeUnit<image_info> cannot be converted into an &image_info before it is marked as initialized with valid data. It can be converted into a raw *mut image_info, so if the function accepts this as a parameter it can be used. For consistency, all convenience functions have been converted from using references to using raw pointers.
* | Auto merge of #1975 - skrap:feature/move-uclibc-under-linux, r=JohnTitorbors2021-02-1326-3143/+905
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move uclibc under linux This is a first cut at moving uclibc under linux, alongside `musl` and `gnu`. All tests pass on a vexpress a9 running in qemu. I am working on testing the other tier 3 uclibc targets: `mips-unknown-linux-uclibc` and `mipsel-unknown-linux-uclibc`. ~Not having access to these platforms, I am working on getting them running in qemu, but it may take a bit.~ The style check doesn't pass. I would appreciate some direction here. Many of these constants are defined under 2-of-3 out of musl/glibc/uclibc, so I'm not sure whether I should transform: ```rust #[cfg(not(target_env = "uclibc"))] pub fn foo(); ``` into 2 separate declarations, one each in `musl/mod.rs` and `gnu/mod.rs` or use a `cfg_if` block for each one (which explodes 2 lines into 5). - [x] Help me choose which fix to use for the items defined in musl and gnu but not uclibc. It's my guess that exploding into the `cfg_if` block is better for long-term maintainability, but I'd really appreciate opinions from the maintainers.
| * style fixes to satisfy new rustfmtJonah Petri2021-02-133-9/+15
| |
| * uclibc: fix x86_64-unknown-l4re-uclibc buildJonah Petri2021-02-133-12/+58
| |
| * move EPOLLEXCLUSIVE and EPOLLWAKEUP to linux/mod.rsJonah Petri2021-02-125-6/+9
| |
| * uclibc: style fixesJonah Petri2021-02-128-184/+174
| |
| * change getnameinfo flags type to int to conform to other libc implementationsJonah Petri2021-02-122-1/+5
| |
| * uclibc -> linux-like/linux: Manual consolitation of redundant structs and fns.Jonah Petri2021-02-1214-866/+467
| |
| * uclibc -> linux-like/linux: mostly mechanical removal of redundant symbolsJonah Petri2021-02-1221-2562/+673
| |