Skip to main content

xPack GCC v8.5.0-1 released

· 4 min read

Version 8.5.0-1 is the first release of xPack GCC.

The xPack GCC is the xPack distribution of the GNU Compiler Collection.

There are separate binaries for Windows (x64 and x86), macOS (x64) and GNU/Linux (x64 and x86, arm64 and arm).

Raspberry Pi

The main targets for the GNU/Linux Arm binaries are the Raspberry Pi class devices (armv7l and aarch64; armv6 is not supported).

Download

The binary files are available from GitHub Releases.

Install

The easiest way to install this specific version, is by using xpm:

xpm install @xpack-dev-tools/gcc@8.5.0-1.2 -verbose

The full details of installing the xPack GNU Arm Embedded GCC on various platforms can be found in the Install Guide.

On macOS, the general build tools are available in the Command Line Tools package, which can be installed standalone or as part of Xcode.

Compliance

This release follows the official GCC release.

Supported languages

The supported languages are:

  • C
  • C++
  • Obj-C
  • Obj-C++
  • Fortran

Changes

Compared to the GNU version, there should be no functional changes.

The only patch applied was to make it correctly recognise macOS version 11.x instead of 10.16; the code was copied from the more recent 11.x sources.

Bug fixes

  • none

Enhancements

  • none

Known problems

  • on macOS, the g++ compiler complains about something like ... the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings. The reason for triggering this warning was not identified (yet), but the resulting binaries seem functional.

macOS binutils

The GNU binutils are not compatible with the macOS linker and are not included in the macOS archive.

macOS SDK

For the package to be standalone, the MacOSX10.10.sdk folder includes the 10.10 SDK.

Documentation

The original PDF documentation is available in the share/doc folder.

Supported platforms

Binaries for Windows, macOS and GNU/Linux are provided.

The binaries were built using the xPack Build Box (XBB), a set of build environments based on slightly older distributions, that should be compatible with most recent systems.

  • x86/x64 GNU/Linux: all binaries were built with GCC 9.3, running in an Ubuntu 12 Docker container
  • arm64/arm GNU/Linux: all binaries were built with GCC 9.3, running in an Ubuntu 16 Docker container (added in mid-2020)
  • x86/x64 Windows: all binaries were built with mingw-w64 GCC 9.3, running in an Ubuntu 12 Docker container
  • x64 macOS: all binaries were built with GCC 9.3, running in a separate folder on macOS 10.10.5.

Build

The scripts used to build this distribution are in:

  • distro-info/scripts

For the prerequisites and more details on the build procedure, please see the README-MAINTAINER page.

CI tests

TBD

Tests

The binaries were testes on Windows 10 Pro 32/64-bit, Ubuntu 18 LTS 64-bit, Xubuntu 18 LTS 32-bit and macOS 11.2.

The tests consist in building simple hello world programs.

Since the source code used for GCC is identical to the one used by GNU, the long and complex tests performed by GNU to validate their release were not executed again.

Checksums

The SHA-256 hashes for the files are:

5ca5abb0e6d7a3048d47bd46f0278c7534b7f817ac2cbc4b54cea646373e8b89
xpack-gcc-8.5.0-1-darwin-x64.tar.gz

efda34b8865198853edac865737824dfa76d24480f4a057c22fa4d6bef81dee6
xpack-gcc-8.5.0-1-linux-arm64.tar.gz

bf96d4f185c17043bf84f2803252a1b0af63266c023dd62396a667f025bcfe96
xpack-gcc-8.5.0-1-linux-arm.tar.gz

de97e4242e1c691f488a32f0bab76e8019b3959e9d0078b25a4f34bcf3a14ab6
xpack-gcc-8.5.0-1-linux-ia32.tar.gz

ef74a7b554e586f84ce5d17bb6d2074f4ab59e07da3038029f04f8a2fa657cc5
xpack-gcc-8.5.0-1-linux-x64.tar.gz

84db4ad846a25156def667e18d3ca376497388494abe08636f825f9f84f9d847
xpack-gcc-8.5.0-1-win32-ia32.zip

71c9a4744b207e080b7ab94e777b8a8f90018cccf1896fa650cbee2d91ac779c
xpack-gcc-8.5.0-1-win32-x64.zip

Download analytics

Credit to Shields IO for the badges and to Somsubhra/github-release-stats for the individual file counters.