all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#63576] [PATCH v1 0/4] Add aarch64-none-elf-gcc-toolchain.
@ 2023-05-18 18:24 Denis 'GNUtoo' Carikli
  2023-05-18 18:28 ` [bug#63576] [PATCH v1 1/4] gnu: Add aarch64-none-elf-binutils Denis 'GNUtoo' Carikli
  2023-06-04  8:43 ` [bug#63576] [PATCH v1 0/4] " Efraim Flashner
  0 siblings, 2 replies; 8+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-05-18 18:24 UTC (permalink / raw)
  To: 63576; +Cc: Ludovic Courtès, Efraim Flashner,
	Denis 'GNUtoo' Carikli

Hi,

Here's a patch serie to add a GCC cross toolchain for aarch64-none-elf. For
now it doesn't contain C++ support but that can be added on later.

I've validated by building u-boot locally with it.

I didn't test it for microncontroller development as I don't know what board
to get to test it. Apparently support for 64bit was added to Armv8-R, so it
might be possible to find some boards with 64bit CPUs at some point.

Denis 'GNUtoo' Carikli (4):
  gnu: Add aarch64-none-elf-binutils.
  gnu: Add aarch64-none-elf-gcc.
  gnu: Add aarch64-none-elf-newlib.
  gnu: Add aarch64-none-elf-gcc-toolchain.

 gnu/local.mk                                |   1 +
 gnu/packages/aarch64-none-elf-toolchain.scm | 159 ++++++++++++++++++++
 2 files changed, 160 insertions(+)
 create mode 100644 gnu/packages/aarch64-none-elf-toolchain.scm


base-commit: 5b700945fb0b33eec410de8979cae2fbf0d4f118
-- 
2.40.1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#63576] [PATCH v1 1/4] gnu: Add aarch64-none-elf-binutils.
  2023-05-18 18:24 [bug#63576] [PATCH v1 0/4] Add aarch64-none-elf-gcc-toolchain Denis 'GNUtoo' Carikli
@ 2023-05-18 18:28 ` Denis 'GNUtoo' Carikli
  2023-05-18 18:28   ` [bug#63576] [PATCH v1 2/4] gnu: Add aarch64-none-elf-gcc Denis 'GNUtoo' Carikli
                     ` (2 more replies)
  2023-06-04  8:43 ` [bug#63576] [PATCH v1 0/4] " Efraim Flashner
  1 sibling, 3 replies; 8+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-05-18 18:28 UTC (permalink / raw)
  To: 63576; +Cc: Ludovic Courtès, Efraim Flashner,
	Denis 'GNUtoo' Carikli

* gnu/packages/aarch64-none-elf-toolchain.scm (aarch64-none-elf-binutils): New
  variable.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add
  %D%/packages/aarch64-none-elf-toolchain.scm.
---
 gnu/local.mk                                |  1 +
 gnu/packages/aarch64-none-elf-toolchain.scm | 26 +++++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 gnu/packages/aarch64-none-elf-toolchain.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 42514ded8e..9f914580a4 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -106,6 +106,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/home/services/xdg.scm			\
   %D%/image.scm					\
   %D%/packages.scm				\
+  %D%/packages/aarch64-none-elf-toolchain.scm	\
   %D%/packages/abduco.scm			\
   %D%/packages/abiword.scm			\
   %D%/packages/accessibility.scm		\
diff --git a/gnu/packages/aarch64-none-elf-toolchain.scm b/gnu/packages/aarch64-none-elf-toolchain.scm
new file mode 100644
index 0000000000..14569036ce
--- /dev/null
+++ b/gnu/packages/aarch64-none-elf-toolchain.scm
@@ -0,0 +1,26 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages aarch64-none-elf-toolchain)
+  #:use-module (guix packages)
+  #:use-module (gnu packages cross-base))
+
+(define-public aarch64-none-elf-binutils
+  (package
+    (inherit (cross-binutils "aarch64-none-elf"))
+    (name "aarch64-none-elf-binutils")))
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#63576] [PATCH v1 2/4] gnu: Add aarch64-none-elf-gcc.
  2023-05-18 18:28 ` [bug#63576] [PATCH v1 1/4] gnu: Add aarch64-none-elf-binutils Denis 'GNUtoo' Carikli
@ 2023-05-18 18:28   ` Denis 'GNUtoo' Carikli
  2023-05-18 18:28   ` [bug#63576] [PATCH v1 3/4] gnu: Add aarch64-none-elf-newlib Denis 'GNUtoo' Carikli
  2023-05-18 18:28   ` [bug#63576] [PATCH v1 4/4] gnu: Add aarch64-none-elf-gcc-toolchain Denis 'GNUtoo' Carikli
  2 siblings, 0 replies; 8+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-05-18 18:28 UTC (permalink / raw)
  To: 63576; +Cc: Ludovic Courtès, Efraim Flashner,
	Denis 'GNUtoo' Carikli

* gnu/packages/aarch64-none-elf-toolchain.scm (aarch64-none-elf-gcc): New
  variable.
---
 gnu/packages/aarch64-none-elf-toolchain.scm | 59 ++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/aarch64-none-elf-toolchain.scm b/gnu/packages/aarch64-none-elf-toolchain.scm
index 14569036ce..88a2abb1f9 100644
--- a/gnu/packages/aarch64-none-elf-toolchain.scm
+++ b/gnu/packages/aarch64-none-elf-toolchain.scm
@@ -17,10 +17,67 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages aarch64-none-elf-toolchain)
+  #:use-module (guix gexp)
+  #:use-module (guix utils)
   #:use-module (guix packages)
-  #:use-module (gnu packages cross-base))
+  #:use-module (gnu packages cross-base)
+  #:use-module (gnu packages gcc))
 
 (define-public aarch64-none-elf-binutils
   (package
     (inherit (cross-binutils "aarch64-none-elf"))
     (name "aarch64-none-elf-binutils")))
+
+(define aarch64-none-elf-gcc
+  (let ((xgcc (cross-gcc "aarch64-none-elf" #:xgcc gcc #:xbinutils aarch64-none-elf-binutils)))
+    (package
+      (inherit xgcc)
+      (name "aarch64-none-elf-gcc")
+      (arguments
+       (substitute-keyword-arguments (package-arguments xgcc)
+         ((#:phases phases)
+          #~(modify-phases #$phases
+              (add-after 'set-paths 'augment-CPLUS_INCLUDE_PATH
+                (lambda* (#:key inputs #:allow-other-keys)
+                  (let ((gcc (assoc-ref inputs  "gcc")))
+                    ;; Remove the default compiler from CPLUS_INCLUDE_PATH to
+                    ;; prevent header conflict with the GCC from native-inputs.
+                    (setenv "CPLUS_INCLUDE_PATH"
+                            (string-join
+                             (delete (string-append gcc "/include/c++")
+                                     (string-split (getenv "CPLUS_INCLUDE_PATH")
+                                                   #\:))
+                             ":"))
+                    (format #t
+                            "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
+                            (getenv "CPLUS_INCLUDE_PATH")))))
+              ;; Without a working multilib build, the resulting GCC lacks
+              ;; support for nearly every AARCH64-NONE-ELF chip.
+              (add-after 'unpack 'fix-genmultilib
+                (lambda _
+                  ;; patch-shebang doesn't work here because there are actually
+                  ;; several scripts inside this script, each with a #!/bin/sh
+                  ;; that needs patching.
+                  (substitute* "gcc/genmultilib"
+                    (("#!/bin/sh") (string-append "#!" (which "sh"))))))))
+         ((#:configure-flags flags)
+          #~(delete "--disable-multilib" #$flags))))
+      (native-search-paths
+       (list (search-path-specification
+              (variable "CROSS_C_INCLUDE_PATH")
+              (files '("aarch64-none-elf/include")))
+             (search-path-specification
+              (variable "CROSS_CPLUS_INCLUDE_PATH")
+              (files '("aarch64-none-elf/include")))
+             (search-path-specification
+              (variable "CROSS_OBJC_INCLUDE_PATH")
+              (files '("aarch64-none-elf/include")))
+             (search-path-specification
+              (variable "CROSS_OBJCPLUS_INCLUDE_PATH")
+              (files '("aarch64-none-elf/include")))
+             (search-path-specification
+              (variable "CROSS_LIBRARY_PATH")
+              (files '("aarch64-none-elf/lib")))))
+      (native-inputs
+       `(("gcc" ,gcc)
+         ,@(package-native-inputs xgcc))))))
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#63576] [PATCH v1 3/4] gnu: Add aarch64-none-elf-newlib.
  2023-05-18 18:28 ` [bug#63576] [PATCH v1 1/4] gnu: Add aarch64-none-elf-binutils Denis 'GNUtoo' Carikli
  2023-05-18 18:28   ` [bug#63576] [PATCH v1 2/4] gnu: Add aarch64-none-elf-gcc Denis 'GNUtoo' Carikli
@ 2023-05-18 18:28   ` Denis 'GNUtoo' Carikli
  2023-05-18 18:28   ` [bug#63576] [PATCH v1 4/4] gnu: Add aarch64-none-elf-gcc-toolchain Denis 'GNUtoo' Carikli
  2 siblings, 0 replies; 8+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-05-18 18:28 UTC (permalink / raw)
  To: 63576; +Cc: Ludovic Courtès, Efraim Flashner,
	Denis 'GNUtoo' Carikli

* gnu/packages/aarch64-none-elf-toolchain.scm (aarch64-none-elf-newlib): New
  variable.
---
 gnu/packages/aarch64-none-elf-toolchain.scm | 49 ++++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/aarch64-none-elf-toolchain.scm b/gnu/packages/aarch64-none-elf-toolchain.scm
index 88a2abb1f9..9863e65dad 100644
--- a/gnu/packages/aarch64-none-elf-toolchain.scm
+++ b/gnu/packages/aarch64-none-elf-toolchain.scm
@@ -17,11 +17,15 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages aarch64-none-elf-toolchain)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix gexp)
   #:use-module (guix utils)
+  #:use-module (guix download)
   #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
   #:use-module (gnu packages cross-base)
-  #:use-module (gnu packages gcc))
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages texinfo))
 
 (define-public aarch64-none-elf-binutils
   (package
@@ -81,3 +85,46 @@ (define aarch64-none-elf-gcc
       (native-inputs
        `(("gcc" ,gcc)
          ,@(package-native-inputs xgcc))))))
+
+(define-public aarch64-none-elf-newlib
+  (package
+    (name "aarch64-none-elf-newlib")
+    (version "2.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "ftp://sourceware.org/pub/newlib/newlib-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "01i7qllwicf05vsvh39qj7qp5fdifpvvky0x95hjq39mbqiksnsl"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:out-of-source? #t
+       ;; The configure flags are identical to the flags used by the "GCC ARM
+       ;; embedded" project.
+       #:configure-flags '("--target=aarch64-none-elf"
+                           "--enable-newlib-io-long-long"
+                           "--enable-newlib-register-fini"
+                           "--disable-newlib-supplied-syscalls"
+                           "--disable-nls")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-references-to-/bin/sh
+           (lambda _
+             (substitute* '("libgloss/aarch64/cpu-init/Makefile.in"
+                            "libgloss/aarch64/Makefile.in"
+                            "libgloss/libnosys/Makefile.in"
+                            "libgloss/Makefile.in")
+               (("/bin/sh") (which "sh")))
+             #t)))))
+    (native-inputs
+     `(("xbinutils" ,(cross-binutils "aarch64-none-elf"))
+       ("xgcc" ,aarch64-none-elf-gcc)
+       ("texinfo" ,texinfo)))
+    (home-page "https://www.sourceware.org/newlib/")
+    (synopsis "C library for use on embedded systems")
+    (description "Newlib is a C library intended for use on embedded
+systems.  It is a conglomeration of several library parts that are easily
+usable on embedded products.")
+    (license (license:non-copyleft
+              "https://www.sourceware.org/newlib/COPYING.NEWLIB"))))
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#63576] [PATCH v1 4/4] gnu: Add aarch64-none-elf-gcc-toolchain.
  2023-05-18 18:28 ` [bug#63576] [PATCH v1 1/4] gnu: Add aarch64-none-elf-binutils Denis 'GNUtoo' Carikli
  2023-05-18 18:28   ` [bug#63576] [PATCH v1 2/4] gnu: Add aarch64-none-elf-gcc Denis 'GNUtoo' Carikli
  2023-05-18 18:28   ` [bug#63576] [PATCH v1 3/4] gnu: Add aarch64-none-elf-newlib Denis 'GNUtoo' Carikli
@ 2023-05-18 18:28   ` Denis 'GNUtoo' Carikli
  2 siblings, 0 replies; 8+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-05-18 18:28 UTC (permalink / raw)
  To: 63576; +Cc: Ludovic Courtès, Efraim Flashner,
	Denis 'GNUtoo' Carikli

* gnu/packages/aarch64-none-elf-toolchain.scm
  (aarch64-none-elf-gcc-toolchain): New variable.
---
 gnu/packages/aarch64-none-elf-toolchain.scm | 29 +++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/aarch64-none-elf-toolchain.scm b/gnu/packages/aarch64-none-elf-toolchain.scm
index 9863e65dad..a9a7ca2866 100644
--- a/gnu/packages/aarch64-none-elf-toolchain.scm
+++ b/gnu/packages/aarch64-none-elf-toolchain.scm
@@ -23,6 +23,7 @@ (define-module (gnu packages aarch64-none-elf-toolchain)
   #:use-module (guix download)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial)
   #:use-module (gnu packages cross-base)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages texinfo))
@@ -128,3 +129,31 @@ (define-public aarch64-none-elf-newlib
 usable on embedded products.")
     (license (license:non-copyleft
               "https://www.sourceware.org/newlib/COPYING.NEWLIB"))))
+
+(define-public aarch64-none-elf-gcc-toolchain
+  (package
+    (name "aarch64-none-elf-gcc-toolchain")
+    (version (package-version aarch64-none-elf-gcc))
+    (source #f)
+    (build-system trivial-build-system)
+    (arguments
+     '(#:modules ((guix build union))
+       #:builder
+       (begin
+         (use-modules (ice-9 match)
+                      (guix build union))
+         (match %build-inputs
+                (((names . directories) ...)
+                 (union-build (assoc-ref %outputs "out")
+                              directories)
+                 #t)))))
+    (propagated-inputs
+     `(("binutils" ,aarch64-none-elf-binutils)
+       ("gcc" ,aarch64-none-elf-gcc)
+       ("libc" ,aarch64-none-elf-newlib)))
+    (synopsis "C GCC tool chain for aarch64 microcontroller development")
+    (description "This package provides a C GCC tool chain for aarch64
+microcontroller development.  This includes the GCC aarch64 cross compiler and
+the newlib libc.  This supports the C programming language.")
+    (home-page (package-home-page aarch64-none-elf-newlib))
+    (license (package-license aarch64-none-elf-gcc))))
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [bug#63576] [PATCH v1 0/4] Add aarch64-none-elf-gcc-toolchain.
  2023-05-18 18:24 [bug#63576] [PATCH v1 0/4] Add aarch64-none-elf-gcc-toolchain Denis 'GNUtoo' Carikli
  2023-05-18 18:28 ` [bug#63576] [PATCH v1 1/4] gnu: Add aarch64-none-elf-binutils Denis 'GNUtoo' Carikli
@ 2023-06-04  8:43 ` Efraim Flashner
  2023-06-05 21:10   ` Denis 'GNUtoo' Carikli
  2023-07-19  1:00   ` Denis 'GNUtoo' Carikli
  1 sibling, 2 replies; 8+ messages in thread
From: Efraim Flashner @ 2023-06-04  8:43 UTC (permalink / raw)
  To: Denis 'GNUtoo' Carikli; +Cc: ludo, 63576

[-- Attachment #1: Type: text/plain, Size: 1624 bytes --]

On Thu, May 18, 2023 at 08:24:34PM +0200, Denis 'GNUtoo' Carikli wrote:
> Hi,
> 
> Here's a patch serie to add a GCC cross toolchain for aarch64-none-elf. For
> now it doesn't contain C++ support but that can be added on later.
> 
> I've validated by building u-boot locally with it.

I'm not entirely sure what this means. How is it different from how we
build u-boot now?

> I didn't test it for microncontroller development as I don't know what board
> to get to test it. Apparently support for 64bit was added to Armv8-R, so it
> might be possible to find some boards with 64bit CPUs at some point.

Pity, this is what I was going to ask about.

> Denis 'GNUtoo' Carikli (4):
>   gnu: Add aarch64-none-elf-binutils.
>   gnu: Add aarch64-none-elf-gcc.
>   gnu: Add aarch64-none-elf-newlib.
>   gnu: Add aarch64-none-elf-gcc-toolchain.
> 
>  gnu/local.mk                                |   1 +
>  gnu/packages/aarch64-none-elf-toolchain.scm | 159 ++++++++++++++++++++
>  2 files changed, 160 insertions(+)
>  create mode 100644 gnu/packages/aarch64-none-elf-toolchain.scm
> 
> 
> base-commit: 5b700945fb0b33eec410de8979cae2fbf0d4f118
> -- 
> 2.40.1

I'm not opposed to adding these packages, but I want to make sure that
they're useful for what people would be looking for. I also think that
they'd be best in gnu/packages/embedded.scm near the very similar arm
packages.

-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#63576] [PATCH v1 0/4] Add aarch64-none-elf-gcc-toolchain.
  2023-06-04  8:43 ` [bug#63576] [PATCH v1 0/4] " Efraim Flashner
@ 2023-06-05 21:10   ` Denis 'GNUtoo' Carikli
  2023-07-19  1:00   ` Denis 'GNUtoo' Carikli
  1 sibling, 0 replies; 8+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-06-05 21:10 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: ludo, 63576

[-- Attachment #1: Type: text/plain, Size: 3297 bytes --]

On Sun, 4 Jun 2023 11:43:16 +0300
Efraim Flashner <efraim@flashner.co.il> wrote:

> On Thu, May 18, 2023 at 08:24:34PM +0200, Denis 'GNUtoo' Carikli
> wrote:
> > Hi,
> > 
> > Here's a patch serie to add a GCC cross toolchain for
> > aarch64-none-elf. For now it doesn't contain C++ support but that
> > can be added on later.
> > 
> > I've validated by building u-boot locally with it.
> 
> I'm not entirely sure what this means. How is it different from how we
> build u-boot now?
My use case here is not to build the u-boot package but rather to build
kernels and u-boot images outside of Guix, to build not-yet
released revisions and/or to do kernel or u-boot development. 

That use case works fine if the host and target architectures are the
same as people can simply install the gcc-toolchain package. But when
it's not, it's convenient to be able to simply install packages of
cross toolchains.

Some distributions like Arch Linux[1], Debian[2], Ubuntu[3], and their
derivatives (Parabola, PureOS, Trisquel, etc) do provide packages for
cross toolchains.

Here I've confirmed that the patches I submitted work fine by
building u-boot from source (for aarch64) on an x86 laptop running Guix
and by running the resulting u-boot images on hardware like the
Pinephone
(with u-boot patched to not use crust, and I didn't try to boot Linux)
and the Rock 4C plus (this was more extensively tested than the
Pinephone, I booted a Guix image on it etc).

However I am unsure if the approach I took with my patch serie is the
way to go here as here we have some duplication as some of the toolchain
packages generated specifically for u-boot are for the exact same
architecture (here aarch64). I also plan to add more toolchain
packages (at least for or1k, RISCV 32). So at the end it kind of
doubles the maintenance.

In another hand my approach works and it also doesn't interfere with
u-boot packages (so we don't have a risk of u-boot breakages when my
toolchain packages are updated).

What approach do you think would be best? Do you have ideas of better
approaches than the ones I proposed here?

PS: I also noticed later on that I need to update newlib to 4.1.0, but I
    can do that with a v2 or in a later patch depending on what you
    think is best.

PPS: Note that when building u-boot or kernels locally (not as
     packages), in addition to the toolchain, there are also some tricks
     needed to make things work out of the box.

     For u-boot I use 'guix shell -D u-boot-rockpro64-rk3399 openssl@3
     python python-pyelftools'. As I don't have to redistribute the
     binaries I didn't look into not using openssl@3, but I'll have to
     look into it at some point.

     I then have to pass HOSTCC=gcc to make as cc isn't defined. I
     also have to pass the usual CROSS_COMPILE=, BL31=, etc to make.

     For xconfig I have to use something like that:
     'PKG_CONFIG_PATH=/gnu/store/[...]-qtbase-5.15.8/lib/pkgconfig/
     make ARCH=arm HOSTCC=gcc xconfig'.

References:
-----------
[1]https://archlinux.org/packages/extra/x86_64/aarch64-linux-gnu-gcc/
[2]https://packages.debian.org/bullseye/gcc-10-aarch64-linux-gnu
[3]https://packages.ubuntu.com/kinetic/gcc-10-aarch64-linux-gnu

Denis.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [bug#63576] [PATCH v1 0/4] Add aarch64-none-elf-gcc-toolchain.
  2023-06-04  8:43 ` [bug#63576] [PATCH v1 0/4] " Efraim Flashner
  2023-06-05 21:10   ` Denis 'GNUtoo' Carikli
@ 2023-07-19  1:00   ` Denis 'GNUtoo' Carikli
  1 sibling, 0 replies; 8+ messages in thread
From: Denis 'GNUtoo' Carikli @ 2023-07-19  1:00 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: ludo, 63576

[-- Attachment #1: Type: text/plain, Size: 1054 bytes --]

On Sun, 4 Jun 2023 11:43:16 +0300
Efraim Flashner <efraim@flashner.co.il> wrote:
> > I didn't test it for microncontroller development as I don't know
> > what board to get to test it. Apparently support for 64bit was
> > added to Armv8-R, so it might be possible to find some boards with
> > 64bit CPUs at some point.
> 
> Pity, this is what I was going to ask about.
I've looked at it and there are no cortex-M that are 64bit yet. The
only 64bit ARM CPUs are in cortex-A or cortex-R.

Do you want me to write some simple code that outputs something on the
serial port of a cortex A to validate the toolchain?

> I'm not opposed to adding these packages, but I want to make sure that
> they're useful for what people would be looking for. I also think that
> they'd be best in gnu/packages/embedded.scm near the very similar arm
> packages.
Should I go forward and propose a v2 in gnu/packages/embedded.scm ?

Should I keep the patch mostly as-is (with updated IASL, moved in
embedded.scm) or should I rework it somehow?

Denis.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-07-19  1:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-18 18:24 [bug#63576] [PATCH v1 0/4] Add aarch64-none-elf-gcc-toolchain Denis 'GNUtoo' Carikli
2023-05-18 18:28 ` [bug#63576] [PATCH v1 1/4] gnu: Add aarch64-none-elf-binutils Denis 'GNUtoo' Carikli
2023-05-18 18:28   ` [bug#63576] [PATCH v1 2/4] gnu: Add aarch64-none-elf-gcc Denis 'GNUtoo' Carikli
2023-05-18 18:28   ` [bug#63576] [PATCH v1 3/4] gnu: Add aarch64-none-elf-newlib Denis 'GNUtoo' Carikli
2023-05-18 18:28   ` [bug#63576] [PATCH v1 4/4] gnu: Add aarch64-none-elf-gcc-toolchain Denis 'GNUtoo' Carikli
2023-06-04  8:43 ` [bug#63576] [PATCH v1 0/4] " Efraim Flashner
2023-06-05 21:10   ` Denis 'GNUtoo' Carikli
2023-07-19  1:00   ` Denis 'GNUtoo' Carikli

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.