- May 19, 2017
-
-
Lee Bousfield authored
-
- May 18, 2017
-
-
bors authored
Add ENOATTR for Linux It's defined differently for OSX and *BSD, so having a Linux definition is helpful for cross-platform code.
-
Lee Bousfield authored
-
- May 16, 2017
-
-
bors authored
Add AT_FDCWD for FreeBSD
-
- May 15, 2017
-
-
Lee Bousfield authored
-
- May 08, 2017
-
-
bors authored
Steps towards support for musl-unknown-linux-uclibc Hello! I've been working towards resolving https://github.com/rust-lang/libc/issues/361 , this PR compiles successfully with a newish compiler (with some minor fixes in `gcc`, `ctest`), and all the tests pass for `libc-ctest`. Basically most of the undefined functions, constants, and structs were just removed from the ctest, and then any constants that weren't correct were fixed. Would it make more sense to conditionally remove them from libc? I wasn't sure when it was appropriate to skip the test for it instead of removing the function/constants, so I just removed all the tests for now because that was a little easier than hunting them down. I'm also guessing the way some of the constants were conditionally set wasn't the correct style, would you guys have any advice on how to do it more correctly? Lemme know how it looks!
-
bors authored
Define XATTR flags, and add XATTR functions for OSX As found in: http://elixir.free-electrons.com/linux/latest/source/include/uapi/linux/xattr.h https://opensource.apple.com/source/xnu/xnu-2050.7.9/bsd/sys/xattr.h
-
- May 07, 2017
-
-
Lee Bousfield authored
-
Lee Bousfield authored
-
- May 06, 2017
-
-
Kelvin Ly authored
-
- May 05, 2017
-
-
Kelvin Ly authored
-
- May 04, 2017
-
-
bors authored
Add x86_64-linux-android test We extract the linker and some libraries from an android image and copy then to `/system`. This allows the android test to run directly (or with qemu).
-
- May 03, 2017
-
-
Marco A L Barbosa authored
-
bors authored
Add res_init The `res_init` function, while deprecated, is critical for making networked applications work correctly when switching between networks, or between being offline and online. By default, `getaddrinfo` and friends use a cached version of `/etc/resolv.conf`, which means that network changes are not picked up by applications after they first start up. This has bitten [Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=214538), [Pidgin](https://developer.pidgin.im/ticket/2825), [MongoDB](https://jira.mongodb.org/browse/DOCS-5700), and more in the past. The logic behind exposing only `res_init` is that it is the only `res_*` function that is frequently called directly by user applications. The other `res_*` functions provide low-level access to domain lookups, whereas `res_init` is useful even if the application itself is not concerned with doing lookups. Behind the scenes, `getaddrinfo` in glibc [ultimately calls](https://github.com/lattera/glibc/blob/a2f34833b1042d5d8eeb263b4cf4caaea138c4ad/resolv/nss_dns/dns-host.c#L196) `res_nsearch` with `&_res`. `res_init` operates directly on this global reference, and is thus more useful to expose for most applications than the non-deprecated `res_ninit` function (which operators on an arbitrary `res_state`). As far as I can tell, `res_init` is available in [FreeBSD](https://www.freebsd.org/cgi/man.cgi?query=res_init&manpath=SuSE+Linux/i386+11.3), [NetBSD](http://netbsd.gw.com/cgi-bin/man-cgi?res_init+3+NetBSD-6.1), [OpenBSD](http://man.openbsd.org/resolver.3), [Solaris](http://www.polarhome.com/service/man/?qf=res_init&tf=2&of=Solaris&sf=), [Linux](https://linux.die.net/man/3/res_init), and [macOS](https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man3/res_init.3.html).
-
Jon Gjengset authored
-
Jon Gjengset authored
-
Jon Gjengset authored
-
- May 02, 2017
-
-
bors authored
Add Linux-specific recvmmsg(2) and sendmmsg(2) This is just the patch that @nodakai submitted in #257, updated against current master, but I'm opening this PR as a vehicle for whatever additional changes need to be made to get it merged. Thanks.
-
NODA, Kai authored
There is a compatibility issue regarding the type of a flag parameter: int vs uint. Linux does declare the syscall to use uint and musl followed it, but it is incompatible with other POSIX recv*/send* syscalls. So it seems to be wise to follow the glibc version of prototypes with int. Signed-off-by:
NODA, Kai <nodakai@gmail.com>
-
- May 01, 2017
-
-
bors authored
Add RTLD_NEXT and RTLD_SELF to *BSD
-
bors authored
Add major, minor, makedev functions Only for Linux and Android currently, though they also exist on BSDs
-
Alex Crichton authored
Make sigaction._restorer public
-
- Apr 30, 2017
-
-
Lee Bousfield authored
-
Steven Fackler authored
Only for Linux and Android currently, though they also exist on BSDs
-
Kelvin Ly authored
-
Kelvin Ly authored
-
- Apr 29, 2017
-
-
Jon Gjengset authored
-
Jon Gjengset authored
-
Jon Gjengset authored
-
- Apr 28, 2017
-
-
Jon Gjengset authored
-
Jon Gjengset authored
Some notes about the particularities of the changes: res_init has been deprecated in favor of res_ninit, and many (but not all) targets have therefore renamed the link name to __res_init. For example, this happened in glibc in version 2.2: https://bugzilla.redhat.com/show_bug.cgi?id=43822#c6 In these systems, res_init is #defined to __res_init in resolv.h, which lets existing C programs continue to be compiled. Unfortunately, this define doesn't automatically apply to our Rust code. We therefore need to manually map the link name of res_init as appropriate for each target: macOS and iOS use res_9_init: https://github.com/practicalswift/osx/blob/3908694d6328baa293f0d7fc337348c01d13ed8f/src/libresolv/resolv.h#L316 Solaris uses res_init: https://java.net/projects/solaris/sources/on-src/content/usr/src/head/resolv.h OpenBSD uses __res_init: https://github.com/openbsd/src/blob/f3b3b7c7ca9a921db3a5650eed40f2b2e4d731d8/include/resolv.h#L268 FreeBSD uses __res_init: https://github.com/freebsd/freebsd/blob/6911f4a88c9832e5985b788f5e84010424f9e020/include/resolv.h#L290 NetBSD uses __res_init: http://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/include/resolv.h glibc uses __res_init: https://github.com/lattera/glibc/blob/a2f34833b1042d5d8eeb263b4cf4caaea138c4ad/resolv/resolv.h#L259 eglibc uses __res_init: https://github.com/Xilinx/eglibc/blob/7f0bcce417c47aefad06ddfec7cd4ced3a4e10ff/resolv/resolv.h#L259 musl uses res_init: https://github.com/runtimejs/musl-libc/blob/0a11d7cb13e243782da36e2e5747b8b151933cca/include/resolv.h#L128 Android uses res_init: https://github.com/android/platform_bionic/blob/306ea559528255e19a5bcd68cc2a9b1afc2cfb27/libc/include/resolv.h#L57 One caveat here is that NetBSD doesn't seem to use the symbol name __res_init yet, despite the redefine being present in resolv.h. At least Travis fails for the netbsd target if __res_init is used. This may change in the future. iOS and macOS both unfortunately require linking with libresolv, despite the symbols technically being available without libresolv: resolv: http://blog.achernya.com/2013/03/os-x-has-silly-libsystem.html Android and OpenBSD fall in the same category.
-
- Apr 27, 2017
- Apr 26, 2017
-
-
Alex Crichton authored
Anyone can do it!
-
bors authored
Bump to 0.2.22
-
Alex Crichton authored
-
- Apr 25, 2017
-
-
Anatol Pomozov authored
We need to create an initialized sigaction struct for Linux syscalls thus its fields need to be public. The field was named _restorer before but system libc/kernel uapi name the field sa_restorer.
-
bors authored
Add sigprocmask function sigprocmask is currently missing, this adds the definition for sigprocmask into the main list of Unix functions. This should be standard across all the Unix-like systems supported. Note that the constants for 'how' (SIG_SETMASK, SIG_BLOCK, SIG_UNBLOCK) are already defined, it is only this function that is missing.
-
Kelvin Ly authored
-
bors authored
Add MINSIGSTKSZ constant to linux sources MINSIGSTKSZ is a minimum size of process stack allowed
-