DSM 7.0 toolchains, mirrored here alongside the SynoCommunity build system.
Base toolchains (official Synology, DSM 7.0)
alpine4k-gcc750_glibc226_hard-GPL.txzis foralpine4k-7.0alpine-gcc750_glibc226_hard-GPL.txzis foralpine-7.0apollolake-gcc750_glibc226_x86_64-GPL.txzis forapollolake-7.0armada370-gcc750_glibc226_hard-GPL.txzis forarmada370-7.0armada375-gcc750_glibc226_hard-GPL.txzis forarmada375-7.0armada37xx-gcc750_glibc226_armv8-GPL.txzis forarmada37xx-7.0armada38x-gcc750_glibc226_hard-GPL.txzis forarmada38x-7.0armadaxp-gcc750_glibc226_hard-GPL.txzis forarmadaxp-7.0avoton-gcc750_glibc226_x86_64-GPL.txzis foravoton-7.0braswell-gcc750_glibc226_x86_64-GPL.txzis forbraswell-7.0broadwell-gcc750_glibc226_x86_64-GPL.txzis forbroadwell-7.0broadwellnk-gcc750_glibc226_x86_64-GPL.txzis forbroadwellnk-7.0broadwellntbap-gcc750_glibc226_x86_64-GPL.txzis forbroadwellntbap-7.0bromolow-gcc750_glibc226_x86_64-GPL.txzis forbromolow-7.0cedarview-gcc750_glibc226_x86_64-GPL.txzis forcedarview-7.0comcerto2k-gcc493_glibc220_hard-GPL.txzis forcomcerto2k-7.0denverton-gcc750_glibc226_x86_64-GPL.txzis fordenverton-7.0evansport-gcc750_glibc226_i686-GPL.txzis forevansport-7.0geminilake-gcc750_glibc226_x86_64-GPL.txzis forgeminilake-7.0grantley-gcc750_glibc226_x86_64-GPL.txzis forgrantley-7.0kvmx64-gcc750_glibc226_x86_64-GPL.txzis forkvmx64-7.0monaco-gcc750_glibc226_hard-GPL.txzis formonaco-7.0purley-gcc750_glibc226_x86_64-GPL.txzis forpurley-7.0rtd1296-gcc750_glibc226_armv8-GPL.txzis forrtd1296-7.0v1000-gcc750_glibc226_x86_64-GPL.txzis forv1000-7.0
GCC 8.5 overlay toolchains
These are not replacements for the base toolchains — they are overlays. GCC 8.5 (the compiler DSM 7.1/7.2 already ship) is rebuilt as a cross-compiler for the DSM 7.0 toolchains above, reusing each toolchain's existing glibc sysroot. glibc stays the runtime floor; only the compiler moves forward, which unlocks modern C++ (and Fortran) on DSM 7.0.
Built by native/gcc8 (make build-archive). A per-arch overlay consumer (toolchain/syno-<arch>-7.0-gcc8) downloads the matching archive and extracts it beside the stock gcc in the base toolchain; tc_vars then selects the newest gcc. A package can force the stock compiler with LEGACY_TOOLCHAIN = 1.
One archive per target triple + glibc (shared by every arch in that group). Because kernel-module builds always use the arch-specific toolchain, an overlay consumer is generated for every sub-arch, but they reference these shared archives:
| Archive | Serves |
|---|---|
gcc8-x86_64-pc-linux-gnu-glibc2.26-7.0.txz
| all x86_64 platforms (x64, apollolake, avoton, broadwell, …) |
gcc8-arm-unknown-linux-gnueabi-glibc2.26-7.0.txz
| armv7 hard-float (armada*, alpine*, monaco, …) |
gcc8-aarch64-unknown-linux-gnu-glibc2.26-7.0.txz
| aarch64 (armada37xx, rtd1296) |
gcc8-i686-pc-linux-gnu-glibc2.26-7.0.txz
| evansport |
gcc8-arm-unknown-linux-gnueabi-glibc2.20-7.0.txz
| comcerto2k (glibc 2.20 orphan — same triple as the armv7 archive but an older glibc, hence a separate build) |