Hello Guix and Ricardo,

The original patch series was working correctly and producing working binaries. 
There were
some path issues, which I mention later. Some features and flags (present in 
are missing from that version of GCC 4.9, so I added GCC 6.2.0 as an extra 

Here are the modifications to Ricardo's patches for the arm-none-eabi
bare metal cross compiler:

- Cross-binutils is modified to use binutils 2.5.1, that cross-base provides,
as it is producing working binaries. The version of binutils from the svn commit
that was used by Ricardo is compiling correct binaries as well. Thus, if it is
deemed appropriate, the source for xbinutils can be swapped for the previous 
with (seemingly) no difference.

- The cross-gcc of the original, was failing to find the newlib-provided 
headers in
my system. I have set the native-cross-paths as a workaround. Not sure if there
is a better alternative, or if that behavior is my mistake.

- A package for cross GCC 6.2.0 is added, with appropriate patches for multilib
support, taken from the arch linux version of the package.

- Newlib-arm-none-eabi and newlib-nano-arm-none-eabi have been changed to
procedures, taking a cross-gcc as an argument, so as to facilitate building with
either version of gcc.

- An arm-none-eabi-toolchain procedure is declared, to create toolchain packages
for both gcc and newlib versions. The four toolchain variables follow. Not sure
if it's a mistake to include "nano" in the toolchain version.

This is the first patch that I send in guix-devel, so please bear with my 

Theodoros Foradis

* gnu: Add arm-none-eabi-toolchain.
* gnu: Add newlib-arm-none-eabi.
* gnu: Add arm-none-eabi-gcc-6 and patches.
* gnu: Add arm-none-eabi cross compiler.

 gnu/local.mk                                                 |   1 +
 gnu/packages/bootstrap.scm                                   |   1 +
 gnu/packages/embedded.scm                                    | 226 
 gnu/packages/patches/gcc-6-arm-none-eabi-multilib.patch      | 201 
 gnu/packages/patches/gcc-6-cross-environment-variables.patch |  65 
 5 files changed, 494 insertions(+)
 create mode 100644 gnu/packages/embedded.scm
 create mode 100644 gnu/packages/patches/gcc-6-arm-none-eabi-multilib.patch
 create mode 100644 gnu/packages/patches/gcc-6-cross-environment-variables.patch

Reply via email to