Skip to content
Snippets Groups Projects
  1. Jul 27, 2020
  2. Jul 19, 2020
  3. Jul 09, 2020
  4. Jul 06, 2020
  5. May 28, 2020
  6. May 21, 2020
    • Valdemar Erk's avatar
      [FreeBSD] Add missing getnameinfo() flag values. · 5fec4c36
      Valdemar Erk authored
      
      This patchs adds missing flag values for getnameinfo()
      on FreeBSD, the following flags have been added from
      the FreeBSD tree.
      
       /*
        * Flag values for getnameinfo()
        */
       #define	NI_NOFQDN	0x00000001
       #define	NI_NUMERICHOST	0x00000002
       #define	NI_NAMEREQD	0x00000004
       #define	NI_NUMERICSERV	0x00000008
       #define	NI_DGRAM	0x00000010
       #define	NI_NUMERICSCOPE	0x00000020
      
      Signed-off-by: default avatarValdemar Erk <valdemar@erk.io>
      5fec4c36
  7. Apr 15, 2020
  8. Feb 19, 2020
    • Vickenty Fesunov's avatar
      Add memmem · 1c012aec
      Vickenty Fesunov authored
      memmem is a non-standard extension, first added in GNU libc and later
      ported to other systems. Support for it is non-uniform, thus it was only
      added to platforms that seem to support it.
      1c012aec
  9. Feb 12, 2020
  10. Sep 16, 2019
    • gnzlbg's avatar
      Add FreeBSD10 support · 3843c7db
      gnzlbg authored
      This adds libc-test support for Freebsd10 and a CI build job that tests
      FreeBSD10 with LIBC_CI only.
      3843c7db
  11. Sep 12, 2019
  12. Sep 02, 2019
    • Alan Somers's avatar
      Deprecate RLIM_NLIMITS · ac1e1240
      Alan Somers authored
      This constant is not stable across OS versions, so it cannot be used in
      any backwards- or forwards- compatible way.  It's typically used to size
      arrays in the kernel and in debugging utilities that are closely tied to
      the OS version.  Since libc is ignorant about OS versions, we shouldn't
      even be defining it.
      ac1e1240
  13. Sep 01, 2019
  14. Aug 17, 2019
  15. Aug 16, 2019
  16. Aug 14, 2019
  17. Jul 28, 2019
    • Luca Pizzamiglio's avatar
      Add support for FreeBSD CURRENT (aka freebsd13) · 4a74f1e0
      Luca Pizzamiglio authored
      Currently, libc supports and detects freebsd11 and freebsd13
      Unknown versions, like freebsd13, is treated as freebsd11.
      This patch solve the issues, detecting freebsd13 and treating it like
      freebsd12.
      Inverting the logic not(freebsd12) -> freebsd11 where possible
      4a74f1e0
  18. Jul 21, 2019
    • Luca Pizzamiglio's avatar
      Add support for FreeBSD CURRENT (aka freebsd13) · 96ea9c99
      Luca Pizzamiglio authored
      Currently, libc supports and detects freebsd11 and freebsd13
      Unknown versions, like freebsd13, is treated as freebsd11.
      This patch solve the issues, detecting freebsd13 and treating it like
      freebsd12.
      Inverting the logic not(freebsd12) -> freebsd11 where possible
      96ea9c99
  19. Jul 11, 2019
  20. Jul 05, 2019
  21. Jun 10, 2019
    • Bryant Mairs's avatar
      Switch to manual trait impls for sigevent · 7c265919
      Bryant Mairs authored
      sigevent structs on most platforms have padding or unused fields. Rather
      than display those in the Debug impl by deriving it, manually implement
      all extra_traits instead ignoring those fields.
      7c265919
  22. Jun 07, 2019
  23. May 29, 2019
  24. May 27, 2019
    • Bryant Mairs's avatar
      Ignore padding for mq_attr · 7d235af8
      Bryant Mairs authored
      The `pad` or `__reserved`  fields are not always 0 on some platforms,
      so when used in the `PartialEq` implementation being used, fails some
      comparisons. This commit manually implements the extra traits to
      correct this behavior.
      7d235af8
  25. May 24, 2019
    • gnzlbg's avatar
      Add a FreeBSD 12 build job and test FreeBSD12 APIs · 7437d0a6
      gnzlbg authored
      This commits adds a second FreeBSD 12 build job,
      and splits the implementation of the FreeBSD module
      into two modules, one for FreeBSD 11, and one for FreeBSD 12.
      
      The FreeBSD 11 module is compiled always by default, and is
      mostly forward compatible with FreeBSD 12 systems.
      
      The FreeBSD 12 module is only built for now in libc's CI,
      and uses FreeBSD 12 data types and APIs, linking to symbols
      that are only available in FreeBSD 12.
      
      Basically, when LIBC_CI env variable is defined, and the host
      system is a FreeBSD 12 system, then the FreeBSD 12 module is
      automatically built and tested. Conditional compilation is done
      using a `cfg(freebsd12)` flag.
      
      This commit also re-enables many tests, and documents why
      some remain disabled.
      7437d0a6
  26. Mar 27, 2019
  27. Feb 23, 2019
  28. Feb 13, 2019
  29. Feb 08, 2019
  30. Feb 07, 2019
    • gnzlbg's avatar
      Fix build on all platforms · a17a91cd
      gnzlbg authored
      This PR fixes the build on all platforms and all Rust version down to the
      minimum Rust version supported by libc: Rust 1.13.0.
      
      The `build.rs` is extended with logic to detect the newer Rust features used by
      `libc` since Rust 1.13.0:
      
      * Rust 1.19.0: `untagged_unions`. APIs using untagged unions are gated on
        `cfg(libc_unions)` and not available on older Rust versions.
      
      * Rust 1.25.0: `repr(align)`. Because `repr(align)` cannot be parsed by older
        Rust versions, all uses of `repr(align)` are split into `align.rs` and
        `no_align.rs` modules, which are gated on the `cfg(libc_align)` at the top
        level. These modules sometimes contain macros that are expanded at the top
        level to avoid privacy issues (`pub(crate)` is not available in older Rust
        versions). Closes #1242 .
      
      * Rust : `const` `mem::size_of`. These uses are worked around with hardcoded
        constants on older Rust versions.
      
      Also, `repr(packed)` structs cannot automatically `derive()` some traits like
      `Debug`. These have been moved into `s_no_extra_traits!` and the lint of missing
      `Debug` implementations on public items is silenced for these. We can manually
      implement the `extra_traits` for these in a follow up PR. This is tracked
      in #1243. Also, `extra_traits` does not enable `align` manually anymore.
      
      Since `f64::to_bits` is not available in older Rust versions, its usage
      has been replaced with a `transmute` to an `u64` which is what that method
      does under the hood.
      
      Closes #1232 .
      a17a91cd
  31. Feb 02, 2019
Loading