Fix doc generation on travis.
Documentation generation appears to be failing on master (https://travis-ci.org/rust-lang/libc/jobs/183483333):
```
Collecting ghp-import
Downloading ghp-import-0.4.1.tar.gz
Collecting travis
Could not find a version that satisfies the requirement travis (from versions: )
No matching distribution found for travis
```
Basically `--user` doesn't appear to take an option, so `pip install ghp_import --user $USER` makes pip think the user is a package that needs to be installed (in this case `travis`). As there is no `travis` package, it dies.
Documentation generation appears to be failing on master (https://travis-ci.org/rust-lang/libc/jobs/183483333):
```
Collecting ghp-import
Downloading ghp-import-0.4.1.tar.gz
Collecting travis
Could not find a version that satisfies the requirement travis (from versions: )
No matching distribution found for travis
```
Basically `--user` doesn't appear to take an option, so `pip install ghp_import --user $USER` makes pip think the user is a package that needs to be installed (in this case `travis`). As there is no `travis` package, it dies.
When checking the status from waitpid on a kill -STOP <child_pid> WIFSIGNALED returns true
Currently in WIFSIGNALED rust is doing:
(status & 0x7f) + 1
where status is i32
As defined in /usr/include/x86_64-linux-gnu/bits/waitstatus.h
#define __WIFSIGNALED(status) \
(((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
Here is an example of the issue:
http://paste2.org/fXc8BxJ0
Run it, and it'll print the child pid then:
kill -STOP <child_pid>
Expect:
Stopped by signal print statement
Results:
Killed by signal print statement
Using the i32, it wont overflow leaving you with 128 returning true, using the waitstatus define you'll end up with -64 (since it shifts 1 right) which would return false. Though the C version shifts right once not really sure *why* but theres most likely a reason somewhere.
For the fix, just cast to i8 (signed char pretty much) as the C version is doing.
RUNNING ALL TESTS
PASSED 7356 tests
i686-unknown-openbsd libc correction
Now I had been able to run testsuite on i686-unknown-openbsd, here a batch of corrections.
- `suseconds_t` is `c_long` (`i64` or `i32` depending the arch)
- struct siginfo_t padding adjustment (the pointer `si_addr` makes the pad to change depending pointer size)
I tested the PR on i686-unknown-openbsd and x86_64-unknown-openbsd.