Skip to content

Commit

Permalink
website: add _xpack.github.io
Browse files Browse the repository at this point in the history
  • Loading branch information
ilg-ul committed Dec 22, 2024
1 parent 7310ca3 commit 410cb2a
Show file tree
Hide file tree
Showing 28 changed files with 10,737 additions and 0 deletions.
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.
Loading

0 comments on commit 410cb2a

Please sign in to comment.