Skip to content
Snippets Groups Projects
  1. Jan 21, 2019
  2. Jan 17, 2019
    • bors's avatar
      Auto merge of #1212 - asomers:cmsg, r=alexcrichton · 70284d78
      bors authored
      Fix CMSG_DATA(3) and friends on BSD
      
      PR #1098 added the CMSG_DATA(3) family of functions into libc.  Because
      they're defined as macros in C, they had to be rewritten as Rust
      functions for libc.  Also, they can't be tested in CI for the same
      reason.  But that PR erroneously used the same definitions in BSD as in
      Linux.
      
      This commit corrects the definitions for OSX, FreeBSD, DragonflyBSD,
      OpenBSD, and NetBSD.  I renamed a few variables and collapsed a few
      macros in order to combine the definitions where possible.
      
      Fixes #1210
      70284d78
  3. Jan 16, 2019
    • Alan Somers's avatar
      Fix CMSG_DATA(3) and friends on BSD · 8067378d
      Alan Somers authored
      PR #1098 added the CMSG_DATA(3) family of functions into libc.  Because
      they're defined as macros in C, they had to be rewritten as Rust
      functions for libc.  Also, they can't be tested in CI for the same
      reason.  But that PR erroneously used the same definitions in BSD as in
      Linux.
      
      This commit corrects the definitions for OSX, FreeBSD, DragonflyBSD,
      OpenBSD, and NetBSD.  I renamed a few variables and collapsed a few
      macros in order to combine the definitions where possible.
      
      Fixes #1210
      8067378d
  4. Jan 15, 2019
    • bors's avatar
      Auto merge of #1211 - asomers:netbsd_aio, r=gnzlbg · 6b8ef413
      bors authored
      Fix linking aio_read(3) and friends on NetBSD
      
      The aio functions require librt on NetBSD.
      6b8ef413
    • bors's avatar
      Auto merge of #1201 - thendiscard:master, r=gnzlbg · ac6e2a79
      bors authored
      Remove fexecve from netbsdlike as it's not implemented
      
      Sometimes it causes confusion in downstream users of libc, for example it caused nix-rust/nix to fail to compile on OpenBSD 6.4 (see https://github.com/nix-rust/nix/pull/1000).
      
      OpenBSD doesn't implement fexecve. The only reference of it that I can
      find in the OpenBSD source is in the man pages of signal(3) and
      sigaction(2) (where it's mentioned that it is not implemented).
      
      OpenBSD official source code link:
      https://cvsweb.openbsd.org/src/lib/libc/sys/sigaction.2?rev=1.75&content-type=text/x-cvsweb-markup
      
      OpenBSD Github mirror:
      https://github.com/openbsd/src/blob/master/lib/libc/sys/sigaction.2#L619
      
      On NetBSD's unistd.h I see that it is under an ifdef. Calling it returns
      78 / ENOSYS / Function not implemented.
      
      NetBSD office source code link:
      http://cvsweb.netbsd.org/bsdweb.cgi/src/include/unistd.h?rev=1.151&content-type=text/x-cvsweb-markup&only_with_tag=MAIN
      
      NetBSD Github mirror:
      https://github.com/NetBSD/src/blob/trunk/include/unistd.h#L319
      
      Tests on OpenBSD 6.4 after the change:
      ```bash
      user@openbsd64 ~/RUST/libc $ cargo build
         Compiling libc v0.2.46 (/home/user/RUST/libc)
          Finished dev [unoptimized + debuginfo] target(s) in 3.88s
      
      user@openbsd64 ~/RUST/libc $ cargo build --release
         Compiling libc v0.2.46 (/home/user/RUST/libc)
          Finished release [optimized] target(s) in 2.21s
      
      user@openbsd64 ~/RUST/libc/libc-test $ cargo test
         Compiling proc-macro2 v0.4.24
         Compiling unicode-xid v0.1.0
         Compiling semver-parser v0.7.0
         Compiling serde v1.0.84
         Compiling libc v0.2.45
         Compiling num-traits v0.2.6
         Compiling ryu v0.2.7
         Compiling cfg-if v0.1.6
         Compiling itoa v0.4.3
         Compiling term v0.4.6
         Compiling bitflags v0.9.1
         Compiling cc v1.0.28
         Compiling libc v0.2.46 (/home/user/RUST/libc)
         Compiling log v0.4.6
         Compiling semver v0.9.0
         Compiling log v0.3.9
         Compiling rustc_version v0.2.3
         Compiling rand v0.4.3
         Compiling extprim v1.6.0
         Compiling quote v0.6.10
         Compiling syn v0.15.23
         Compiling serde_derive v1.0.84
         Compiling syntex_pos v0.59.1
         Compiling serde_json v1.0.34
         Compiling syntex_errors v0.59.1
         Compiling syntex_syntax v0.59.1
         Compiling ctest v0.2.8
         Compiling libc-test v0.1.0 (/home/user/RUST/libc/libc-test)
          Finished dev [unoptimized + debuginfo] target(s) in 2m 16s
           Running /home/user/RUST/libc/target/debug/deps/linux_fcntl-08861a7cd96d1b94
      RUNNING ALL TESTS
      PASSED 0 tests
           Running /home/user/RUST/libc/target/debug/deps/main-57e266d38aa58cce
      RUNNING ALL TESTS
      PASSED 7187 tests
      ```
      I've tried running the tests on a NetBSD 8.0 box unfortunately there `libc-test` fails to compile even before this change.
      ac6e2a79
    • bors's avatar
      Auto merge of #1188 - pusateri:netbsd8, r=gnzlbg · 18b0102b
      bors authored
      NetBSD 8 adds new address family changing AF_MAX and new ifaddrs flags.
      
      libc-test on NetBSD 8.0  fails without these changes.
      ifa_addrflags was added to struct ifaddrs to support AF_CAN.
      AF_MAX got bumped up one by AF_CAN.
      RT_IFLIST format changed to support ifa_addrflags.
      18b0102b
    • Alan Somers's avatar
      Fix linking aio_read(3) and friends on NetBSD · e2d584d7
      Alan Somers authored
      The aio functions require librt on NetBSD.
      e2d584d7
  5. Jan 14, 2019
  6. Jan 13, 2019
  7. Jan 12, 2019
  8. Jan 11, 2019
  9. Jan 09, 2019
  10. Jan 08, 2019
  11. Jan 04, 2019
  12. Jan 03, 2019
  13. Jan 02, 2019
  14. Dec 28, 2018
    • Tom Pusateri's avatar
      Add IP_RECVDSTADDR on netbsd. · 2c95a0dc
      Tom Pusateri authored
      2c95a0dc
    • bors's avatar
      Auto merge of #1184 - pusateri:recvif, r=gnzlbg · 7b3d2c6f
      bors authored
      Add IP_RECVIF to BSD and IP_RECVDSTADDR to apple.
      
      FreeBSD/OpenBSD do not support IP_PKTINFO for IPv4 but use IP_RECVIF for interface index and IP_RECVDSTADDR for destination address.
      NetBSD and macOS also support IP_RECVIF and IP_RECVDSTADDR in addition to IP_PKTINFO.
      (For IPv6, all use IPV6_PKTINFO)
      7b3d2c6f
Loading