-
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
28 changed files
with
10,737 additions
and
0 deletions.
There are no files selected for viewing
245 changes: 245 additions & 0 deletions
245
website/_xpack.github.io/_posts/releases/gcc/2021-05-24-gcc-v8-5-0-1-released.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,245 @@ | ||
--- | ||
|
||
title: xPack GCC v8.5.0-1 released | ||
sidebar: gcc | ||
|
||
summary: "Version **8.5.0-1** is the first release of **xPack GCC**." | ||
|
||
version: 8.5.0-1 | ||
npm_subversion: 2 | ||
|
||
download_url: https://github.com/xpack-dev-tools/gcc-xpack/releases/v8.5.0-1/ | ||
|
||
date: 2021-05-24 21:30:00 +0300 | ||
|
||
redirect_to: https://xpack-dev-tools.github.io/gcc-xpack/blog/2021/05/24/gcc-v8-5-0-1-released/ | ||
|
||
comments: true | ||
|
||
categories: | ||
- releases | ||
- gcc | ||
|
||
tags: | ||
- releases | ||
- gcc | ||
- binaries | ||
- c++ | ||
|
||
--- | ||
|
||
The [xPack GCC](https://xpack.github.io/dev-tools/gcc/) | ||
is the **xPack** distribution of the | ||
[GNU Compiler Collection](https://gcc.gnu.org). | ||
|
||
There are separate binaries for **Windows** (x64 and x86), | ||
**macOS** (x64) and **GNU/Linux** (x64 and x86, arm64 and arm). | ||
|
||
{% include note.html content="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]({{ page.download_url }}). | ||
|
||
## Install | ||
|
||
The full details of installing the **xPack GNU Arm Embedded GCC** on | ||
various platforms are presented in the separate [Install]({{ site.baseurl }}/dev-tools/gcc/install/) page. | ||
|
||
On macOS, the general build tools are available in the | ||
**Command Line Tools** package, which can be installed standalone or | ||
as part of Xcode. | ||
|
||
### Easy install | ||
|
||
The easiest way to install GNU Arm Embedded GCC is with | ||
[`xpm`]({{ site.baseurl }}/xpm/) | ||
by using the **binary xPack**, available as | ||
[`@xpack-dev-tools/gcc`](https://www.npmjs.com/package/@xpack-dev-tools/gcc) | ||
from the [`npmjs.com`](https://www.npmjs.com) registry. | ||
|
||
To install the latest version available, use: | ||
|
||
```sh | ||
cd my-project | ||
xpm init # Only at first use. | ||
|
||
xpm install @xpack-dev-tools/gcc@latest | ||
|
||
ls -l xpacks/.bin | ||
``` | ||
|
||
To install this specific version, use: | ||
|
||
```sh | ||
xpm install @xpack-dev-tools/gcc@{{ page.version }}.{{ page.npm_subversion }} | ||
``` | ||
|
||
## Compliance | ||
|
||
This release follows the official | ||
[GCC](https://gcc.gnu.org/releases.html) 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. | ||
|
||
## Shared libraries | ||
|
||
On all platforms the packages are standalone, and expect only the standard | ||
runtime to be present on the host. | ||
|
||
All dependencies that are build as shared libraries are copied locally in the | ||
same folder as the executable. | ||
|
||
### `DT_RPATH` and `LD_LIBRARY_PATH` | ||
|
||
On GNU/Linux the binaries are adjusted to use a relative path: | ||
|
||
```console | ||
% readelf -d library.so | grep rpath | ||
0x000000000000001d (RPATH) Library runpath: [$ORIGIN] | ||
``` | ||
|
||
In the GNU ld.so search strategy, the `DT_RPATH` has | ||
the highest priority, higher than `LD_LIBRARY_PATH`, so if this later one | ||
is set in the environment, it should not interfere with the xPack binaries. | ||
|
||
Please note that previous versions, up to mid-2020, used `DT_RUNPATH`, which | ||
has a priority lower than `LD_LIBRARY_PATH`, and does not tolerate setting | ||
it in the environment. | ||
|
||
### `@executable_path` | ||
|
||
Similarly, on macOS, the binaries are adjusted with `otool` to use a | ||
relative path. | ||
|
||
## 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)](https://github.com/xpack/xpack-build-box), 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](https://github.com/xpack-dev-tools/gcc-xpack/blob/xpack/README-MAINTAINER.md) 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: | ||
|
||
```txt | ||
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 | ||
|
||
- GitHub [xpack-dev-tools/gcc-xpack](https://github.com/xpack-dev-tools/gcc-xpack/) | ||
- this release [![Github All Releases](https://img.shields.io/github/downloads/xpack-dev-tools/gcc-xpack/v{{ page.version }}/total.svg)](https://github.com/xpack-dev-tools/gcc-xpack/releases/v{{ page.version }}/) | ||
- all xPack releases [![Github All Releases](https://img.shields.io/github/downloads/xpack-dev-tools/gcc-xpack/total.svg)](https://github.com/xpack-dev-tools/gcc-xpack/releases/) | ||
- [individual file counters](https://somsubhra.github.io/github-release-stats/?username=xpack-dev-tools&repository=gcc-xpack) (grouped per release) | ||
- npmjs.com [@xpack-dev-tools/gcc](https://www.npmjs.com/package/@xpack-dev-tools/gcc) | ||
- latest releases [![npm](https://img.shields.io/npm/dw/@xpack-dev-tools/gcc.svg)](https://www.npmjs.com/package/@xpack-dev-tools/gcc/) | ||
- all @xpack-dev-tools releases [![npm](https://img.shields.io/npm/dt/@xpack-dev-tools/gcc.svg)](https://www.npmjs.com/package/@xpack-dev-tools/gcc/) | ||
|
||
Credit to [Shields IO](https://shields.io) for the badges and to | ||
[Somsubhra/github-release-stats](https://github.com/Somsubhra/github-release-stats) | ||
for the individual file counters. |
Oops, something went wrong.