Skip to content

Commit

Permalink
freebsd adding execvpe support from 14.1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
devnexen committed Aug 12, 2024
1 parent 075ac33 commit 394282c
Show file tree
Hide file tree
Showing 137 changed files with 4,062 additions and 4,009 deletions.
2 changes: 1 addition & 1 deletion .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ task:
task:
name: nightly x86_64-unknown-freebsd-14
freebsd_instance:
image: freebsd-14-0-release-amd64-ufs
image: freebsd-14-1-release-amd64-ufs
setup_script:
- pkg install -y libnghttp2 curl
- curl https://sh.rustup.rs -sSf --output rustup.sh
Expand Down
77 changes: 10 additions & 67 deletions .github/workflows/full_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ name: full CI
on:
merge_group:
pull_request:
branches:
- libc-0.2
types: [opened, synchronize, reopened]

jobs:
docker_linux_tier1:
Expand Down Expand Up @@ -32,12 +31,12 @@ jobs:
contents: read # to fetch code (actions/checkout)

name: macOS
runs-on: macos-13
runs-on: macos-14
strategy:
fail-fast: true
matrix:
target: [
x86_64-apple-darwin,
aarch64-apple-darwin,
]
steps:
- uses: actions/checkout@v4
Expand All @@ -63,6 +62,7 @@ jobs:
ARCH_BITS: 64
ARCH: x86_64
- target: x86_64-pc-windows-msvc
# FIXME: It currently causes segfaults.
#- target: i686-pc-windows-gnu
# env:
# ARCH_BITS: 32
Expand Down Expand Up @@ -140,45 +140,6 @@ jobs:
- name: Execute run-docker.sh
run: LIBC_CI=1 sh ./ci/run-docker.sh ${{ matrix.target }}

# These targets are tier 3 or otherwise need to have CI build std via -Zbuild-std.
# Because of this, only the nightly compiler can be used on these targets.
docker_linux_build_std:
permissions:
contents: read # to fetch code (actions/checkout)

if: ${{ false }} # This is currently broken
name: Docker Linux Build-Std Targets
needs: [docker_linux_tier1, style_check]
runs-on: ubuntu-22.04
strategy:
fail-fast: true
max-parallel: 12
matrix:
target: [
armv7-unknown-linux-uclibceabihf
]
steps:
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: TOOLCHAIN=nightly INSTALL_RUST_SRC=1 sh ./ci/install-rust.sh
- name: Execute run-docker.sh
run: LIBC_CI=1 TOOLCHAIN=nightly LIBC_CI_ZBUILD_STD=1 sh ./ci/run-docker.sh ${{ matrix.target }}

# devkitpro's pacman needs to be connected from Docker.
docker_switch:
permissions:
contents: read # to fetch code (actions/checkout)

name: Docker Switch
needs: [docker_linux_tier1, style_check]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Setup Rust toolchain
run: sh ./ci/install-rust.sh
- name: Execute run-docker.sh
run: LIBC_CI=1 sh ./ci/run-docker.sh switch

build_channels_linux:
permissions:
contents: read # to fetch code (actions/checkout)
Expand All @@ -196,13 +157,7 @@ jobs:
stable,
beta,
nightly,
# FIXME: Disabled due to:
# error: failed to parse registry's information for: serde
#1.13.0,
1.19.0,
1.24.0,
1.25.0,
1.30.0,
1.71.0,
]
steps:
- uses: actions/checkout@v4
Expand All @@ -224,17 +179,10 @@ jobs:
max-parallel: 4
matrix:
target:
- { toolchain: stable, os: macos-13 }
- { toolchain: beta, os: macos-13 }
- { toolchain: nightly, os: macos-13 }
# Use macOS 11 for older toolchains as newer Xcode donesn't work well.
# FIXME: Disabled due to:
# error: failed to parse registry's information for: serde
#- { toolchain: 1.13.0, os: macos-11 }
- { toolchain: 1.19.0, os: macos-11 }
- { toolchain: 1.24.0, os: macos-11 }
- { toolchain: 1.25.0, os: macos-11 }
- { toolchain: 1.30.0, os: macos-11 }
- { toolchain: stable, os: macos-14 }
- { toolchain: beta, os: macos-14 }
- { toolchain: nightly, os: macos-14 }
- { toolchain: 1.71.0, os: macos-14 }
runs-on: ${{ matrix.target.os }}
steps:
- uses: actions/checkout@v4
Expand All @@ -255,10 +203,7 @@ jobs:
fail-fast: true
matrix:
toolchain: [
1.19.0,
1.24.0,
1.25.0,
1.30.0,
1.71.0,
stable,
]
steps:
Expand Down Expand Up @@ -291,11 +236,9 @@ jobs:
needs: [
docker_linux_tier1,
docker_linux_tier2,
#docker_linux_build_std,
macos,
windows,
style_check,
docker_switch,
build_channels_linux,
build_channels_macos,
build_channels_windows,
Expand Down
10 changes: 5 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "libc"
version = "0.2.155"
version = "0.2.151"
authors = ["The Rust Project Developers"]
license = "MIT OR Apache-2.0"
readme = "README.md"
Expand All @@ -14,6 +14,7 @@ exclude = ["/ci/*", "/.github/*", "/.cirrus.yml", "/triagebot.toml"]
description = """
Raw FFI bindings to platform libraries like libc.
"""
rust-version = "1.71.0"

[package.metadata.docs.rs]
features = ["const-extern-fn", "extra_traits"]
Expand Down Expand Up @@ -46,7 +47,8 @@ targets = [
"armv7-wrs-vxworks-eabihf",
"armv7r-none-eabi",
"armv7r-none-eabihf",
"hexagon-unknown-linux-musl",
# FIXME(hexagon): excluded due to duplicate symbol errors
# "hexagon-unknown-linux-musl",
"i586-pc-windows-msvc",
"i586-unknown-linux-gnu",
"i586-unknown-linux-musl",
Expand All @@ -61,13 +63,13 @@ targets = [
"i686-unknown-netbsd",
"i686-unknown-openbsd",
"i686-wrs-vxworks",
"loongarch64-unknown-linux-gnu",
"mips-unknown-linux-gnu",
"mips-unknown-linux-musl",
"mips64-unknown-linux-gnuabi64",
"mips64-unknown-linux-muslabi64",
"mips64el-unknown-linux-gnuabi64",
"mips64el-unknown-linux-muslabi64",
"mipsel-sony-psp",
"mipsel-unknown-linux-gnu",
"mipsel-unknown-linux-musl",
"nvptx64-nvidia-cuda",
Expand Down Expand Up @@ -139,8 +141,6 @@ align = []
rustc-dep-of-std = ['align', 'rustc-std-workspace-core']
extra_traits = []
const-extern-fn = []
# use_std is deprecated, use `std` instead
use_std = ['std']

[workspace]
members = ["libc-test"]
18 changes: 2 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,25 +47,11 @@ libc = "0.2"
If you use Rust >= 1.62, this feature is implicitly enabled.
Otherwise it requires a nightly rustc.

* **deprecated**: `use_std` is deprecated, and is equivalent to `std`.

## Rust version support

The minimum supported Rust toolchain version is currently **Rust 1.13.0**.
The minimum supported Rust toolchain version is currently **Rust 1.71.0**
(libc does not currently have any policy regarding changes to the minimum
supported Rust version; such policy is a work in progress.) APIs requiring
newer Rust features are only available on newer Rust toolchains:

| Feature | Version |
|----------------------|---------|
| `union` | 1.19.0 |
| `const mem::size_of` | 1.24.0 |
| `repr(align)` | 1.25.0 |
| `extra_traits` | 1.25.0 |
| `core::ffi::c_void` | 1.30.0 |
| `repr(packed(N))` | 1.33.0 |
| `cfg(target_vendor)` | 1.33.0 |
| `const-extern-fn` | 1.62.0 |
supported Rust version; such policy is a work in progress).

## Platform support

Expand Down
Loading

0 comments on commit 394282c

Please sign in to comment.