bors
47535e6d20
Auto merge of #1432 - josephlr:errno, r=gnzlbg
...
Add __errno_location on Redox, DragonFlyBSD, Haiku
Currently [`libstd`](909f5a0494/src/libstd/sys/unix/os.rs (L29-L49)
) and the [`getrandom` crate](https://github.com/rust-random/getrandom/pull/54/files#diff-027a56068e2bf3d31dc4273ee6e07034R12 ) have to use external declarations in order to implement `errno_location` across all UNIX platforms. This change adds bindings for the remaining UNIX platforms, allowing everyone to just use normal `libc` bindings.
This also removes the need for a seperate [`errno-dragonfly`](https://crates.io/crates/errno-dragonfly ) crate.
Links to the relevant header files:
- Redox: [`relibc`'s `bits/errno.h`](https://github.com/redox-os/relibc/blob/master/include/bits/errno.h ) uses `__errno_location`
- Haiku: [`posix/errno.h`](https://github.com/luciang/haiku/blob/master/headers/posix/errno.h ) uses `_errnop`
- DragonFlyBSD: [`sys/errno.h`](https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/errno.h ) uses `__error` just like FreeBSD (which makes sense)
- Note that the `__error` function is inlined. I don't think this causes a problem.
2019-07-15 07:55:27 +00:00
Joe Richey
df34d17bd9
Remove use of unstable
feature
2019-07-14 22:10:05 -07:00
Joe Richey
1b4747e77b
Update documentation to point to Rust issue
2019-07-12 10:24:39 -07:00
Joe Richey
3fa021d7ab
Add libc_thread_local cfg and unstable feature
2019-07-10 19:47:40 -07:00
Joe Richey
956ba42753
dragonfly: Add errno behind libc_thread_local
2019-07-10 18:04:48 -07:00
Joe Richey
b7a27b5c7c
libc::c_int -> ::c_int
2019-07-10 18:04:48 -07:00
Joe Richey
aa3578fa85
Add __errno_location on Redox, DragonFlyBSD, Haiku
2019-07-10 18:04:48 -07:00
bors
54b03c53fb
Auto merge of #1436 - condy0919:linux_pthread_setname, r=gnzlbg
...
Support pthread_{set,get}name_np for linux with glibc
2019-07-10 07:15:58 +00:00
condy
2686cc5bd8
Support pthread_{set,get}name_np for linux with glibc
2019-07-10 14:16:20 +08:00
bors
f397625c50
Auto merge of #1435 - dianpopa:master, r=gnzlbg
...
Add missing syscalls for aarch64-unknown-linux-musl
The list of syscalls from [rust-lang-aarch64-musl-syscalls](../blob/master/src/unix/notbsd/linux/musl/b64/aarch64.rs) misses some of the syscalls that are defined in [musl-libc-aarch64-syscalls](https://git.musl-libc.org/cgit/musl/tree/arch/aarch64/bits/syscall.h.in ).
We need this so that we get rid of hardcoding them inside [our project](https://github.com/firecracker-microvm/firecracker/blob/master/vmm/src/default_syscalls/filters.rs#L16 ).
Signed-off-by: Diana Popa <dpopa@amazon.com>
2019-07-09 17:03:54 +00:00
Diana Popa
5b959a181c
Add missing syscalls for aarch64-unknown-linux-musl
...
Signed-off-by: Diana Popa <dpopa@amazon.com>
2019-07-09 19:57:29 +03:00
bors
6307a0bfce
Auto merge of #1421 - DoumanAsh:expose_posix_timer_value, r=gnzlbg
...
Expose signal value of siginfo_t
Currently exposes it for following platforms:
- Linux has it as enum _timer and it is exposed alongside sigval
- On FreeBSD like systems si_value follows after si_addr (according to headers)
- Darwin is similar to FreeBSD
- NetBSD and FreeBSD uses struct that contains pid, uid, and si_value. Exposed via it
P.s. I'd like to take a look at other platforms too, but these are what I know so far.
FreeBSD needs some testing though
cc @gnzlbg
2019-07-09 14:48:26 +00:00
Douman
0c2e7831ce
Expose signal value of siginfo_t
...
Exposes value for most unix like platforms
2019-07-09 15:15:17 +02:00
bors
1375b1143c
Auto merge of #1430 - gnzlbg:bump_v, r=gnzlbg
...
Bump patch version
2019-07-08 07:28:17 +00:00
gnzlbg
84c984ddb0
Bump patch version
2019-07-08 09:27:45 +02:00
bors
789c38144e
Auto merge of #1423 - Susurrus:issue_665, r=gnzlbg
...
Remove AF_MAX, PF_MAX, NET_MAXID constants
These constants have already been deprecated for a few releases with
a deprecation notice, so they can finally be removed.
Closes rust-lang/libc#665
2019-07-06 16:47:40 +00:00
bors
2b351c2db2
Auto merge of #1429 - gnzlbg:appveyor_reduce, r=gnzlbg
...
Reduce appveyor churn
This should reduce the Appveyorn churn for other projects a bit more.
Please let me know if there is anything else that can be done. Maybe the infra team could discuss whether to document some general guidelines for rust-lang and rust-lang-nursery projects, and write them down somewhere. I would be willing to help.
cc @RalfJung @Mark-Simulacrum
2019-07-06 13:22:44 +00:00
gnzlbg
3f8cff745e
Reduce appveyor churn
2019-07-06 15:21:16 +02:00
bors
299a73f687
Auto merge of #1419 - gnzlbg:ctest_fix, r=gnzlbg
...
Update ctest version
The latest ctest version enabled the ABI roundtrip test by default, in which we initialize all types in Rust by default to some random bit-pattern, pass them to C, verify, modify, pass back to Rust, and verify.
This catches issues in the call ABI / calling convention.
This PR will silence those here for now.
2019-07-05 22:55:16 +00:00
gnzlbg
9f9286331f
Fix appveyor try 3
2019-07-05 18:55:42 +02:00
gnzlbg
fd7a1e9f83
Fix appveyor try 2
2019-07-05 18:44:30 +02:00
gnzlbg
b2dcd5c76a
Fix x86_64 musl
2019-07-05 18:24:16 +02:00
gnzlbg
c3ddd564c9
Allow s390x to fail - segfault
2019-07-05 18:13:03 +02:00
gnzlbg
9d58c0c14f
Allow PPC to fail - segfault
2019-07-05 18:13:03 +02:00
gnzlbg
7fa6534858
Fix FreeBSD and Appveyor
2019-07-05 18:13:03 +02:00
gnzlbg
ab6e4a3f18
Allow wasi to fail
2019-07-05 18:13:03 +02:00
gnzlbg
3fd4dd7ea3
Silence roundtrip errors
2019-07-05 18:13:03 +02:00
gnzlbg
b81a234913
Silence roundtrip in linux
2019-07-05 18:13:03 +02:00
Bryant Mairs
215f095601
Remove AF_MAX, PF_MAX, NET_MAXID constants
...
These constants have already been deprecated for a few releases with
a deprecation notice, so they can finally be removed.
Closes rust-lang/libc#665
2019-07-05 07:39:00 -07:00
gnzlbg
5e3866ad56
Update ctest version
2019-07-03 13:00:03 +02:00
bors
54ea12dff4
Auto merge of #1418 - fintelia:patch-2, r=gnzlbg
...
Fix link in README.md
Same as #1417 , but actually against the right branch this time.
2019-06-28 19:58:46 +00:00
Jonathan Behrens
cc33108bb9
Fix link in README.md
2019-06-28 15:21:44 -04:00
bors
00fe094a9d
Auto merge of #1407 - tmfink:wasi-schar, r=gnzlbg
...
wasi: add c_schar definition
This fixes an issue when building https://github.com/capstone-rust/capstone-rs/ for WASI.
Otherwise, I get:
~~~
error[E0412]: cannot find type `c_schar` in module `libc`
--> /home/user/capstone-rs/target/wasm32-wasi/debug/build/capstone-sys-1019f1f8759b0d05/out/capstone.rs:4:27
|
4 | pub type __int8_t = libc::c_schar;
| ^^^^^^^ help: a type alias with a similar name exists: `c_char`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0412`.
error: Could not compile `capstone-sys`.
~~~
The file with the error is generated with bindgen:
a74126cd88/capstone-sys/pre_generated/capstone.rs (L3-L5)
2019-06-28 13:23:15 +00:00
bors
8773f33c95
Auto merge of #1411 - acfoltzer:ucontext-compat, r=gnzlbg
...
Remove new field from ucontext_t for compatibility with earlier glibc versions
Per discussion in #1410 with @gnzlbg, this is necessary to avoid struct size mismatches between Rust and C on systems with glibc < 2.28.
2019-06-27 18:46:59 +00:00
Adam C. Foltzer
f6e48fc77c
fix line length
2019-06-27 11:42:22 -07:00
Adam C. Foltzer
e94fffc309
replace deprecated string functions in style script
2019-06-27 10:57:07 -07:00
Adam C. Foltzer
339fe22653
add fixmes for the ucontext_t shadow stack field
2019-06-27 09:32:52 -07:00
bors
4f4e81a030
Auto merge of #1409 - jbaublitz:nl-const-rtm-pr, r=gnzlbg
...
Add RTM_* constants to linux/mod.rs for rtnetlink
There is one last set of constants I'm looking to get added to libc for rtnetlink support in my netlink library. I'm going to follow this up with a release PR once this PR is merged.
2019-06-27 14:13:30 +00:00
Adam C. Foltzer
886bb3f2f8
filter out the struct test rather than removing the header
2019-06-26 16:56:53 -07:00
Adam C. Foltzer
dba4138305
remove newer __ssp
field from ucontext_t
for earlier glib compat
...
Per discussion in #1410 , this is necessary to avoid struct size mismatches between Rust and C on
systems with glibc < 2.28.
2019-06-26 15:52:56 -07:00
John Baublitz
7705d074f1
Move constants to gnu/mod.rs that are not musl-compatible
2019-06-26 16:13:45 -04:00
John Baublitz
d61b55d65f
Add RTM_* constants to linux/mod.rs for rtnetlink
2019-06-26 15:23:56 -04:00
Travis Finkenauer
cd5235f6e2
wasi: add c_schar definition
2019-06-25 21:55:42 -04:00
bors
40c73a6eed
Auto merge of #1404 - robertdfrench:solarish-doors, r=gnzlbg
...
Support calls to the SunOS Doors API
Doors are a lightweight IPC mechanism available in libc on Solaris & illumos. They are like unix domain sockets, but faster and more pleasant to work with.
* Brief introduction: ["Doors" in SolarisTM: Lightweight RPC using File Descriptors](http://www.kohala.com/start/papers.others/doors.html )
* Relevant manual pages: [DOOR_CALL(3C)](https://illumos.org/man/3C/door_call ), [DOOR_CREATE(3C)](https://illumos.org/man/3C/door_create )
* Tutorial I wrote: ["Revolving Doors": A tutorial on the Illumos Doors API](https://github.com/robertdfrench/revolving-door )
Marking this as a draft until I have included the full api.
2019-06-25 17:17:15 +00:00
bors
99854f378a
Auto merge of #1350 - dbrgn:ttyname_r, r=gnzlbg
...
Add ttyname_r
I hope this is correct. Parameter types taken from `man ttyname`.
```c
int ttyname_r(int fd, char *buf, size_t buflen);
```
2019-06-24 05:07:16 +00:00
Danilo Bargen
ccdc5ebc2d
fixup! Add ttyname_r
...
Add cfg_attr
2019-06-23 22:58:06 +02:00
Robert D. French
ba459b72a4
Obey 80 char line width
2019-06-23 00:51:36 -04:00
Robert D. French
27f9da96de
Support calls to the SunOS Doors API
2019-06-22 23:37:26 -04:00
bors
a73d6bc00d
Auto merge of #1402 - sikmir:haiku-add-ioctls, r=gnzlbg
...
haiku: add missing ioctl identifiers to control the TTY
Ref. [termios.h](37761761a0/headers/posix/termios.h (L165-L189)
)
2019-06-20 17:12:40 +00:00
Nikolay Korotkiy
60254f1151
haiku: add missing ioctl identifiers to control the TTY
2019-06-20 19:37:20 +03:00