Skip to content
Snippets Groups Projects
  1. Oct 25, 2020
  2. Oct 07, 2020
  3. Sep 21, 2020
    • Josh Triplett's avatar
      Consolidate handling of libdl, and handle crt-static · 5bf6ee5d
      Josh Triplett authored
      Move the link line for `libdl` up to `src/unix/mod.rs`, making it easier
      to see all the libraries `libc` links to.
      
      This also makes `libdl` respect `target-feature=+crt-static`.
      5bf6ee5d
    • Josh Triplett's avatar
      Consolidate handling of libutil, and handle crt-static · e005f4ca
      Josh Triplett authored
      The two library blocks that specify `#[link(name = "util")]` do not
      actually reference any functions in `libutil`; the functions that do use
      `libutil` don't have any reference to it. And having two library blocks
      specify it results in two separate inclusions of `-lutil` on the linker
      command line. Move the link lines up to `src/unix/mod.rs`, making it
      easier to see all the libraries `libc` links to.
      
      This also makes `libutil` respect `target-feature=+crt-static`.
      e005f4ca
    • Josh Triplett's avatar
      Add support for building with static glibc · ac0a7839
      Josh Triplett authored
      This will need corresponding changes in rust-lang/rust to activate, but
      this will make it possible to make those changes.
      
      Note that despite the apparent redundancy in config directives, the link
      directives cannot be simplified any further. Attempting to factor out
      the checks for `target_feature = "crt-static"` does not work.
      ac0a7839
  4. Aug 20, 2020
  5. Aug 05, 2020
    • Dark Kirb's avatar
      Add DevkitPPC support · e9a12683
      Dark Kirb authored
      DevkitPPC does not support unix sockets natively, meaning that bindings
      to these functions was removed for powerpc targets with "nintendo" as
      vendor.
      
      Suggested target json files:
      
      Nintendo Gamecube:
      ```
      {
        "arch": "powerpc",
        "data-layout": "E-m:e-p:32:32-i64:64-n32",
        "dynamic-linking": false,
        "env": "newlib",
        "executables": true,
        "has-elf-tls": false,
        "has-rpath": true,
        "linker-flavor": "gcc",
        "llvm-target": "powerpc-eabi",
        "max-atomic-width": 32,
        "os": "dolphin",
        "target-c-int-width": "32",
        "target-endian": "big",
        "target-family": "unix",
        "target-mcount": "_mcount",
        "target-pointer-width": "32",
        "vendor": "nintendo"
      }
      ```
      
      Nintendo Wii:
      ```
      {
        "arch": "powerpc",
        "data-layout": "E-m:e-p:32:32-i64:64-n32",
        "dynamic-linking": false,
        "env": "newlib",
        "executables": true,
        "has-elf-tls": false,
        "has-rpath": true,
        "linker-flavor": "gcc",
        "llvm-target": "powerpc-eabi",
        "max-atomic-width": 32,
        "os": "revolution",
        "target-c-int-width": "32",
        "target-endian": "big",
        "target-family": "unix",
        "target-mcount": "_mcount",
        "target-pointer-width": "32",
        "vendor": "nintendo"
      }
      ```
      e9a12683
  6. Jul 08, 2020
    • Jake Goulding's avatar
      Limit macOS `$INODE64` symbol names to x86 and x86_64 · 8c2daaea
      Jake Goulding authored
      The new ARM-based platform doesn't need these as there's no legacy
      constraints.
      
      Tested via
      
      **demo.c**
      
      ```c
      
      int main() {
        fstat(0, NULL);
        fstatat(0, NULL, NULL, 0);
        lstat(NULL, NULL);
        stat(NULL, NULL);
        readdir(NULL);
        readdir_r(NULL, NULL, NULL);
      }
      ```
      
      **Compilation**
      
      ```none
      % SDKROOT=/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk MACOSX_DEPLOYMENT_TARGET=11.5 cc -arch arm64 demo.c
      
      % nm a.out
      0000000100008030 d __dyld_private
      0000000100000000 T __mh_execute_header
                       U _fstat
                       U _fstatat
                       U _lstat
      0000000100003e64 T _main
                       U _readdir
                       U _readdir_r
                       U _stat
                       U dyld_stub_binder
      ```
      
      This has also been experimentally compiled on a Developer Transition Kit.
      8c2daaea
  7. May 21, 2020
  8. Apr 11, 2020
  9. Apr 07, 2020
    • Brian Gavin's avatar
      Add strsignal(3) to unix · 106dcc2d
      Brian Gavin authored
      This does not add sys_siglist because the docs specify that the function
      should be used instead, whenever possible.
      106dcc2d
  10. Apr 03, 2020
  11. Mar 26, 2020
  12. Feb 29, 2020
  13. Feb 21, 2020
  14. Feb 19, 2020
  15. Sep 20, 2019
  16. Sep 16, 2019
  17. Sep 12, 2019
  18. 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
  19. Jul 26, 2019
  20. 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
  21. Jul 15, 2019
  22. Jun 23, 2019
  23. Jun 03, 2019
  24. May 29, 2019
  25. May 27, 2019
  26. 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
    • gnzlbg's avatar
      Fix locale_t in unix and fuchsia. · 5e2b0d88
      gnzlbg authored
      Closes #1055.
      5e2b0d88
    • gnzlbg's avatar
      Deprecate `use_std` cargo feature: use `std` instead . · 4ac26afa
      gnzlbg authored
      Related to #657 .
      4ac26afa
  27. May 23, 2019
  28. May 22, 2019
  29. May 18, 2019
  30. May 16, 2019
  31. May 04, 2019
  32. Apr 19, 2019
Loading