Skip to content

Commit da65771

Browse files
committed
Merge branch 'musl'
2 parents e0807f4 + 4f86ae0 commit da65771

File tree

33 files changed

+313
-62
lines changed

33 files changed

+313
-62
lines changed

.github/workflows/bazel.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ jobs:
2929
- x86_64-unknown-linux-gnu
3030
- aarch64-unknown-linux-gnu
3131
- armv7-unknown-linux-gnueabihf
32+
- x86_64-unknown-linux-musl
33+
- aarch64-unknown-linux-musl
3234

3335
name: test linux targets
3436
uses: ./.github/workflows/bazel_impl.yml

.github/workflows/bazel_impl.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ on:
2020
jobs:
2121

2222
test-bazel-rules:
23+
if: ${{ inputs.use-built-toolchain == true || contains(inputs.target, 'musl') == false }}
2324
name: test ${{ inputs.target }} target on ${{ inputs.host }} host
2425
runs-on: ${{ inputs.runs-on }}
2526
steps:

.github/workflows/build-toolchain.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ jobs:
2121
os: ubuntu-24.04
2222
- name: aarch64-unknown-linux-gnu
2323
os: ubuntu-24.04-arm
24+
- name: x86_64-unknown-linux-musl
25+
os: ubuntu-24.04
26+
- name: aarch64-unknown-linux-musl
27+
os: ubuntu-24.04-arm
2428
name: gcc ${{ matrix.target.name }}
2529
runs-on: ${{ matrix.target.os }}
2630
steps:
@@ -73,6 +77,10 @@ jobs:
7377
os: ubuntu-24.04
7478
- name: aarch64-unknown-linux-gnu
7579
os: ubuntu-24.04-arm
80+
- name: x86_64-unknown-linux-musl
81+
os: ubuntu-24.04
82+
- name: aarch64-unknown-linux-musl
83+
os: ubuntu-24.04-arm
7684
name: sysroot ${{ matrix.target.name }}
7785
runs-on: ${{ matrix.target.os }}
7886
steps:

.github/workflows/cmake.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ jobs:
2929
- x86_64-unknown-linux-gnu
3030
- aarch64-unknown-linux-gnu
3131
- armv7-unknown-linux-gnueabihf
32+
- x86_64-unknown-linux-musl
33+
- aarch64-unknown-linux-musl
3234

3335
name: test linux targets
3436
uses: ./.github/workflows/cmake_impl.yml

.github/workflows/cmake_impl.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ on:
2020
jobs:
2121

2222
test-cmake-rules:
23+
if: ${{ inputs.use-built-toolchain == true || contains(inputs.target, 'musl') == false }}
2324
name: test ${{ inputs.target }} target on ${{ inputs.host }} host
2425
runs-on: ${{ inputs.runs-on }}
2526
steps:

bazel/MODULE.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ use_repo(assets, "llvm-x86_64-pc-windows-msvc")
2828
use_repo(assets, "sysroot-x86_64-unknown-linux-gnu")
2929
use_repo(assets, "sysroot-aarch64-unknown-linux-gnu")
3030
use_repo(assets, "sysroot-armv7-unknown-linux-gnueabihf")
31+
use_repo(assets, "sysroot-x86_64-unknown-linux-musl")
32+
use_repo(assets, "sysroot-aarch64-unknown-linux-musl")
3133

3234
xcode = use_extension("//detail/xcode:find.bzl", "extension")
3335
use_repo(xcode, "xcode-macosx")

bazel/detail/args/BUILD

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ cc_args(
4040
name = "windows",
4141
actions = [
4242
"@rules_cc//cc/toolchains/actions:compile_actions",
43-
"@rules_cc//cc/toolchains/actions:link_actions"
43+
"@rules_cc//cc/toolchains/actions:link_actions",
4444
],
4545
args = ["-fms-extensions"],
4646
)

bazel/detail/args/target.bzl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ LINUX_TARGETS = [
44
"x86_64-unknown-linux-gnu",
55
"aarch64-unknown-linux-gnu",
66
"armv7-unknown-linux-gnueabihf",
7+
"x86_64-unknown-linux-musl",
8+
"aarch64-unknown-linux-musl",
79
]
810

911
WINDOWS_TARGETS = [

bazel/detail/assets/assets.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@
3434
"url": "https://github.com/CACI-International/cpp-toolchain/releases/download/toolchain-2025.07.21/sysroot-aarch64-unknown-linux-gnu.tar.xz",
3535
"integrity": "sha256-aK7IJ3cYMa1/COZtfSRegnTZZufVAeFikoJ8y4aSMdQ="
3636
},
37+
{
38+
"name": "sysroot-aarch64-unknown-linux-musl",
39+
"url": "bootstrap",
40+
"integrity": "sha256-aK7IJ3cYMa1/COZtfSRegnTZZufVAeFikoJ8y4aSMdQ="
41+
},
3742
{
3843
"name": "sysroot-armv7-unknown-linux-gnueabihf",
3944
"url": "https://github.com/CACI-International/cpp-toolchain/releases/download/toolchain-2025.07.21/sysroot-armv7-unknown-linux-gnueabihf.tar.xz",
@@ -43,5 +48,10 @@
4348
"name": "sysroot-x86_64-unknown-linux-gnu",
4449
"url": "https://github.com/CACI-International/cpp-toolchain/releases/download/toolchain-2025.07.21/sysroot-x86_64-unknown-linux-gnu.tar.xz",
4550
"integrity": "sha256-C/nLgvYsxC7lKr+r5Z06OdSZqaYUMIuRB74KEuKE4Gk="
51+
},
52+
{
53+
"name": "sysroot-x86_64-unknown-linux-musl",
54+
"url": "bootstrap",
55+
"integrity": "sha256-C/nLgvYsxC7lKr+r5Z06OdSZqaYUMIuRB74KEuKE4Gk="
4656
}
47-
]
57+
]

bazel/docs/features.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,14 @@
1414
| `asan` | `//feature:asan` | Instrument with AddressSanitizer |
1515
| `ubsan` | `//feature:ubsan` | Instrument with UndefinedBehaviorSanitizer |
1616
| `lsan` | `//feature:lsan` | Instrument with LeakSanitizer |
17+
| `default_sanitizers` | `//feature:default_sanitizers` | Instrument with the sanitizers supported by the default_linkage feature |
1718
| `warnings_enabled` | `//feature:warnings_enabled` | Emit warnings |
1819
| `warnings_disabled` | `//feature:warnings_disabled` | Disable warnings |
1920
| `extra_warnings` | `//feature:extra_warnings` | Emit extra warnings |
2021
| `pedantic_warnings` | `//feature:pedantic_warnings` | Emit pedantic warnings |
2122
| `treat_warnings_as_errors` | `//feature:treat_warnings_as_errors` | Treat warnings as errors |
23+
| `static_position_independent_executable` | `//feature:static_position_independent_executable` | Link static PIE executables |
24+
| `default_linkage` | `//feature:default_linkage` | Default linkage for the platform: static PIE on musl, regular linkage elsewhere |
2225
| `c89` | `//feature:c89` | Use C89 language standard |
2326
| `c99` | `//feature:c99` | Use C99 language standard |
2427
| `c11` | `//feature:c11` | Use C11 language standard |

0 commit comments

Comments
 (0)