Commit Graph

2423 Commits

Author SHA1 Message Date
bors
5ac35c85fe Auto merge of #1039 - alesharik:master, r=alexcrichton
Implement statfs for dragonfly, freebsd and openbsd
2018-07-17 13:47:45 +00:00
alesharik
ce4c1404a7 Bump ctest version 2018-07-17 11:40:52 +03:00
alesharik
5ec8699bcb Implement statfs for dragonfly, freebsd and openbsd 2018-07-17 00:17:55 +03:00
bors
73c02637c4 Auto merge of #1040 - semarie:openbsd-fix, r=alexcrichton
Openbsd fix

put in several fixes for OpenBSD (one fix per commit).
testsuite ran on OpenBSD 6.3-current (upcoming 6.4)

```
RUNNING ALL TESTS
PASSED 6474 tests
```
2018-07-16 00:25:22 +00:00
Sébastien Marie
fec9baf0a3 remove ignore for published OpenBSD versions 2018-07-14 06:58:37 +02:00
Sébastien Marie
280976e0d3 fix struct arphdr alignment on OpenBSD 2018-07-14 06:57:09 +02:00
Sébastien Marie
9d203f5ce9 adjust SIGSTKSZ value for OpenBSD 6.3-current 2018-07-14 06:48:47 +02:00
Sébastien Marie
ec026d605c add HW_NCPUONLINE sysctl (number of cpus being used) on OpenBSD 2018-07-14 06:45:39 +02:00
Sébastien Marie
14f6cf8c6a add KERN_AUDIO and inc KERN_MAXID on OpenBSD 2018-07-14 06:44:16 +02:00
Sébastien Marie
c70efd87cd TCP_KEEP* constants are netbsd specific
they doesn't exists on OpenBSD. put them under NetBSD specific tree.
2018-07-14 06:39:58 +02:00
bors
bfe0e32d12 Auto merge of #1038 - Amanieu:fix_netbsd, r=alexcrichton
Fix netbsd build with "stdbuild"

A bug was introduced in #930 which caused netbsd to not link to libm.

r? @alexcrichton
2018-07-12 16:49:51 +00:00
Amanieu d'Antras
3d763ae4aa Disable test for --no-default-features on rumprun 2018-07-12 17:47:31 +01:00
Amanieu d'Antras
6fc015f03e Fix netbsd build with "stdbuild" 2018-07-12 09:24:55 +01:00
bors
ab6355021e Auto merge of #1037 - alexcrichton:fix, r=alexcrichton
Fix a #[cfg] attribute

It looks like this was a mistake of #930 but should be easy to fix!
2018-07-10 14:16:22 +00:00
Alex Crichton
30bb481ba9 Fix a #[cfg] attribute
It looks like this was a mistake of #930 but should be easy to fix!
2018-07-10 07:14:43 -07:00
bors
37e3a22feb Auto merge of #1034 - Amanieu:musl_libgcc, r=alexcrichton
Link to libgcc when statically linking musl

On some architectures (e.g. aarch64) musl depends on some libgcc functions (`__addtf3`, `__multf3`, `__subtf3`) for `long double` arithmetic that it uses internally. Unfortunately we don't provide these functions in compiler-builtins, so we instead need to get them from libgcc.

Fixes:
https://github.com/rust-lang/rust/issues/46651
https://github.com/rust-lang-nursery/compiler-builtins/issues/201
https://github.com/rust-lang-nursery/compiler-builtins/issues/217
2018-07-09 14:12:23 +00:00
Amanieu d'Antras
920cfeace9 Link to libgcc when statically linking musl 2018-07-08 18:31:40 +01:00
bors
9f54322c06 Auto merge of #1035 - rust-lang:dependabot/cargo/ctest-5c53723, r=alexcrichton
Bump ctest from `482c7f0` to `5c53723`

Bumps [ctest](https://github.com/alexcrichton/ctest) from `482c7f0` to `5c53723`.
<details>
<summary>Commits</summary>

- [`5c53723`](5c537236d1) Update libc dep
- See full diff in [compare view](482c7f0643...5c537236d1)
</details>
<br />

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

Finally, you can contact us by mentioning @dependabot.

</details>
2018-07-06 23:45:31 +00:00
dependabot[bot]
011603aacf
Bump ctest from 482c7f0 to 5c53723
Bumps [ctest](https://github.com/alexcrichton/ctest) from `482c7f0` to `5c53723`.
- [Release notes](https://github.com/alexcrichton/ctest/releases)
- [Commits](482c7f0643...5c537236d1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-07-06 20:11:01 +00:00
bors
22e4dcff18 Auto merge of #1033 - SmilingNavern:add_packet_mreq, r=alexcrichton
Add if_packet.h headers

Some structs for implementing af_packet(7)
2018-07-06 15:55:00 +00:00
Alexander Danilov
5446faa3c5 Fix type + style fix style issues 2018-07-06 18:40:46 +03:00
Alexander Danilov
6a5dd502f0 Add if_packet.h headers
Some structs for implementing af_packet(7)
2018-07-06 17:41:26 +03:00
debris
41475bdedf Fixed lint errors 2018-07-05 19:04:02 +02:00
debris
ba46c0cbff Add exchangedata for bsd 2018-07-05 18:23:23 +02:00
bors
460fb1310a Auto merge of #1031 - dusxmt:add-platform-linux-musl-ppc32, r=alexcrichton
Add linux musl powerpc (32-bit) support

This change adds support for musl on 32-bit powerpc.  Most of the general constants in src/unix/notbsd/linux/musl/b32/mod.rs were different from those of the powerpc port, so I moved them over to the individual architecture-specific submodules.  The same with the ipc_perm structure.
2018-07-05 15:15:18 +00:00
Marek Benc
0163a7ce20 Add linux musl powerpc (32-bit) support 2018-07-05 15:57:31 +02:00
bors
4dd66657b7 Auto merge of #1030 - mati865:android_enoattr, r=alexcrichton
Add ENOATTR for Android

PR based on https://github.com/rust-lang/libc/pull/594

It's defined in Android sysroot so it should work without test workaround (CI should catch it otherwise?).
2018-07-05 02:29:10 +00:00
Mateusz Mikuła
27043ec8df Add ENOATTR for Android 2018-07-04 20:35:31 +02:00
bors
8a9b980a84 Auto merge of #1029 - alexcrichton:no-custom-attr, r=alexcrichton
Remove `#![custom_attribute]`

No longer needed by the looks of it!
2018-07-03 23:31:04 +00:00
Alex Crichton
cd3b87dc7e Remove #![custom_attribute]
No longer needed by the looks of it!
2018-07-03 16:30:13 -07:00
bors
03e1a8cde9 Auto merge of #1027 - bcko:patch-1, r=alexcrichton
added badges

added Documentation, Latest Version, License badges similar to rand crate. https://crates.io/crates/rand
2018-07-01 18:14:20 +00:00
bors
b6d23ed45d Auto merge of #1028 - est31:master, r=alexcrichton
Re-add aarch64 stuff removed by previous PR

Previous PR #1023 has removed stuff from mod.rs and added it to some submodules, but
missed the aarch64 submodule.

This caused a build failure for rust on aarch64, see https://github.com/rust-lang/rust/pull/51864.

This copies the stuff that that commit added to the x86_64.rs submodule
and puts it into aarch64.rs.

It's been tested in the rust-lang/rust PR above: https://travis-ci.org/rust-lang/rust/builds/398750336
2018-07-01 16:58:37 +00:00
est31
90c01fa6b0 Re-add aarch64 stuff removed by previous commit
Previous commit

dcff154781
"libc: changes to ppc64le musl branch to support building of rust on Alpine"

has removed stuff from mod.rs and added it to some submodules, but
missed the aarch64 submodule.

This copies the stuff that that commit added to the x86_64.rs submodule
and puts it into aarch64.rs.
2018-07-01 09:25:11 +02:00
BC Ko
8a120921bf
added badges
added Documentation, Latest Version, License badges similar to rand crate. https://crates.io/crates/rand
2018-06-30 21:48:41 -07:00
bors
a9666f6010 Auto merge of #1026 - papertigers:master, r=alexcrichton
illumos header translation is wrong 02000000 should be 0x80000

I am recently getting into rust and discovered that tokio wasn't working on illumos.  I traced it back to mio but ultimately the issue ended up being this value in the libc crate.  It looks like the octal value isn't properly translated to the rust crate as hex.  Here's a test program I was using on linux and illumos:

```rust
extern crate libc;

#[allow(dead_code)]
const ILLUMOS_EPOLL_CLOEXEC: i32 = 0x80000;

fn find_func() -> usize {
    unsafe { libc::dlsym(libc::RTLD_DEFAULT, "epoll_create1\0".as_ptr() as *const _) as usize }
}

fn main() {
    let addr = find_func();

    #[allow(unused_variables)]
    let hex = format!("{:x}", addr);

    // I think the position changes per run on linux due to something like ASLR
    // so we only test on solaris for this use case
    #[cfg(target_os = "solaris")]
    assert_eq!(hex, "ffffbf7fff226fe0"); // confirmed with addrtosymstr

    unsafe {
        let f = std::mem::transmute::<usize, fn(i32) -> i32>(addr);

        #[cfg(target_os = "linux")]
        let epfd = f(libc::EPOLL_CLOEXEC);

        #[cfg(target_os = "solaris")]
        let epfd = f(ILLUMOS_EPOLL_CLOEXEC);

        println!("call to epoll_create1 returned: {}", epfd);
    }
}
```

Which outputs the following:

```
# cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.04s
     Running `target/debug/dlsym`
call to epoll_create1 returned: 3
```

Edit: typo
2018-06-30 23:47:54 +00:00
Mike Zeller
2341e6f3ad illumos header translation is wrong 02000000 should be 0x80000 2018-06-30 18:38:44 -04:00
bors
7cac8d0c9d Auto merge of #1019 - est31:master, r=alexcrichton
Simplify the stdbuild section

Found this when encountering the code in the rustc submodule and changing the allow for the warnings to deny.

* `no_std` is stable so it does not have to be listed in the `feature` attribute
* `no_std` as an attribute for the crate is already implied by the `#![cfg_attr(not(feature = "use_std"), no_std)]` below
* `staged_api` as an attribute gives a warning. That also matches my knowledge.
2018-06-28 04:03:20 +00:00
bors
0d0a5f7510 Auto merge of #1024 - nielx:master, r=alexcrichton
Haiku: Add more IP_* and IPV6_* constants.

These are used in the socket2 library.
2018-06-28 03:31:12 +00:00
bors
ac1a1193fb Auto merge of #1022 - sfackler:phys-pages, r=alexcrichton
Add _SC_PHYS_PAGES on macOS
2018-06-28 02:58:09 +00:00
bors
42a5ad8cd9 Auto merge of #1023 - mksully22:ppc64le_libc, r=alexcrichton
libc: changes to ppc64le musl branch to support building of rust on A…

…lpine

This PR includes changes to the libc musl branch to include the correct defines & declarations to support powerpc64.  Values that needed changes to a definition for powerpc64.rs that existed higher in the branch also resulted in a change that moved the definition down to the b32/mod.rs, b64/x86_64.rs to ensure that builds continued to work on those architectures.

Verification was done building rust for both ppc64le and x86_64 on Alpine as described in the git project
https://github.com/mksully22/ppc64le_alpine_rust_1.26.2
2018-06-28 02:21:06 +00:00
bors
f36341e219 Auto merge of #1021 - redox-os:master, r=alexcrichton
Add getpid on Redox

None
2018-06-28 01:08:08 +00:00
bors
93bc59e637 Auto merge of #1018 - scottlamb:pr-fdopendir, r=alexcrichton
add fdopendir on macOS

Fixes #1017

I moved it up to src/unix/mod.rs, as it's specified in POSIX.1-2008 and
appears to be implemented on every Unix-like system.

The symbol names on macOS appear similar to those for opendir; I found
them via the commands below. I tested the x86_64 version;
fdopendir$INODE64 worked as expected.

$ nm -arch x86_64 /usr/lib/system/libsystem_c.dylib | grep fdopendir
000000000007ea6d T _fdopendir
000000000002ba97 T _fdopendir$INODE64
$ nm -arch i386 /usr/lib/system/libsystem_c.dylib | grep fdopendir
00082d1e T _fdopendir
0002b528 T _fdopendir$INODE64$UNIX2003
00082d1e T _fdopendir$UNIX2003
2018-06-28 00:14:38 +00:00
bors
23578141f2 Auto merge of #1016 - debris:fs-swap-api, r=alexcrichton
added renamex_np, renameatx_np

these function can be used to atomically swap files

- added 2 macos specific functions - `renamex_np` and `renameatx_np` and two constants `RENAME_SWAP` and `RENAME_EXCL`
  - [macos stdio.h](https://github.com/apple/darwin-xnu/blob/0ddccd8/bsd/sys/stdio.h#L45-L48)
  - [docs](http://www.manpagez.com/man/2/renameatx_np/osx-10.12.3.php)
- ~added linux specific `renameat2`. according to the [docs](http://man7.org/linux/man-pages/man2/rename.2.html#VERSIONS) it was added to Linux in kernel 3.15.~
2018-06-27 23:08:59 +00:00
bors
4bd52f5e3e Auto merge of #995 - canndrew:if_arp, r=alexcrichton
add net/if_arp.h definitions

This is based on the contents of include/net/if_arp.h on my Linux system.
2018-06-27 21:58:05 +00:00
Niels Sascha Reedijk
572f142459 Haiku: Add more IP_* and IPV6_* constants.
These are used in the socket2 library.
2018-06-20 06:47:38 +00:00
Mike Sullivan
dcff154781 libc: changes to ppc64le musl branch to support building of rust on Alpine
amend to add style changes
amend to add style changes
2018-06-18 18:53:59 +00:00
Steven Fackler
4aabb87661 Add _SC_PHYS_PAGES on macOS 2018-06-15 11:48:57 -07:00
jD91mZM2
30f6da8a64
Add getpid 2018-06-09 07:54:56 +02:00
est31
f164aa8806 Simplify the stdbuild section 2018-06-08 09:24:30 +02:00
Scott Lamb
322ba046d8 add fdopendir on macOS
Fixes #1017

I moved it up to src/unix/mod.rs, as it's specified in POSIX.1-2008 and
appears to be implemented on every Unix-like system.

The symbol names on macOS appear similar to those for opendir; I found
them via the commands below. I tested the x86_64 version;
fdopendir$INODE64 worked as expected.

$ nm -arch x86_64 /usr/lib/system/libsystem_c.dylib | grep fdopendir
000000000007ea6d T _fdopendir
000000000002ba97 T _fdopendir$INODE64
$ nm -arch i386 /usr/lib/system/libsystem_c.dylib | grep fdopendir
00082d1e T _fdopendir
0002b528 T _fdopendir$INODE64$UNIX2003
00082d1e T _fdopendir$UNIX2003
2018-06-07 21:49:10 -07:00