Your source for static cross- and native- musl-based toolchains.

This is a community website and is not officially endorsed by musl or its authors.

toolchains ( linux, windows, mac, docker, sources, matrix, more... )
xstatic ( distro, kernel, packages, sources )
links ( musl, mingw, risc-v )

Small and reliable pre-built GCC toolchains for many architectures.
Cross (x86_64-hosted) by default4. Native for completeness.
Static so they run on supported platforms without dependencies.

This site is curl-friendly for direct links to toolchains!

  $ curl -s musl.cc | grep mips
  https://musl.cc/mips-linux-musl-cross.tgz
  ...

Toolchains are built1 using several modified versions (see below) of musl-cross-make.

For your convenience, Docker images2 are provided and updated regularly:

  $ docker pull muslcc/x86_64:aarch64-linux-musl
Compiler prefixes are removed in those images and they're rsync'd to root.

Many thanks to others in the #musl and associated communities for making this effort possible.
In particular, Rob Landley, Laurent Bercot (skarnet), and of course Rich Felker (dalias).

Ingredients:

[ Standard: source/config.mak ]
[ MinGW: source/config.mak ]

Toolchains:

Toolchains support the following languages: C, C++, Fortran except where noteda.
They are cryptographically signed with the following key: 0xB1D0B4566FBBDB40

GCC major releases: ( 6, 7, 8, 9 ).
For non-x86_64 toolchains, click here. Something else? Contact me.

Index of /

Index of /


../
SHA512SUMS                                         02-Jun-2019 17:18               37150
aarch64-linux-musl-cross.tgz                       02-Jun-2019 17:13            80057751
aarch64-linux-musl-cross.tgz.sig                   02-Jun-2019 17:13                 566
aarch64-linux-musl-native.tgz                      02-Jun-2019 17:13            53426317
aarch64-linux-musl-native.tgz.sig                  02-Jun-2019 17:13                 566
aarch64_be-linux-musl-cross.tgz                    02-Jun-2019 17:13            82161073
aarch64_be-linux-musl-cross.tgz.sig                02-Jun-2019 17:13                 566
aarch64_be-linux-musl-native.tgz                   02-Jun-2019 17:13            53787758
aarch64_be-linux-musl-native.tgz.sig               02-Jun-2019 17:13                 566
arm-linux-musleabi-cross.tgz                       02-Jun-2019 17:13            77674168
arm-linux-musleabi-cross.tgz.sig                   02-Jun-2019 17:13                 566
arm-linux-musleabi-native.tgz                      02-Jun-2019 17:13            53483508
arm-linux-musleabi-native.tgz.sig                  02-Jun-2019 17:13                 566
arm-linux-musleabihf-cross.tgz                     02-Jun-2019 17:13            77499397
arm-linux-musleabihf-cross.tgz.sig                 02-Jun-2019 17:13                 566
arm-linux-musleabihf-native.tgz                    02-Jun-2019 17:13            53297443
arm-linux-musleabihf-native.tgz.sig                02-Jun-2019 17:13                 566
armeb-linux-musleabi-cross.tgz                     02-Jun-2019 17:13            79341601
armeb-linux-musleabi-cross.tgz.sig                 02-Jun-2019 17:13                 566
armeb-linux-musleabi-native.tgz                    02-Jun-2019 17:13            53621714
armeb-linux-musleabi-native.tgz.sig                02-Jun-2019 17:13                 566
armeb-linux-musleabihf-cross.tgz                   02-Jun-2019 17:13            79210009
armeb-linux-musleabihf-cross.tgz.sig               02-Jun-2019 17:13                 566
armeb-linux-musleabihf-native.tgz                  02-Jun-2019 17:13            53399240
armeb-linux-musleabihf-native.tgz.sig              02-Jun-2019 17:13                 566
armel-linux-musleabi-cross.tgz                     02-Jun-2019 17:13            77673316
armel-linux-musleabi-cross.tgz.sig                 02-Jun-2019 17:13                 566
armel-linux-musleabi-native.tgz                    02-Jun-2019 17:13            53492155
armel-linux-musleabi-native.tgz.sig                02-Jun-2019 17:13                 566
armel-linux-musleabihf-cross.tgz                   02-Jun-2019 17:13            77520212
armel-linux-musleabihf-cross.tgz.sig               02-Jun-2019 17:13                 566
armel-linux-musleabihf-native.tgz                  02-Jun-2019 17:13            53300007
armel-linux-musleabihf-native.tgz.sig              02-Jun-2019 17:13                 566
armv5l-linux-musleabihf-cross.tgz                  02-Jun-2019 17:13            77528438
armv5l-linux-musleabihf-cross.tgz.sig              02-Jun-2019 17:13                 566
armv5l-linux-musleabihf-native.tgz                 02-Jun-2019 17:13            53298935
armv5l-linux-musleabihf-native.tgz.sig             02-Jun-2019 17:14                 566
armv7l-linux-musleabihf-cross.tgz                  02-Jun-2019 17:14            77517343
armv7l-linux-musleabihf-cross.tgz.sig              02-Jun-2019 17:14                 566
armv7l-linux-musleabihf-native.tgz                 02-Jun-2019 17:14            53296723
armv7l-linux-musleabihf-native.tgz.sig             02-Jun-2019 17:14                 566
armv7m-linux-musleabi-cross.tgz                    02-Jun-2019 17:14            77697255
armv7m-linux-musleabi-cross.tgz.sig                02-Jun-2019 17:14                 566
armv7m-linux-musleabi-native.tgz                   02-Jun-2019 17:14            53488798
armv7m-linux-musleabi-native.tgz.sig               02-Jun-2019 17:14                 566
armv7r-linux-musleabihf-cross.tgz                  02-Jun-2019 17:14            77521300
armv7r-linux-musleabihf-cross.tgz.sig              02-Jun-2019 17:14                 566
armv7r-linux-musleabihf-native.tgz                 02-Jun-2019 17:14            53299150
armv7r-linux-musleabihf-native.tgz.sig             02-Jun-2019 17:14                 566
i486-linux-musl-cross.tgz                          02-Jun-2019 17:14            80788548
i486-linux-musl-cross.tgz.sig                      02-Jun-2019 17:14                 566
i486-linux-musl-native.tgz                         02-Jun-2019 17:14            59285187
i486-linux-musl-native.tgz.sig                     02-Jun-2019 17:14                 566
i686-linux-musl-cross.tgz                          02-Jun-2019 17:14            81221377
i686-linux-musl-cross.tgz.sig                      02-Jun-2019 17:14                 566
i686-linux-musl-native.tgz                         02-Jun-2019 17:14            59544566
i686-linux-musl-native.tgz.sig                     02-Jun-2019 17:14                 566
i686-w64-mingw32-cross.tgz                         02-Jun-2019 17:14            91044125
i686-w64-mingw32-cross.tgz.sig                     02-Jun-2019 17:14                 566
i686-w64-mingw32-native.zip                        02-Jun-2019 17:14            85410131
i686-w64-mingw32-native.zip.sig                    02-Jun-2019 17:14                 566
m68k-linux-musl-cross.tgz                          02-Jun-2019 17:14            67098173
m68k-linux-musl-cross.tgz.sig                      02-Jun-2019 17:14                 566
m68k-linux-musl-native.tgz                         02-Jun-2019 17:14            44771174
m68k-linux-musl-native.tgz.sig                     02-Jun-2019 17:14                 566
microblaze-linux-musl-cross.tgz                    02-Jun-2019 17:14            57293059
microblaze-linux-musl-cross.tgz.sig                02-Jun-2019 17:14                 566
microblaze-linux-musl-native.tgz                   02-Jun-2019 17:14            42844146
microblaze-linux-musl-native.tgz.sig               02-Jun-2019 17:15                 566
microblazeel-linux-musl-cross.tgz                  02-Jun-2019 17:15            56393509
microblazeel-linux-musl-cross.tgz.sig              02-Jun-2019 17:15                 566
microblazeel-linux-musl-native.tgz                 02-Jun-2019 17:15            42764987
microblazeel-linux-musl-native.tgz.sig             02-Jun-2019 17:15                 566
mips-linux-musl-cross.tgz                          02-Jun-2019 17:15            76428863
mips-linux-musl-cross.tgz.sig                      02-Jun-2019 17:15                 566
mips-linux-musl-native.tgz                         02-Jun-2019 17:15            60176215
mips-linux-musl-native.tgz.sig                     02-Jun-2019 17:15                 566
mips-linux-musln32sf-cross.tgz                     02-Jun-2019 17:15            76772309
mips-linux-musln32sf-cross.tgz.sig                 02-Jun-2019 17:15                 566
mips-linux-musln32sf-native.tgz                    02-Jun-2019 17:15            60643753
mips-linux-musln32sf-native.tgz.sig                02-Jun-2019 17:15                 566
mips-linux-muslsf-cross.tgz                        02-Jun-2019 17:15            76759557
mips-linux-muslsf-cross.tgz.sig                    02-Jun-2019 17:15                 566
mips-linux-muslsf-native.tgz                       02-Jun-2019 17:15            60644519
mips-linux-muslsf-native.tgz.sig                   02-Jun-2019 17:15                 566
mips64-linux-musl-cross.tgz                        02-Jun-2019 17:15            81474996
mips64-linux-musl-cross.tgz.sig                    02-Jun-2019 17:15                 566
mips64-linux-musl-native.tgz                       02-Jun-2019 17:15            60647482
mips64-linux-musl-native.tgz.sig                   02-Jun-2019 17:15                 566
mips64-linux-musln32-cross.tgz                     02-Jun-2019 17:15            78194135
mips64-linux-musln32-cross.tgz.sig                 02-Jun-2019 17:15                 566
mips64-linux-musln32-native.tgz                    02-Jun-2019 17:15            57271192
mips64-linux-musln32-native.tgz.sig                02-Jun-2019 17:15                 566
mips64-linux-musln32sf-cross.tgz                   02-Jun-2019 17:15            78389142
mips64-linux-musln32sf-cross.tgz.sig               02-Jun-2019 17:15                 566
mips64-linux-musln32sf-native.tgz                  02-Jun-2019 17:15            57388683
mips64-linux-musln32sf-native.tgz.sig              02-Jun-2019 17:15                 566
mips64el-linux-musl-cross.tgz                      02-Jun-2019 17:15            79380022
mips64el-linux-musl-cross.tgz.sig                  02-Jun-2019 17:15                 566
mips64el-linux-musl-native.tgz                     02-Jun-2019 17:15            60265016
mips64el-linux-musl-native.tgz.sig                 02-Jun-2019 17:15                 566
mips64el-linux-musln32-cross.tgz                   02-Jun-2019 17:15            76842496
mips64el-linux-musln32-cross.tgz.sig               02-Jun-2019 17:15                 566
mips64el-linux-musln32-native.tgz                  02-Jun-2019 17:15            57003456
mips64el-linux-musln32-native.tgz.sig              02-Jun-2019 17:16                 566
mips64el-linux-musln32sf-cross.tgz                 02-Jun-2019 17:16            77035662
mips64el-linux-musln32sf-cross.tgz.sig             02-Jun-2019 17:16                 566
mips64el-linux-musln32sf-native.tgz                02-Jun-2019 17:16            57121109
mips64el-linux-musln32sf-native.tgz.sig            02-Jun-2019 17:16                 566
mipsel-linux-musl-cross.tgz                        02-Jun-2019 17:16            74735440
mipsel-linux-musl-cross.tgz.sig                    02-Jun-2019 17:16                 566
mipsel-linux-musl-native.tgz                       02-Jun-2019 17:16            59623389
mipsel-linux-musl-native.tgz.sig                   02-Jun-2019 17:16                 565
mipsel-linux-musln32-cross.tgz                     02-Jun-2019 17:16            74740873
mipsel-linux-musln32-cross.tgz.sig                 02-Jun-2019 17:16                 566
mipsel-linux-musln32-native.tgz                    02-Jun-2019 17:16            59618274
mipsel-linux-musln32-native.tgz.sig                02-Jun-2019 17:16                 566
mipsel-linux-musln32sf-cross.tgz                   02-Jun-2019 17:16            75050275
mipsel-linux-musln32sf-cross.tgz.sig               02-Jun-2019 17:16                 566
mipsel-linux-musln32sf-native.tgz                  02-Jun-2019 17:16            60071802
mipsel-linux-musln32sf-native.tgz.sig              02-Jun-2019 17:16                 566
mipsel-linux-muslsf-cross.tgz                      02-Jun-2019 17:16            75051361
mipsel-linux-muslsf-cross.tgz.sig                  02-Jun-2019 17:16                 566
mipsel-linux-muslsf-native.tgz                     02-Jun-2019 17:16            60076399
mipsel-linux-muslsf-native.tgz.sig                 02-Jun-2019 17:16                 566
or1k-linux-musl-cross.tgz                          02-Jun-2019 17:16            67709241
or1k-linux-musl-cross.tgz.sig                      02-Jun-2019 17:16                 566
or1k-linux-musl-native.tgz                         02-Jun-2019 17:16            54173218
or1k-linux-musl-native.tgz.sig                     02-Jun-2019 17:16                 566
powerpc-linux-musl-cross.tgz                       02-Jun-2019 17:16            78973525
powerpc-linux-musl-cross.tgz.sig                   02-Jun-2019 17:16                 566
powerpc-linux-musl-native.tgz                      02-Jun-2019 17:16            60176322
powerpc-linux-musl-native.tgz.sig                  02-Jun-2019 17:16                 566
powerpc-linux-muslsf-cross.tgz                     02-Jun-2019 17:16            79286542
powerpc-linux-muslsf-cross.tgz.sig                 02-Jun-2019 17:16                 566
powerpc-linux-muslsf-native.tgz                    02-Jun-2019 17:16            60542779
powerpc-linux-muslsf-native.tgz.sig                02-Jun-2019 17:16                 566
powerpc64-linux-musl-cross.tgz                     02-Jun-2019 17:16            83038974
powerpc64-linux-musl-cross.tgz.sig                 02-Jun-2019 17:16                 566
powerpc64-linux-musl-native.tgz                    02-Jun-2019 17:16            62130915
powerpc64-linux-musl-native.tgz.sig                02-Jun-2019 17:16                 566
powerpc64le-linux-musl-cross.tgz                   02-Jun-2019 17:16            80747479
powerpc64le-linux-musl-cross.tgz.sig               02-Jun-2019 17:16                 566
powerpc64le-linux-musl-native.tgz                  02-Jun-2019 17:16            62453447
powerpc64le-linux-musl-native.tgz.sig              02-Jun-2019 17:16                 566
powerpcle-linux-musl-cross.tgz                     02-Jun-2019 17:16            77500933
powerpcle-linux-musl-cross.tgz.sig                 02-Jun-2019 17:16                 566
powerpcle-linux-musl-native.tgz                    02-Jun-2019 17:16            60557272
powerpcle-linux-musl-native.tgz.sig                02-Jun-2019 17:16                 566
powerpcle-linux-muslsf-cross.tgz                   02-Jun-2019 17:16            77801937
powerpcle-linux-muslsf-cross.tgz.sig               02-Jun-2019 17:16                 566
powerpcle-linux-muslsf-native.tgz                  02-Jun-2019 17:16            60907716
powerpcle-linux-muslsf-native.tgz.sig              02-Jun-2019 17:16                 566
riscv32-linux-musl-cross.tgz                       02-Jun-2019 17:16            79951311
riscv32-linux-musl-cross.tgz.sig                   02-Jun-2019 17:16                 566
riscv32-linux-musl-native.tgz                      02-Jun-2019 17:16            52271200
riscv32-linux-musl-native.tgz.sig                  02-Jun-2019 17:17                 566
riscv64-linux-musl-cross.tgz                       02-Jun-2019 17:17            83115635
riscv64-linux-musl-cross.tgz.sig                   02-Jun-2019 17:17                 566
riscv64-linux-musl-native.tgz                      02-Jun-2019 17:17            51444964
riscv64-linux-musl-native.tgz.sig                  02-Jun-2019 17:17                 566
s390x-linux-musl-cross.tgz                         02-Jun-2019 17:17            77228343
s390x-linux-musl-cross.tgz.sig                     02-Jun-2019 17:17                 566
s390x-linux-musl-native.tgz                        02-Jun-2019 17:17            51553608
s390x-linux-musl-native.tgz.sig                    02-Jun-2019 17:17                 566
sh2-linux-musl-cross.tgz                           02-Jun-2019 17:17            68193217
sh2-linux-musl-cross.tgz.sig                       02-Jun-2019 17:17                 566
sh2-linux-musl-native.tgz                          02-Jun-2019 17:17            52713403
sh2-linux-musl-native.tgz.sig                      02-Jun-2019 17:17                 566
sh2-linux-muslfdpic-cross.tgz                      02-Jun-2019 17:17            68517201
sh2-linux-muslfdpic-cross.tgz.sig                  02-Jun-2019 17:17                 566
sh2-linux-muslfdpic-native.tgz                     02-Jun-2019 17:17            59221555
sh2-linux-muslfdpic-native.tgz.sig                 02-Jun-2019 17:17                 566
sh2eb-linux-musl-cross.tgz                         02-Jun-2019 17:17            69389460
sh2eb-linux-musl-cross.tgz.sig                     02-Jun-2019 17:17                 566
sh2eb-linux-musl-native.tgz                        02-Jun-2019 17:17            53236528
sh2eb-linux-musl-native.tgz.sig                    02-Jun-2019 17:17                 566
sh2eb-linux-muslfdpic-cross.tgz                    02-Jun-2019 17:17            69718096
sh2eb-linux-muslfdpic-cross.tgz.sig                02-Jun-2019 17:17                 566
sh2eb-linux-muslfdpic-native.tgz                   02-Jun-2019 17:17            60210456
sh2eb-linux-muslfdpic-native.tgz.sig               02-Jun-2019 17:17                 566
sh4-linux-musl-cross.tgz                           02-Jun-2019 17:17            68193084
sh4-linux-musl-cross.tgz.sig                       02-Jun-2019 17:17                 566
sh4-linux-musl-native.tgz                          02-Jun-2019 17:17            52632013
sh4-linux-musl-native.tgz.sig                      02-Jun-2019 17:17                 566
sh4eb-linux-musl-cross.tgz                         02-Jun-2019 17:17            69406853
sh4eb-linux-musl-cross.tgz.sig                     02-Jun-2019 17:17                 566
sh4eb-linux-musl-native.tgz                        02-Jun-2019 17:17            53112007
sh4eb-linux-musl-native.tgz.sig                    02-Jun-2019 17:17                 566
x86_64-linux-musl-cross.tgz                        02-Jun-2019 17:17            60905363
x86_64-linux-musl-cross.tgz.sig                    02-Jun-2019 17:17                 566
x86_64-linux-musl-native.tgz                       02-Jun-2019 17:17            58812672
x86_64-linux-musl-native.tgz.sig                   02-Jun-2019 17:17                 566
x86_64-linux-muslx32-cross.tgz                     02-Jun-2019 17:17            83521061
x86_64-linux-muslx32-cross.tgz.sig                 02-Jun-2019 17:17                 566
x86_64-linux-muslx32-native.tgz                    02-Jun-2019 17:17            58891462
x86_64-linux-muslx32-native.tgz.sig                02-Jun-2019 17:17                 566
x86_64-w64-mingw32-cross.tgz                       02-Jun-2019 17:17           102617395
x86_64-w64-mingw32-cross.tgz.sig                   02-Jun-2019 17:17                 566
x86_64-w64-mingw32-native.zip                      02-Jun-2019 17:17            99620448
x86_64-w64-mingw32-native.zip.sig                  02-Jun-2019 17:17                 566

Bugs discovered:

This effort has led to the discovery of several compiler bugs:

Bugs in software found by using these toolchains not shown.

Known issues:

  1. Fortran support is missing from microblaze{,el} cross- and native- toolchains due to an aforementioned bug.
  2. Native SH-2 FDPIC toolchains need to be built with -freorder-blocks-algorithm=simple due to an aforementioned bug.
  3. OpenRISC target: GCC 8 patched forward from gcc-8_2_0-release to 45d0f2 from here (thanks smaeul). GCC 9 includes it.
  4. [meta] Alpine Linux breaks packages between upgrades. Nginx + Lua (for curl support) was broken for a while, sorry.

Other notes:

  1. Hashes and cryptographic signatures3 are provided -- use HTTPS for greater security.
  2. Versions may be bumped up or down without notice if bugs are discovered.
  3. You should pin and reproduce any version of these toolchains yourself -- old binaries might not be archived. Don't trust random third-party binaries :)
  4. Build logs are not provided as toolchains are easily reproduced.
  5. Looking for x86_64-hosted cross compilers to target Win32? You're in luck: i686/sig and x86_64/sig (built with this).
  6. Native i686- and x86_64- Win32 toolchains. Packaged as .zip for convenience: i686/sig and x86_64/sig (built with this).
  7. If you encounter issues or want to request additional architectures, let me know
You may also be interested in mkroot, a QEMU-based rootfs and kernel builder.

References:

[1]: Toolchains are built using Adélie Linux.
[2]: Based on the Alpine Linux image for size. Packaged with MacroMμ.
[3]: Validate binaries against my public key.
[4]: RISC-V support is experimental. Pending review and merge.
[5]: Clang/LLVM is on the TODO list. Contributions welcome. Look at ELLCC in the interim.


Changelog (highlights):