Hello Guix and Ricardo,

The original patch series was working correctly and producing working binaries. 
flags (that I had been using with 6.2.0) are missing from that version of GCC 
so I added 6.2.0 as an extra option. I have tested it to produce working 

Here are some modifications to Ricardo's patches for the arm-none-eabi
bare metal cross compiler. The following changes have been made:

- I have modified xbinutils to use binutils 2.25.1 from cross-base, as it 
correctly with it. The version from the svn commit that was used by Ricardo is 
correct binaries as well. Thus, if it is deemed appropriate, the source for 
xbinutils can
be swapped for the previous one, with (seemingly) no difference.

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

- A package for cross GCC 6.2.0 is added, with appropriate patches for multilib

- Newlib-arm-none-eabi and newlib-nano-arm-none-eabi have been changed to
procedures, taking an xgcc as 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 version. 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 me.

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