summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-10-28 22:24:46 +0100
committerLudovic Courtès <ludo@gnu.org>2014-10-29 00:31:23 +0100
commit9d3074609a3fb0712e0102dbbb4d7bdabb58d142 (patch)
treec6c07e697c0d72055db17fd3eb1d6558fa99b665
parentfc93e309196ee8009a975b4c0acf712f54581a93 (diff)
downloadguix-9d3074609a3fb0712e0102dbbb4d7bdabb58d142.tar.gz
gnu: Add Xtensa bare-bones cross-compiler.
* gnu/packages/cross-base.scm (xgcc-xtensa): New variable.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for
  "xtensa-elf".
-rw-r--r--gnu/packages/bootstrap.scm5
-rw-r--r--gnu/packages/cross-base.scm4
2 files changed, 9 insertions, 0 deletions
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 315e8cf21e..e617093fb3 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -156,6 +156,11 @@ check whether everything is alright."
   (cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
         ((string=? system "i686-linux") "/lib/ld-linux.so.2")
         ((string=? system "mips64el-linux") "/lib/ld.so.1")
+
+        ;; XXX: This one is used bare-bones, without a libc, so add a case
+        ;; here just so we can keep going.
+        ((string=? system "xtensa-elf") "no-ld.so")
+
         (else (error "dynamic linker name not known for this system"
                      system))))
 
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 0a0272cf74..a91952daca 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -293,6 +293,10 @@ XBINUTILS and the cross tool chain."
                (cross-binutils triplet)
                (cross-libc triplet))))
 
+(define-public xgcc-xtensa
+  ;; Bare-bones Xtensa cross-compiler, used to build the Atheros firmware.
+  (cross-gcc "xtensa-elf"))
+
 ;; (define-public xgcc-armel
 ;;   (let ((triplet "armel-linux-gnueabi"))
 ;;     (cross-gcc triplet