====== Microblaze Toolchain ======
Für den Aufbau eines vollständig geschlossenen Design Flow ist neben [[projects:embedded:xilinx_mb:mbref:start|MB-Ref]] auch eine funktionstüchtige Toolchain der GNU Compiler Collection für das Linux Zielsystem notwendig. Mit Stand Q1/2012 gibt es für dieses Zielsystem noch keine ordentliche Unterstützung durch die aktuellen Up-Stream Versionen der FSF ([[projects:toolchains:gnu|mehr dazu]]).
Mit der Veröffentlichung der Patches für die GNU Binutils, den GCC und die GLIBC auf http://git.monstr.eu/git/gitweb.cgi besteht nun erstmalig die Möglichkeit, eine eigene Microblaze GNU Toolchain zu erzeugen. --- //[[linz@li-pro.net|Stephan Linz]] 2011/11/03 20:02//
Wie sich in einem kurzen Gespräch mit John Williams im Februar 2012 auf der Embedded World in Nürnberg herausstellte, wird PetaLogix noch im Frühjahr 2012 eine komplett überarbeitet Toolchain auf Basis der eGLIBC veröffentlichen. Diese soll dann auch Up-Stream zur FSF gehen. --- //[[linz@li-pro.net|Stephan Linz]] 2012/04/17 20:51//
Am 16. August ist nun im Spätsommer 2012 eine erste frei verfügbare Toolchain neueren Datums im Git Repository von Xilinx erschienen (http://git.xilinx.com/?p=microblaze-gnu.git). Die Verspätung ist wohl neben der Integration in eine der kommenden ISE/EDK Version 14 auch dem Umstand geschuldet, dass John Williams Firma, PetaLogix, nun [[http://press.xilinx.com/phoenix.zhtml?c=212763&p=irol-newsArticle&ID=1729100|ein Teil von Xilinx geworden ist]]. Die aktuelle Toolchain basiert auf dem GCC 4.6.2 und der eGLIBC 2.14.90 sowie dem GDB in Version 7.4.50.20120403-cvs. --- //[[linz@li-pro.net|Stephan Linz]] 2012/09/28 21:03//
Nun ist ein Jahr vergangen und ich habe mir Zeit genommen, die Veröffentlichungen von Xilinx zu Nutzen und wieder eine eigene Toolchain auf Basis von Crosstool-NG zu erstellen. Bis auf den GDB, der ungetestet in Version 7.4.50.20120403-cvs verblieben ist, basiert die aktuelle Toolchain nun auf den Binutils 2.23.2 dem GCC 4.8.1 und der eGLIBC 2.18. Genutzt wurden die Linux Kernel Header aus Version 3.8.11 aus PetaLinux v2013.10. --- //[[linz@li-pro.net|Stephan Linz]] 2013/12/22 17:28//
===== Status =====
==== Crosstool-NG Toolchain ====
Mit Hilfe von [[http://crosstool-ng.org/|Crosstool-NG]] (Mainline HEAD) und ein paar zusätzlichen Erweiterungen können die bereitgestellten ++Erweiterungen von Xilinx an den GNU Tools und der Glibc| (Original von http://git.xilinx.com/)++ für die Erzeugung einer eigenen Toolchain genutzt werden. Eine Anleitung befindet sich [[.:start#crosstool-ng|weiter unten]]. Für diese selbst erstellte Toolchain gilt: ohne Garantie, ohne Haftung für etwaiger Schäden und ohne Unterstützung jedweder Art.
Die aktuelle Ausgabe ist: **v2.4**
Die aktuelle PTXdist Kennung ist: **MicroBlaze Tools v2.4 (crosstool-hg+unknown-20131218.161203)**
Inhalt (allgemein):
* binutils 2.23.2
* gcc 4.8.1
* C/C++
* gdb 7.4.50.20120403-cvs (**ungetestet**)
* python interface
Inhalt für GNU/Linux ELF Toolchain (allgemein):
* kernel 3.8 (with Xilinx patches)
* eglibc 2.18
* threads: nptl
* multilib combination for:
* xl-barrel-shift (bs)
* no-xl-soft-mul (bs/m)
* xl-multiply-high (bs/m/mh)
* no-xl-soft-mul (m)
* xl-multiply-high (m/mh)
* gdb 7.4.50.20120403-cvs
* native gdb for target (**ungetestet**)
* gdbserver for target (**ungetestet**)
* dmalloc, duma, strace (**ungetestet**)
Inhalt für Little Endian GNU/Linux ELF Toolchain (**microblazeel-xilinx-linux-gnu**):
* alias cross prefixes
* //microblazeel-unknown-linux-gnu//
* little endian only
Inhalt für Little Endian GNU/Linux ELF Toolchain (**microblaze-xilinx-linux-gnu**):
* alias cross prefixes
* //microblaze-unknown-linux-gnu//
* big endian only
Inhalt für Bare Metall ELF Toolchain (**microblaze-xilinx-elf**):
* newlib 2.0.0
* threads: no
* multilib combination for:
* xl-barrel-shift (bs)
* no-xl-soft-mul (bs/m)
* xl-multiply-high (bs/m/mh)
* little-endian (bs/m/mh/le)
* little-endian (bs/m/le)
* little-endian (bs/le)
* no-xl-soft-mul (m)
* xl-multiply-high (m/mh)
* little-endian (m/mh/le)
* little-endian (m/le)
* little-endian (le)
* alias cross prefixes
* //mb//
* big and little endian (multilib)
:!: __Achtung:__ Die aktuelle Ausgabe v2.4 kann nur auf Systemen mit glibc-2.11 oder höher benutzt werden und beinhaltet den ungeprüften Debugger gdb-7.4.50.20120403-cvs, da es bisher noch keine stabile Veröffentlichungen der notwendigen Patches durch Xilinx gibt.
++++ MicroBlaze Tools v1.4 (crosstool-1.4.1) |
Mit Hilfe von [[http://crosstool-ng.org/|Crosstool-NG]] in Version 1.4.1 und ein paar zusätzlichen Erweiterungen können die bereitgestellten ++Patch Sets von PetaLogix| (Original von http://git.monstr.eu/git/gitweb.cgi ist seit Anfang 2013 offline und nur noch als Kopie auf gitorious.org zu erhalten, siehe Repositories [[.:start#repositories|weiter unten]])++ für die Erzeugung einer eigenen Toolchain genutzt werden. Eine Anleitung befindet sich [[.:start#crosstool-ng|weiter unten]]. Für diese selbst erstellte Toolchain gilt: ohne Garantie, ohne Haftung für etwaiger Schäden und ohne Unterstützung jedweder Art.
Die aktuelle Ausgabe ist: **v1.4**
Die aktuelle PTXdist Kennung ist: **MicroBlaze Tools v1.4 (crosstool-1.4.1)**
Inhalt:
* kernel 2.6.37.6 (header + ptrace patch for gdb 7.2)
* binutils 2.16.1
* gcc 4.1.2
* glibc 2.3.6
* glibc-linuxthreads 2.3.6
* :!: __Warnung:__ LinuxThreads ist eine veraltete Technologie und wird seit vielen Jahre nicht weiter entwickelt.\\ Weitere Informationen unter: [[http://gallium.inria.fr/~xleroy/linuxthreads/]]
* multilib combination for:
* barrel-shift
* soft-mul
* multiply-high
* gdb 6.5
* gdbserver 6.5.0.20060626-cvs (native prebuilt for target)
* gdb 7.2 (native prebuilt for target)
:!: __Achtung:__ Die Ausgabe v1.4 kann nur auf Systemen mit glibc-2.11 oder höher benutzt werden und beinhaltet den ungeprüften Debugger gdb-6.5, da es bisher nur veraltete Veröffentlichungen der notwendigen Patches durch Xilinx bzw. Petalogix gibt. Der zugehörige GDB Server liegt als binäre Version bei (kompiliert von Petalogix). Als Alternative wurde bereits mit der Ausgabe v1.2 das Ergebnis der Science and Technology of Nuclear Fusion Group von der TU Eindhoven aufgenommen und erfolgreich getestet. Die [[http://fusionweb.phys.tue.nl/fpga/doku.php?id=microblaze_gdb|Möglichkeit für das native Debuggen von Linux Anwendungen]] direkt innerhalb einer Microblaze/Linux Laufzeitumgebung mit dem gdb-7.2 verspricht mehr Geschwindigkeit und Stabilität. Eine [[http://forums.xilinx.com/t5/Embedded-Linux/Microblaze-Native-GDB-Debugging/td-p/133284|Diskussion dazu im Xilinx Forum]] gibt es bereits. Seit Ausgabe v1.3 existieren Erweiterungen und auch Verbesserungen gegenüber der Toolchain von Xilinx oder PetaLogix. Diese sind:
* Export aller ''inotify'' Systemcalls für das dynamische Linken -- ermöglicht erstmalig die komplette Übersetzung von ''dbus'' und ''glib''
* Korrektur der System Include Pfade für C++ -- ermöglicht erstmalig die Übersetzung der glib C++ Erweiterung ''glibmm''
++++
==== Xilinx Toolchain ====
Die Microblaze Toolchain wird durch Xilinx und PetaLogix aufbereitet und ohne Garantie, ohne Haftung für etwaiger Schäden und ohne Unterstützung jedweder Art bereitgestellt. Sie befinden sich in einem finalen Stadium und darf bei Akzeptanz der benannten Bedingungen produktiv eingesetzt werden.
Die aktuelle Ausgabe ist: **v3.0**
Die aktuelle PTXdist Kennung für Big Endian ist: **Xilinx MicroBlaze Tools v3.0 (14.3_early.20120816)**
Die aktuelle PTXdist Kennung für Little Endian ist: **Xilinx MicroBlaze (LE) Tools v3.0 (14.3_early.20120816)**
:!: __Achtung:__ Die aktuelle Ausgabe v3.0 kann sowohl auf 32-bit als auch auf 64-bit Systemen mit glibc-2.3 oder höher benutzt werden und beinhaltet wieder einen Debugger (gdb auf Kommandozeile). Diese Ausgabe sollte wieder unter älteren Systemen nutzbar sein.
:!: __Anmerkung zu v2.0:__ Die Ausgabe v2.0 kann nur auf 64-bit Systemen mit glibc-2.11 oder höher benutzt werden und beinhaltet keinen Debugger (gdb/Insight). Für ältere Systeme oder bei der Notwendigkeit eines funktionstüchtigen Debugger kann nur die Version v1.0 genutzt werden.
===== Bezugsquellen =====
==== Crosstool-NG Binärpakete ====
{{filelist>.:tools-*-mb-ctng-*.tar.bz2&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&sort=name&order=desc}}
=== Alternativen ===
Sollten obige Links nicht funktionieren, dann bitte folgende Links nutzen:
* [[http://store.li-pro.de/toolchains/tools-4.8.1-mb-ctng-v2.4-x86_64.tar.bz2|tools-4.8.1-mb-ctng-v2.4-x86_64.tar.bz2]]
* [[http://store.li-pro.de/toolchains/tools-4.8.1-mb-ctng-v2.4-i686.tar.bz2|tools-4.8.1-mb-ctng-v2.4-i686.tar.bz2]]
* [[http://store.li-pro.de/toolchains/tools-4.1.2-mb-ctng-v1.4-x86_64.tar.bz2|tools-4.1.2-mb-ctng-v1.4-x86_64.tar.bz2]]
* [[http://store.li-pro.de/toolchains/tools-4.1.2-mb-ctng-v1.4-i686.tar.bz2|tools-4.1.2-mb-ctng-v1.4-i686.tar.bz2]]
==== Xilinx Binärpakete ====
{{filelist>.:tools-*-mb-xilinx-*.tar.bz2&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&sort=name&order=desc}}
=== Alternativen ===
Sollten obige Links nicht funktionieren, dann bitte folgende Links nutzen:
* [[http://store.li-pro.de/toolchains/tools-4.6.2-mb-xilinx-v3.0-i686.tar.bz2|tools-4.6.2-mb-xilinx-v3.0-i686.tar.bz2]]
* [[http://store.li-pro.de/toolchains/tools-4.6.2-mb-xilinx-v3.0-x86_64.tar.bz2|tools-4.6.2-mb-xilinx-v3.0-x86_64.tar.bz2]]
* [[http://store.li-pro.de/toolchains/tools-4.1.2-mb-xilinx-v2.0.tar.bz2|tools-4.1.2-mb-xilinx-v2.0.tar.bz2]]
* [[http://store.li-pro.de/toolchains/tools-4.1.2-mb-xilinx-v1.0.tar.bz2|tools-4.1.2-mb-xilinx-v1.0.tar.bz2]]
==== Entwicklung ====
Die Quellen erfahren eine kontinuierliche Qualitätssicherung auf Basis der Methoden einer [[wpde>Kontinuierliche_Integration|Kontinuierlichen Integration]]. Es unregelmässige Übersetzungsläufe nach einem Commit im Repository. Das letzte den Qualitätskriterien entsprechende Quellpaket und die daraus resultierenden Binärpakete werden kontinuierlich an dieser Stelle veröffentlicht, erheben aber noch keinen Anspruch auf den Status einer endgültigen Freigabe.
=== letzte erfolgreich geprüfte Quell- und übersetzte Binärpakete ===
__**tools-4.8.1-mb-ctng**__
{{filelist>.:tools-4.8.1-mb-ctng:*.tar.bz2&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&sort=name&order=desc&recursive=1}}
__**tools-4.6.4-mb-ctng**__
{{filelist>.:tools-4.6.4-mb-ctng:*.tar.bz2&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&sort=name&order=desc&recursive=1}}
__**tools-4.1.2-mb-ctng**__
{{filelist>.:tools-4.1.2-mb-ctng:*.tar.bz2&style=table&tableheader=1&tableshowdate=1&tableshowsize=1&sort=name&order=desc&recursive=1}}
===== Repositories =====
__**Arbeiten an Crosstool-NG:**__
Alle Projektdaten werden bei ++github.com | [[http://github.com/lipro/crosstool-ng]]++ gepflegt.
++++ github.com |
* [[https://github.com/lipro/crosstool-ng/tree/devel/microblaze-ctng]]
* [[https://github.com/lipro/crosstool-ng/tree/devel/microblaze-ctng-1.14.1]]
* [[https://github.com/lipro/crosstool-ng/tree/devel/microblaze-ctng-1.4.1]]
++++
__//Veraltet://__ Die Projektdaten bei Gitorious (heute Gitlab) auf ++gitorious.org | [[http://gitorious.org/oselas/crosstool-ng]]++ sind **veraltet** und __können je nach Politik durch Gitlab auch einfach ohne Vorankündigung gelöscht werden__.
++++ gitorious.org |
* [[https://gitorious.org/oselas/crosstool-ng?a=shortlog;h=refs/heads/devel/microblaze-ctng]]
* [[https://gitorious.org/oselas/crosstool-ng?a=shortlog;h=refs/heads/devel/microblaze-ctng-1.4.1]]
++++
__Patches von der TU Enidhoven:__
++++ github.com (Kopie, veraltet): |
* [[http://github.com/mbref/gdb-72-microblaze]]
++++
++++ gitorious.org (Kopie, veraltet, könnte verschwinden): |
* [[http://gitorious.org/mbref/gdb-72-microblaze]]
++++
__Patches von PetaLogix:__
++++ github.com (Kopie, veraltet): |
* [[http://github.com/mbref/binutils-2161-microblaze]]
* [[http://github.com/mbref/gcc-412-microblaze]]
* [[http://github.com/mbref/glibc-236-microblaze]]
* [[http://github.com/mbref/gdb-65-microblaze]]
++++
++++ gitorious.org (Kopie, veraltet, könnte verschwinden): |
* [[http://gitorious.org/mbref/binutils-2161-microblaze]]
* [[http://gitorious.org/mbref/gcc-412-microblaze]]
* [[http://gitorious.org/mbref/glibc-236-microblaze]]
* [[http://gitorious.org/mbref/gdb-65-microblaze]]
++++
++++ git.monstr.eu (veraltet, nicht mehr vorhanden): |
* [[http://git.monstr.eu/git/gitweb.cgi?p=toolchain/binutils.git]]
* [[http://git.monstr.eu/git/gitweb.cgi?p=toolchain/gcc.git]]
* [[http://git.monstr.eu/git/gitweb.cgi?p=toolchain/glibc.git]]
++++
__Xilinx Binärpakete:__
++++ git.xilinx.com (veraltet, nicht mehr vorhanden): |
* [[http://git.xilinx.com/?p=xldk/microblaze_v2.0.git]]
* [[http://git.xilinx.com/?p=xldk/microblaze_v2.0_le.git]]
* [[http://git.xilinx.com/?p=xldk/microblaze_v1.0.git]]
* [[http://git.xilinx.com/?p=xldk/microblaze_v1.0_le.git]]
++++
===== Letzte Änderungen =====
__**Änderungen an Crosstool-NG:**__
++++ microblaze-ctng |
{{url>http://github.com/lipro/crosstool-ng/commits/devel/microblaze-ctng}}
++++
++++ microblaze-ctng-1.14.1 |
{{url>http://github.com/lipro/crosstool-ng/commits/devel/microblaze-ctng-1.14.1}}
++++
++++ microblaze-ctng-1.4.1 |
{{url>http://github.com/lipro/crosstool-ng/commits/devel/microblaze-ctng-1.4.1}}
++++
__Patches von der TU Enidhoven:__
++++ gdb-72-microblaze (Kopie, veraltet) |
{{url>http://github.com/mbref/gdb-72-microblaze/commits/master}}
++++
__Änderungen von PetaLogix:__
++++ binutils-2161-microblaze (Kopie, veraltet) |
{{url>http://github.com/mbref/binutils-2161-microblaze/commits/master}}
++++
++++ gcc-412-microblaze (Kopie, veraltet) |
{{url>http://github.com/mbref/gcc-412-microblaze/commits/master}}
++++
++++ glibc-236-microblaze (Kopie, veraltet) |
{{url>http://github.com/mbref/glibc-236-microblaze/commits/master}}
++++
++++ gdb-65-microblaze (Kopie, veraltet) |
{{url>http://github.com/mbref/gdb-65-microblaze/commits/master}}
++++
++++ binutils.git (veraltet, nicht mehr vorhanden) |
{{url>http://git.monstr.eu/git/gitweb.cgi?p=toolchain/binutils.git;a=shortlog;h=HEAD}}
++++
++++ gcc.git (veraltet, nicht mehr vorhanden) |
{{url>http://git.monstr.eu/git/gitweb.cgi?p=toolchain/gcc.git;a=shortlog;h=HEAD}}
++++
++++ glibc.git (veraltet, nicht mehr vorhanden) |
{{url>http://git.monstr.eu/git/gitweb.cgi?p=toolchain/glibc.git;a=shortlog;h=HEAD}}
++++
__Xilinx Binärpakete:__
++++ microblaze_v2.0.git (veraltet, nicht mehr vorhanden) |
{{url>http://git.xilinx.com/?p=xldk/microblaze_v2.0.git;a=shortlog;h=HEAD}}
++++
++++ microblaze_v2.0_le.git (veraltet, nicht mehr vorhanden) |
{{url>http://git.xilinx.com/?p=xldk/microblaze_v2.0_le.git;a=shortlog;h=HEAD}}
++++
++++ microblaze_v1.0.git (veraltet, nicht mehr vorhanden) |
{{url>http://git.xilinx.com/?p=xldk/microblaze_v1.0.git;a=shortlog;h=HEAD}}
++++
++++ microblaze_v1.0_le.git (veraltet, nicht mehr vorhanden) |
{{url>http://git.xilinx.com/?p=xldk/microblaze_v1.0_le.git;a=shortlog;h=HEAD}}
++++
===== Anleitung zur Übersetzung =====
==== Crosstool-NG ====
Crosstoll-NG ist ein bekanntes Werkzeug zur Übersetzung von GNU Toolchains für verschiedene Prozessoren wie ARM, PowerPC, MIPS, x86 und viele mehr. Die Nutzung für Microblaze ist nicht neu wurde aber bisher nur zum Teil als offizielle Unterstützung eingepflegt. Nachdem PetaLogix seit Februar 2011 und Xilinx seit Ende 2012 alle notwendigen Patches für die GNU Binutils, den GCC und die (e)GLIBC veröffentlichen, habe ich für meine Arbeiten eine eigenen Konfigurationsumgebung für Microbalze erstellt und auf [[https://gitorious.org/oselas/crosstool-ng|Gitorious]] als Git Repository veröffentlicht.
Die Übersetzung erfolgt in mehreren einzelnen Schritten, wobei zunächst Grosstool-NG für die lokale Benutzung vorbereitet werden muss, dann die drei Toolchains für Big und Little Endian übersetzt und abschließend die Ergebnisse eingepackt werden. Im Verlauf der Übersetzung einer GNU Toolchain müssen verschiedene Zwischenergebnisse bereits in eine gültige Laufzeitumgebung installiert werden. Die in Crosstoll-NG hinterlegten Konfigurationen für die drei Microblaze Toolchains sind so eingestellt, dass diese Installationen unterhalb von ''/tmp'' erfolgen. Somit ist auf ausreichend Plattenplatz in diesem Bereich zu achten (ca. 2,5GB). Je nach Leistungsfähigkeit der benutzen Maschine können Übersetzungszeiten von mehr als einer Stunde erwartet werden. Ein gutes Buch, viel Kaffee oder auch ein nicht aufgeräumtes Büro werden da sehr nützlich.
=== Vorbereitung ===
- Crosstool-NG mit den enthaltenen Erweiterungen für Microblaze von meinem Git Repository herunterladen:
user@host: cd /tmp
user@host: git clone git://gitorious.org/oselas/crosstool-ng.git
Cloning into 'crosstool-ng'...
remote: Counting objects: 24387, done.
remote: Compressing objects: 100% (8932/8932), done.
remote: Total 24387 (delta 15906), reused 23241 (delta 14944)
Receiving objects: 100% (24387/24387), 21.51 MiB | 205.00 KiB/s, done.
Resolving deltas: 100% (15906/15906), done.
Checking connectivity... done
- Zweig der Microblaze Erweiterungen herausholen:
user@host: cd crosstool-ng
user@host: git checkout -b build crosstool-ng-microblaze-v2.4
Switched to a new branch 'build'
- Crosstol-NG für die lokale Benutzung konfigurieren und …:
user@host: ./bootstrap
Running autoconf...
Setting up submodules
Done. You may now run:
./configure
user@host: ./configure --enable-local
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking whether sed understands -r -i -e... yes
checking whether ln -s works... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for ranlib... ranlib
checking for objcopy... objcopy
checking for absolute path to objcopy... /usr/bin/objcopy
checking for objdump... objdump
checking for absolute path to objdump... /usr/bin/objdump
checking for readelf... readelf
checking for absolute path to readelf... /usr/bin/readelf
checking for gperf... gperf
checking for absolute path to gperf... /usr/bin/gperf
checking for bison... bison
checking for flex... flex
checking for makeinfo... makeinfo
checking for cut... cut
checking for stat... stat
checking for readlink... readlink
checking for wget... wget
checking for tar... tar
checking for gzip... gzip
checking for bzip2... bzip2
checking for patch... /usr/bin/patch
checking for bash >= 3.1... /bin/bash
checking for GNU awk... /usr/bin/awk
checking for GNU make >= 3.80... /usr/bin/make
checking whether /usr/bin/make sets $(MAKE)... yes
checking for GNU libtool >= 1.5.26... /usr/bin/libtool
checking for GNU libtoolize >= 1.5.26... /usr/bin/libtoolize
checking for GNU automake >= 1.10... /usr/bin/automake
checking for xz... xz
checking for cvs... cvs
checking for svn... svn
checking for inline... inline
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for working alloca.h... yes
checking for alloca... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking whether gettext is declared... yes
checking ncurses/ncurses.h usability... no
checking ncurses/ncurses.h presence... no
checking for ncurses/ncurses.h... no
checking ncurses/curses.h usability... no
checking ncurses/curses.h presence... no
checking for ncurses/curses.h... no
checking ncursesw/curses.h usability... yes
checking ncursesw/curses.h presence... yes
checking for ncursesw/curses.h... yes
checking for library containing initscr... -lncursesw
configure: overiding all of --prefix and the likes, because --enable-local was set
configure: creating ./config.status
config.status: creating Makefile
- … und erstellen:
user@host: make
SED 'ct-ng'
SED 'scripts/crosstool-NG.sh'
SED 'scripts/saveSample.sh'
SED 'scripts/showTuple.sh'
GEN 'config/configure.in'
GEN 'paths.mk'
GEN 'paths.sh'
DEP 'nconf.gui.dep'
DEP 'nconf.dep'
DEP 'lxdialog/yesno.dep'
DEP 'lxdialog/util.dep'
DEP 'lxdialog/textbox.dep'
DEP 'lxdialog/menubox.dep'
DEP 'lxdialog/inputbox.dep'
DEP 'lxdialog/checklist.dep'
DEP 'mconf.dep'
DEP 'conf.dep'
BISON 'zconf.tab.c'
GPERF 'zconf.hash.c'
LEX 'lex.zconf.c'
DEP 'zconf.tab.dep'
CC 'zconf.tab.o'
CC 'conf.o'
LD 'conf'
CC 'lxdialog/checklist.o'
CC 'lxdialog/inputbox.o'
CC 'lxdialog/menubox.o'
CC 'lxdialog/textbox.o'
CC 'lxdialog/util.o'
CC 'lxdialog/yesno.o'
CC 'mconf.o'
LD 'mconf'
CC 'nconf.o'
CC 'nconf.gui.o'
LD 'nconf'
SED 'docs/ct-ng.1'
GZIP 'docs/ct-ng.1.gz'
=== Big Endian Toolchain (microblaze-xilinx-linux-gnu) ===
- Konfiguration auswählen:
user@host: ./ct-ng microblaze-xilinx-linux-gnu
MKDIR config.gen
IN config.gen/arch.in
IN config.gen/kernel.in
IN config.gen/cc.in
IN config.gen/binutils.in
IN config.gen/libc.in
IN config.gen/debug.in
CONF config/config.in
#
# configuration saved
#
***********************************************************
Initially reported by: Stephan Linz
URL: http://www.li-pro.de/xilinx_mb/toolchain
Comment:
based on David Holsgroves reporting (www.xilinx.com)
***********************************************************
WARNING! This sample may enable experimental features.
Please be sure to review the configuration prior
to building and using your toolchain!
Now, you have been warned!
***********************************************************
Now configured for "microblaze-xilinx-linux-gnu"
- Toolchain übersetzen:
user@host: ./ct-ng build
[INFO ] Performing some trivial sanity checks
[INFO ] Build started 20131218.161307
[INFO ] Building environment variables
[EXTRA] Preparing working directories
[EXTRA] Installing user-supplied crosstool-NG configuration
[EXTRA] Installing PTXdist appropriability
[EXTRA] =================================================================
[EXTRA] Dumping internal crosstool-NG configuration
[EXTRA] Building a toolchain for:
[EXTRA] build = x86_64-unknown-linux-gnu
[EXTRA] host = x86_64-unknown-linux-gnu
[EXTRA] target = microblaze-xilinx-linux-gnu
[EXTRA] Dumping internal crosstool-NG configuration: done in 0.07s (at 00:01)
[INFO ] =================================================================
[INFO ] Retrieving needed toolchain components' tarballs
[INFO ] Retrieving needed toolchain components' tarballs: done in 0.43s (at 00:02)
[INFO ] =================================================================
[INFO ] Extracting and patching toolchain components
[EXTRA] Extracting 'linux-3.8.11'
[EXTRA] Patching 'linux-3.8.11'
[EXTRA] Extracting 'gmp-5.1.1'
[EXTRA] Patching 'gmp-5.1.1'
[EXTRA] Extracting 'mpfr-3.1.2'
[EXTRA] Patching 'mpfr-3.1.2'
[EXTRA] Extracting 'mpc-1.0.1'
[EXTRA] Patching 'mpc-1.0.1'
[EXTRA] Extracting 'binutils-2.23.2'
[EXTRA] Patching 'binutils-2.23.2'
[EXTRA] Extracting 'gcc-4.8.1'
[EXTRA] Patching 'gcc-4.8.1'
[EXTRA] Extracting 'eglibc-2_18'
[EXTRA] Patching 'eglibc-2_18'
[EXTRA] Extracting 'dmalloc-5.5.2'
[EXTRA] Patching 'dmalloc-5.5.2'
[EXTRA] Extracting 'duma_2_5_15'
[EXTRA] Patching 'duma-2_5_15'
[EXTRA] Extracting 'gdb-7.4.1'
[EXTRA] Patching 'gdb-7.4.1'
[EXTRA] Extracting 'ncurses-5.9'
[EXTRA] Patching 'ncurses-5.9'
[EXTRA] Extracting 'expat-2.1.0'
[EXTRA] Patching 'expat-2.1.0'
[EXTRA] Extracting 'strace-4.8'
[EXTRA] Patching 'strace-4.8'
[INFO ] Extracting and patching toolchain components: done in 56.92s (at 00:59)
[INFO ] =================================================================
[INFO ] Installing GMP for host
[EXTRA] Configuring GMP
[EXTRA] Building GMP
[EXTRA] Installing GMP
[INFO ] Installing GMP for host: done in 60.86s (at 02:00)
[INFO ] =================================================================
[INFO ] Installing MPFR for host
[EXTRA] Configuring MPFR
[EXTRA] Building MPFR
[EXTRA] Installing MPFR
[INFO ] Installing MPFR for host: done in 13.32s (at 02:13)
[INFO ] =================================================================
[INFO ] Installing MPC for host
[EXTRA] Configuring MPC
[EXTRA] Building MPC
[EXTRA] Installing MPC
[INFO ] Installing MPC for host: done in 6.72s (at 02:20)
[INFO ] =================================================================
[INFO ] Installing binutils for host
[EXTRA] Configuring binutils
[EXTRA] Building binutils
[EXTRA] Installing binutils
[INFO ] Installing binutils for host: done in 35.33s (at 02:55)
[INFO ] =================================================================
[INFO ] Installing pass-1 core C compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[INFO ] Installing pass-1 core C compiler: done in 120.63s (at 04:56)
[INFO ] =================================================================
[INFO ] Installing kernel headers
[EXTRA] Installing kernel headers
[EXTRA] Checking installed headers
[INFO ] Installing kernel headers: done in 5.71s (at 05:01)
[INFO ] =================================================================
[INFO ] Installing C library headers & start files
[EXTRA] Configuring C library
[EXTRA] Installing C library headers
[EXTRA] Installing C library start files
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='bs': done in 6.25s (at 05:20)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='m'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='m': done in 5.99s (at 05:26)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='m/mh'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='m/mh': done in 6.24s (at 05:32)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs/m'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='bs/m': done in 5.99s (at 05:38)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs/m/mh'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='bs/m/mh': done in 5.94s (at 05:44)
[INFO ] Installing C library headers & start files: done in 43.02s (at 05:44)
[INFO ] =================================================================
[INFO ] Installing pass-2 core C compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[INFO ] Installing pass-2 core C compiler: done in 180.45s (at 08:45)
[INFO ] =================================================================
[INFO ] Installing C library
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='bs': done in 168.23s (at 14:21)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='m'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='m': done in 164.05s (at 17:05)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='m/mh'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='m/mh': done in 158.82s (at 19:44)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs/m'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='bs/m': done in 157.74s (at 22:22)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs/m/mh'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='bs/m/mh': done in 161.34s (at 25:03)
[INFO ] Installing C library: done in 978.55s (at 25:03)
[INFO ] =================================================================
[INFO ] Installing final compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[INFO ] Installing final compiler: done in 400.96s (at 31:44)
[INFO ] =================================================================
[INFO ] Installing binutils for target
[EXTRA] Configuring binutils for target
[EXTRA] Building binutils' libraries (libiberty bfd) for target
[EXTRA] Installing binutils' libraries (libiberty bfd) for target
[EXTRA] Remove some useless .la files
[INFO ] Installing binutils for target: done in 34.11s (at 32:18)
[INFO ] =================================================================
[INFO ] Installing dmalloc
[EXTRA] Configuring dmalloc
[EXTRA] Building dmalloc
[EXTRA] Installing dmalloc
[INFO ] Installing dmalloc: done in 7.97s (at 32:26)
[INFO ] =================================================================
[INFO ] Installing D.U.M.A.
[EXTRA] Copying sources
[EXTRA] Building libraries 'libduma.a libduma.so.0.0.0'
[EXTRA] Installing libraries 'libduma.a libduma.so.0.0.0'
[EXTRA] Installing shared library link
[EXTRA] Installing wrapper script
[INFO ] Installing D.U.M.A.: done in 0.72s (at 32:27)
[INFO ] =================================================================
[INFO ] Installing cross-gdb
[EXTRA] Configuring cross-gdb
[EXTRA] Building cross-gdb
[EXTRA] Installing cross-gdb
[EXTRA] Installing '.gdbinit' template
[INFO ] Installing cross-gdb: done in 70.12s (at 33:37)
[INFO ] =================================================================
[INFO ] Installing native gdb
[EXTRA] Building static target ncurses
[EXTRA] Building static target expat
[EXTRA] Configuring native gdb
[EXTRA] Building native gdb
[EXTRA] Installing native gdb
[INFO ] Installing native gdb: done in 103.90s (at 35:21)
[INFO ] =================================================================
[INFO ] Installing gdbserver
[EXTRA] Configuring gdbserver
[EXTRA] Building gdbserver
[EXTRA] Installing gdbserver
[INFO ] Installing gdbserver: done in 6.98s (at 35:28)
[INFO ] =================================================================
[INFO ] Installing strace
[EXTRA] Configuring strace
[EXTRA] Building strace
[EXTRA] Installing strace
[INFO ] Installing strace: done in 14.36s (at 35:43)
[INFO ] =================================================================
[INFO ] Cleaning-up the toolchain's directory
[EXTRA] Installing the populate helper
[EXTRA] Installing a cross-ldd helper
[EXTRA] Creating toolchain aliases
[EXTRA] Removing access to the build system tools
[INFO ] Cleaning-up the toolchain's directory: done in 0.27s (at 35:43)
[INFO ] Build completed at 20131218.164850
[INFO ] (elapsed: 35:42.85)
[INFO ] Finishing installation (may take a few seconds)...
- Übersetzungsumgebung aufräumen:
user@host: ./ct-ng distclean
CLEAN scripts
CLEAN config
CLEAN config.gen
CLEAN log
CLEAN .config
CLEAN build dir
=== Little Endian Toolchain (microblazeel-xilinx-linux-gnu) ===
- Konfiguration auswählen:
user@host: ./ct-ng microblazeel-xilinx-linux-gnu
MKDIR config.gen
IN config.gen/arch.in
IN config.gen/kernel.in
IN config.gen/cc.in
IN config.gen/binutils.in
IN config.gen/libc.in
IN config.gen/debug.in
CONF config/config.in
#
# configuration saved
#
***********************************************************
Initially reported by: Stephan Linz
URL: http://www.li-pro.de/xilinx_mb/toolchain
Comment:
based on David Holsgroves reporting (www.xilinx.com)
***********************************************************
WARNING! This sample may enable experimental features.
Please be sure to review the configuration prior
to building and using your toolchain!
Now, you have been warned!
***********************************************************
Now configured for "microblazeel-xilinx-linux-gnu"
- Toolchain übersetzen:
user@host: ./ct-ng build
[INFO ] Performing some trivial sanity checks
[INFO ] Build started 20131218.165115
[INFO ] Building environment variables
[EXTRA] Preparing working directories
[EXTRA] Installing user-supplied crosstool-NG configuration
[EXTRA] Installing PTXdist appropriability
[EXTRA] =================================================================
[EXTRA] Dumping internal crosstool-NG configuration
[EXTRA] Building a toolchain for:
[EXTRA] build = x86_64-unknown-linux-gnu
[EXTRA] host = x86_64-unknown-linux-gnu
[EXTRA] target = microblazeel-xilinx-linux-gnu
[EXTRA] Dumping internal crosstool-NG configuration: done in 0.05s (at 00:02)
[INFO ] =================================================================
[INFO ] Retrieving needed toolchain components' tarballs
[INFO ] Retrieving needed toolchain components' tarballs: done in 0.50s (at 00:02)
[INFO ] =================================================================
[INFO ] Extracting and patching toolchain components
[EXTRA] Extracting 'linux-3.8.11'
[EXTRA] Patching 'linux-3.8.11'
[EXTRA] Extracting 'gmp-5.1.1'
[EXTRA] Patching 'gmp-5.1.1'
[EXTRA] Extracting 'mpfr-3.1.2'
[EXTRA] Patching 'mpfr-3.1.2'
[EXTRA] Extracting 'mpc-1.0.1'
[EXTRA] Patching 'mpc-1.0.1'
[EXTRA] Extracting 'binutils-2.23.2'
[EXTRA] Patching 'binutils-2.23.2'
[EXTRA] Extracting 'gcc-4.8.1'
[EXTRA] Patching 'gcc-4.8.1'
[EXTRA] Extracting 'eglibc-2_18'
[EXTRA] Patching 'eglibc-2_18'
[EXTRA] Extracting 'dmalloc-5.5.2'
[EXTRA] Patching 'dmalloc-5.5.2'
[EXTRA] Extracting 'duma_2_5_15'
[EXTRA] Patching 'duma-2_5_15'
[EXTRA] Extracting 'gdb-7.4.1'
[EXTRA] Patching 'gdb-7.4.1'
[EXTRA] Extracting 'ncurses-5.9'
[EXTRA] Patching 'ncurses-5.9'
[EXTRA] Extracting 'expat-2.1.0'
[EXTRA] Patching 'expat-2.1.0'
[EXTRA] Extracting 'strace-4.8'
[EXTRA] Patching 'strace-4.8'
[INFO ] Extracting and patching toolchain components: done in 61.35s (at 01:04)
[INFO ] =================================================================
[INFO ] Installing GMP for host
[EXTRA] Configuring GMP
[EXTRA] Building GMP
[EXTRA] Installing GMP
[INFO ] Installing GMP for host: done in 51.21s (at 01:55)
[INFO ] =================================================================
[INFO ] Installing MPFR for host
[EXTRA] Configuring MPFR
[EXTRA] Building MPFR
[EXTRA] Installing MPFR
[INFO ] Installing MPFR for host: done in 12.83s (at 02:08)
[INFO ] =================================================================
[INFO ] Installing MPC for host
[EXTRA] Configuring MPC
[EXTRA] Building MPC
[EXTRA] Installing MPC
[INFO ] Installing MPC for host: done in 6.52s (at 02:14)
[INFO ] =================================================================
[INFO ] Installing binutils for host
[EXTRA] Configuring binutils
[EXTRA] Building binutils
[EXTRA] Installing binutils
[INFO ] Installing binutils for host: done in 34.46s (at 02:49)
[INFO ] =================================================================
[INFO ] Installing pass-1 core C compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[INFO ] Installing pass-1 core C compiler: done in 103.29s (at 04:32)
[INFO ] =================================================================
[INFO ] Installing kernel headers
[EXTRA] Installing kernel headers
[EXTRA] Checking installed headers
[INFO ] Installing kernel headers: done in 5.84s (at 04:38)
[INFO ] =================================================================
[INFO ] Installing C library headers & start files
[EXTRA] Configuring C library
[EXTRA] Installing C library headers
[EXTRA] Installing C library start files
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='bs': done in 6.22s (at 04:56)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='m'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='m': done in 6.39s (at 05:02)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='m/mh'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='m/mh': done in 6.56s (at 05:09)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs/m'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='bs/m': done in 6.42s (at 05:15)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs/m/mh'
[EXTRA] Configuring C library
[EXTRA] Installing C library start files
[INFO ] Building for multilib subdir='bs/m/mh': done in 5.77s (at 05:21)
[INFO ] Installing C library headers & start files: done in 42.92s (at 05:21)
[INFO ] =================================================================
[INFO ] Installing pass-2 core C compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[INFO ] Installing pass-2 core C compiler: done in 151.54s (at 07:52)
[INFO ] =================================================================
[INFO ] Installing C library
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='bs': done in 170.03s (at 13:30)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='m'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='m': done in 170.13s (at 16:20)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='m/mh'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='m/mh': done in 183.91s (at 19:24)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs/m'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='bs/m': done in 165.67s (at 22:10)
[INFO ] =================================================================
[INFO ] Building for multilib subdir='bs/m/mh'
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[EXTRA] Fixing up multilib location
[INFO ] Building for multilib subdir='bs/m/mh': done in 171.06s (at 25:01)
[INFO ] Installing C library: done in 1028.48s (at 25:01)
[INFO ] =================================================================
[INFO ] Installing final compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[INFO ] Installing final compiler: done in 395.97s (at 31:37)
[INFO ] =================================================================
[INFO ] Installing binutils for target
[EXTRA] Configuring binutils for target
[EXTRA] Building binutils' libraries (libiberty bfd) for target
[EXTRA] Installing binutils' libraries (libiberty bfd) for target
[EXTRA] Remove some useless .la files
[INFO ] Installing binutils for target: done in 35.31s (at 32:12)
[INFO ] =================================================================
[INFO ] Installing dmalloc
[EXTRA] Configuring dmalloc
[EXTRA] Building dmalloc
[EXTRA] Installing dmalloc
[INFO ] Installing dmalloc: done in 8.04s (at 32:20)
[INFO ] =================================================================
[INFO ] Installing D.U.M.A.
[EXTRA] Copying sources
[EXTRA] Building libraries 'libduma.a libduma.so.0.0.0'
[EXTRA] Installing libraries 'libduma.a libduma.so.0.0.0'
[EXTRA] Installing shared library link
[EXTRA] Installing wrapper script
[INFO ] Installing D.U.M.A.: done in 0.75s (at 32:21)
[INFO ] =================================================================
[INFO ] Installing cross-gdb
[EXTRA] Configuring cross-gdb
[EXTRA] Building cross-gdb
[EXTRA] Installing cross-gdb
[EXTRA] Installing '.gdbinit' template
[INFO ] Installing cross-gdb: done in 69.80s (at 33:31)
[INFO ] =================================================================
[INFO ] Installing native gdb
[EXTRA] Building static target ncurses
[EXTRA] Building static target expat
[EXTRA] Configuring native gdb
[EXTRA] Building native gdb
[EXTRA] Installing native gdb
[INFO ] Installing native gdb: done in 105.52s (at 35:16)
[INFO ] =================================================================
[INFO ] Installing gdbserver
[EXTRA] Configuring gdbserver
[EXTRA] Building gdbserver
[EXTRA] Installing gdbserver
[INFO ] Installing gdbserver: done in 6.56s (at 35:23)
[INFO ] =================================================================
[INFO ] Installing strace
[EXTRA] Configuring strace
[EXTRA] Building strace
[EXTRA] Installing strace
[INFO ] Installing strace: done in 14.19s (at 35:37)
[INFO ] =================================================================
[INFO ] Cleaning-up the toolchain's directory
[EXTRA] Installing the populate helper
[EXTRA] Installing a cross-ldd helper
[EXTRA] Creating toolchain aliases
[EXTRA] Removing access to the build system tools
[INFO ] Cleaning-up the toolchain's directory: done in 0.30s (at 35:37)
[INFO ] Build completed at 20131218.172652
[INFO ] (elapsed: 35:37.51)
[INFO ] Finishing installation (may take a few seconds)...
- Übersetzungsumgebung aufräumen:
user@host: ./ct-ng distclean
CLEAN scripts
CLEAN config
CLEAN config.gen
CLEAN log
CLEAN .config
CLEAN build dir
=== Both Endian Toolchain (microblaze-xilinx-elf) ===
- Konfiguration auswählen:
user@host: ./ct-ng microblaze-xilinx-elf
MKDIR config.gen
IN config.gen/arch.in
IN config.gen/kernel.in
IN config.gen/cc.in
IN config.gen/binutils.in
IN config.gen/libc.in
IN config.gen/debug.in
CONF config/config.in
#
# configuration saved
#
***********************************************************
Initially reported by: Stephan Linz
URL: http://www.li-pro.de/xilinx_mb/toolchain
Comment:
based on David Holsgroves reporting (www.xilinx.com)
***********************************************************
WARNING! This sample may enable experimental features.
Please be sure to review the configuration prior
to building and using your toolchain!
Now, you have been warned!
***********************************************************
Now configured for "microblaze-xilinx-elf"
- Toolchain übersetzen:
user@host: ./ct-ng build
[INFO ] Performing some trivial sanity checks
[INFO ] Build started 20131218.172927
[INFO ] Building environment variables
[EXTRA] Preparing working directories
[EXTRA] Installing user-supplied crosstool-NG configuration
[EXTRA] Installing PTXdist appropriability
[EXTRA] =================================================================
[EXTRA] Dumping internal crosstool-NG configuration
[EXTRA] Building a toolchain for:
[EXTRA] build = x86_64-unknown-linux-gnu
[EXTRA] host = x86_64-unknown-linux-gnu
[EXTRA] target = microblaze-xilinx-elf
[EXTRA] Dumping internal crosstool-NG configuration: done in 0.04s (at 00:01)
[INFO ] =================================================================
[INFO ] Retrieving needed toolchain components' tarballs
[INFO ] Retrieving needed toolchain components' tarballs: done in 0.21s (at 00:02)
[INFO ] =================================================================
[INFO ] Extracting and patching toolchain components
[EXTRA] Extracting 'gmp-5.1.1'
[EXTRA] Patching 'gmp-5.1.1'
[EXTRA] Extracting 'mpfr-3.1.2'
[EXTRA] Patching 'mpfr-3.1.2'
[EXTRA] Extracting 'mpc-1.0.1'
[EXTRA] Patching 'mpc-1.0.1'
[EXTRA] Extracting 'binutils-2.23.2'
[EXTRA] Patching 'binutils-2.23.2'
[EXTRA] Extracting 'gcc-4.8.1'
[EXTRA] Patching 'gcc-4.8.1'
[EXTRA] Extracting 'newlib-2.0.0'
[EXTRA] Patching 'newlib-2.0.0'
[EXTRA] Extracting 'gdb-7.4.1'
[EXTRA] Patching 'gdb-7.4.1'
[INFO ] Extracting and patching toolchain components: done in 34.51s (at 00:36)
[INFO ] =================================================================
[INFO ] Installing GMP for host
[EXTRA] Configuring GMP
[EXTRA] Building GMP
[EXTRA] Installing GMP
[INFO ] Installing GMP for host: done in 43.82s (at 01:20)
[INFO ] =================================================================
[INFO ] Installing MPFR for host
[EXTRA] Configuring MPFR
[EXTRA] Building MPFR
[EXTRA] Installing MPFR
[INFO ] Installing MPFR for host: done in 12.81s (at 01:33)
[INFO ] =================================================================
[INFO ] Installing MPC for host
[EXTRA] Configuring MPC
[EXTRA] Building MPC
[EXTRA] Installing MPC
[INFO ] Installing MPC for host: done in 10.51s (at 01:43)
[INFO ] =================================================================
[INFO ] Installing binutils for host
[EXTRA] Configuring binutils
[EXTRA] Building binutils
[EXTRA] Installing binutils
[INFO ] Installing binutils for host: done in 35.27s (at 02:19)
[INFO ] =================================================================
[INFO ] Installing pass-1 core C compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mlittle-endian --> le/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mno-xl-soft-mul -mlittle-endian --> m/le/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high -mlittle-endian --> m/mh/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mlittle-endian --> bs/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mlittle-endian --> bs/m/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high -mlittle-endian --> bs/m/mh/le/
[INFO ] Installing pass-1 core C compiler: done in 100.82s (at 04:00)
[INFO ] =================================================================
[INFO ] Installing C library headers & start files
[INFO ] Installing C library headers & start files: done in 0.02s (at 04:00)
[INFO ] =================================================================
[INFO ] Installing pass-2 core C compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mlittle-endian --> le/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mno-xl-soft-mul -mlittle-endian --> m/le/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high -mlittle-endian --> m/mh/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mlittle-endian --> bs/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mlittle-endian --> bs/m/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high -mlittle-endian --> bs/m/mh/le/
[INFO ] Installing pass-2 core C compiler: done in 164.68s (at 06:44)
[INFO ] =================================================================
[INFO ] Installing C library
[EXTRA] Configuring C library
[EXTRA] Building C library
[EXTRA] Installing C library
[INFO ] Installing C library: done in 245.22s (at 10:49)
[INFO ] =================================================================
[INFO ] Installing final compiler
[EXTRA] Configuring gcc
[EXTRA] Building gcc
[EXTRA] Installing gcc
[EXTRA] Remove some useless .la files
[EXTRA] gcc configured with these multilibs (besides the default):
[EXTRA] -mxl-barrel-shift --> bs/
[EXTRA] -mno-xl-soft-mul --> m/
[EXTRA] -mlittle-endian --> le/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high --> m/mh/
[EXTRA] -mno-xl-soft-mul -mlittle-endian --> m/le/
[EXTRA] -mno-xl-soft-mul -mxl-multiply-high -mlittle-endian --> m/mh/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul --> bs/m/
[EXTRA] -mxl-barrel-shift -mlittle-endian --> bs/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high --> bs/m/mh/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mlittle-endian --> bs/m/le/
[EXTRA] -mxl-barrel-shift -mno-xl-soft-mul -mxl-multiply-high -mlittle-endian --> bs/m/mh/le/
[INFO ] Installing final compiler: done in 491.87s (at 19:01)
[INFO ] =================================================================
[INFO ] Installing cross-gdb
[EXTRA] Configuring cross-gdb
[EXTRA] Building cross-gdb
[EXTRA] Installing cross-gdb
[EXTRA] Installing '.gdbinit' template
[INFO ] Installing cross-gdb: done in 71.21s (at 20:13)
[INFO ] =================================================================
[INFO ] Cleaning-up the toolchain's directory
[EXTRA] Creating toolchain aliases
[EXTRA] Removing access to the build system tools
[INFO ] Cleaning-up the toolchain's directory: done in 0.32s (at 20:13)
[INFO ] Build completed at 20131218.174940
[INFO ] (elapsed: 20:12.56)
[INFO ] Finishing installation (may take a few seconds)...
- Übersetzungsumgebung aufräumen:
user@host: ./ct-ng distclean
CLEAN scripts
CLEAN config
CLEAN config.gen
CLEAN log
CLEAN .config
CLEAN build dir
=== Ergebnis einpacken und installieren ===
- Crosstool-NG hat beide Toolchains unter ''/tmp/tools-4.8.1-mb-ctng-v2.4'' installiert, diese müssen eingepackt werden:
user@host: cd /tmp
user@host: tar -cj --owner=root --group=root -f tools-4.8.1-mb-ctng-v2.4-$(uname -m).tar.bz2 tools-4.8.1-mb-ctng-v2.4
- Das entstandene Archiv **muss** nun an einen sicheren Ort verschoben werden, dann kann das Verzeichnis gelöscht werden:
user@host: mv tools-4.8.1-mb-ctng-v2.4-$(uname -m).tar.bz2
user@host: rm -rf tools-4.8.1-mb-ctng-v2.4
- Die Toolchains können für die Benutzung nach ''/opt'' installiert werden:
user@host: cd /opt
user@host: sudo tar -xjf /tools-4.8.1-mb-ctng-v2.4-$(uname -m).tar.bz2
++++ MicroBlaze Tools v1.4 (crosstool-1.4.1) |
Crosstoll-NG ist ein bekanntes Werkzeug zur Übersetzung von GNU Toolchains für verschiedene Prozessoren wie ARM, PowerPC, MIPS, x86 und viele mehr. Die Nutzung für Microblaze ist nicht neu wurde aber bisher nie als offizielle Unterstützung veröffentlicht. Nachdem PetaLogix im Februar 2011 alle notwendigen Patches für die GNU Binutils, den GCC und die GLIBC veröffentlicht hat und nach über einem halben Jahr keine Erweiterung in die Mainline Entwicklung von Grosstool-NG beigesteuert wurde, habe ich mir letztendlich selber diese Erweiterung erstellt und auf [[https://gitorious.org/oselas/crosstool-ng|Gitorious]] als Git Repository veröffentlicht.
Die Übersetzung erfolgt in mehreren einzelnen Schritten, wobei zunächst Grosstool-NG für die lokale Benutzung vorbereitet werden muss, dann die beiden Toolchains für Big und Little Endian übersetzt und abschließend die Ergebnisse eingepackt werden. Im Verlauf der Übersetzung einer GNU Toolchain müssen verschiedene Zwischenergebnisse bereits in eine gültige Laufzeitumgebung installiert werden. Die in Crosstoll-NG hinterlegten Konfigurationen für die beiden Microblaze Toolchains sind so eingestellt, dass diese Installationen unterhalb von ''/tmp'' erfolgen. Somit ist auf ausreichend Plattenplatz in diesem Bereich zu achten (ca. 2,5GB). Je nach Leistungsfähigkeit der benutzen Maschine können Übersetzungszeiten von mehr als einer Stunde erwartet werden. Ein gutes Buch, viel Kaffee oder auch ein nicht aufgeräumtes Büro werden da sehr nützlich.
----
__**Vorbereitung**__
- Crosstool-NG mit den enthaltenen Erweiterungen für Microblaze von meinem Git Repository herunterladen:
user@host: cd /tmp
user@host: git clone git://gitorious.org/oselas/crosstool-ng.git
Initialized empty Git repository in /tmp/crosstool-ng/.git/
remote: Counting objects: 19150, done.
remote: Compressing objects: 100% (6517/6517), done.
remote: Total 19150 (delta 12597), reused 18683 (delta 12219)
Receiving objects: 100% (19150/19150), 11.45 MiB | 156 KiB/s, done.
Resolving deltas: 100% (12597/12597), done.
- Zweig der Microblaze Erweiterungen herausholen:
user@host: cd crosstool-ng
user@host: git checkout -b build crosstool-ng-1.4.1-microblaze-v1.4
Switched to a new branch 'build'
- Crosstol-NG für die lokale Benutzung konfigurieren und …:
user@host: LANG=C ./configure --local
Checking for 'grep'... /bin/grep
Checking whether '/bin/grep' supports -E... yes
Checking for 'sed'... /bin/sed
Checking whether '/bin/sed' supports -i and -e... yes
Checking for 'bash'... /bin/bash
Checking for 'cut'... /usr/bin/cut
Checking for 'xargs'... /usr/bin/xargs
Checking for 'install'... /usr/bin/install
Checking for 'make'... /usr/bin/make
Checking for 'gcc'... /usr/bin/gcc
Checking for 'awk'... /usr/bin/awk
Checking for 'bison'... /usr/bin/bison
Checking for 'flex'... /usr/bin/flex
Checking for 'makeinfo'... /usr/bin/makeinfo
Checking for 'automake'... /usr/bin/automake
Checking for 'libtool'... /usr/bin/libtool
Checking for 'curl'... /usr/bin/curl
Checking for 'patch'... /usr/bin/patch
Checking for 'tar'... /bin/tar
Checking for 'gzip'... /bin/gzip
Checking for 'bzip2'... /bin/bzip2
Computing version string... 1.4.1
Building up Makefile... done
crosstool-NG configured as follows:
PREFIX='/tmp/crosstool-ng'
BINDIR='/tmp/crosstool-ng'
LIBDIR='/tmp/crosstool-ng'
DOCDIR='/tmp/crosstool-ng/docs'
MANDIR='/tmp/crosstool-ng/docs'
Now run:
make
- … und erstellen:
user@host: make
SED 'ct-ng'
SED 'scripts/crosstool-NG.sh'
SED 'scripts/saveSample.sh'
GEN 'paths.mk'
SED 'docs/ct-ng.1'
GZIP 'docs/ct-ng.1.gz'
----
__**Big Endian Toolchain (microblaze-unknown-linux-gnu)**__
- Konfiguration auswählen:
user@host: ./ct-ng microblaze-unknown-linux-gnu
DEP kconfig/conf.dep
DEP kconfig/zconf.tab.dep
CC kconfig/zconf.tab.o
CC kconfig/conf.o
LD kconfig/conf
MKDIR config.gen
IN config.gen/arch.in
IN config.gen/kernel.in
IN config.gen/cc.in
IN config.gen/libc.in
IN config.gen/tools.in
IN config.gen/debug.in
CONF config/config.in
***********************************************************
Initially reported by: Stephan Linz
URL: http://www.li-pro.de/xilinx_mb/mbref/todo/microblaze_gnu_toolchain
***********************************************************
WARNING! This sample may enable experimental features.
Please be sure to review the configuration prior
to building and using your toolchain!
Now, you have been warned!
***********************************************************
Now configured for "microblaze-unknown-linux-gnu"
- Toolchain übersetzen:
user@host: ./ct-ng build
[INFO ] Build started 20111219.182418
[INFO ] Checking environment sanity
[INFO ] Building environment variables
[WARN ] You did not specify the build system. That's OK, I can guess...
[INFO ] =================================================================
[INFO ] Retrieving needed toolchain components' tarballs
[INFO ] Retrieving needed toolchain components' tarballs: done in 0.26s (at 00:01)
[INFO ] =================================================================
[INFO ] Extracting and patching toolchain components
[INFO ] Extracting and patching toolchain components: done in 57.28s (at 00:58)
[INFO ] Saving state to restart at step 'libc_check_config'...
[INFO ] Saving state to restart at step 'kernel_headers'...
[INFO ] =================================================================
[INFO ] Installing kernel headers
[INFO ] Installing kernel headers: done in 6.28s (at 01:05)
[INFO ] Saving state to restart at step 'gmp'...
[INFO ] Saving state to restart at step 'mpfr'...
[INFO ] Saving state to restart at step 'binutils'...
[INFO ] =================================================================
[INFO ] Installing binutils
[INFO ] Installing binutils: done in 72.62s (at 02:18)
[INFO ] Saving state to restart at step 'cc_core_pass_1'...
[INFO ] Saving state to restart at step 'libc_headers'...
[INFO ] =================================================================
[INFO ] Installing C library headers
[INFO ] Installing C library headers: done in 16.78s (at 02:37)
[INFO ] Saving state to restart at step 'libc_start_files'...
[INFO ] Saving state to restart at step 'cc_core_pass_2'...
[INFO ] =================================================================
[INFO ] Installing static core C compiler
[INFO ] Installing static core C compiler: done in 150.26s (at 05:10)
[INFO ] Saving state to restart at step 'libc'...
[INFO ] =================================================================
[INFO ] Installing C library
[INFO ] Installing C library: done in 406.42s (at 11:59)
[INFO ] Saving state to restart at step 'cc'...
[INFO ] =================================================================
[INFO ] Installing final compiler
[INFO ] Installing final compiler: done in 1035.25s (at 29:17)
[INFO ] Saving state to restart at step 'libc_finish'...
[INFO ] =================================================================
[INFO ] Finishing C library
[INFO ] Finishing C library: done in 152.70s (at 32:05)
[INFO ] Saving state to restart at step 'gmp_target'...
[INFO ] Saving state to restart at step 'mpfr_target'...
[INFO ] Saving state to restart at step 'binutils_target'...
[INFO ] Saving state to restart at step 'tools'...
[INFO ] Saving state to restart at step 'debug'...
[INFO ] =================================================================
[INFO ] Installing cross-gdb
[INFO ] Installing cross-gdb: done in 140.19s (at 35:45)
[INFO ] =================================================================
[INFO ] Installing native gdb
[INFO ] =================================================================
[INFO ] Installing ncurses library
[INFO ] =================================================================
[INFO ] Installing native ncurses tic
[INFO ] Installing native ncurses tic: done in 36.33s (at 36:21)
[INFO ] Installing ncurses library: done in 154.33s (at 38:19)
[INFO ] Installing native gdb: done in 379.25s (at 42:04)
[INFO ] =================================================================
[INFO ] Installing gdbserver binary (prebuilt)
[INFO ] Installing gdbserver binary (prebuilt): done in 0.02s (at 42:04)
[INFO ] Saving state to restart at step 'finish'...
[INFO ] =================================================================
[INFO ] Cleaning-up the toolchain's directory
[INFO ] Cleaning-up the toolchain's directory: done in 0.19s (at 42:25)
[INFO ] Build completed at 20111219.190643
[INFO ] (elapsed: 42:25.46)
[INFO ] Finishing installation (may take a few seconds)...
[42:25]
- Übersetzungsumgebung aufräumen:
user@host: ./ct-ng distclean
CLEAN scripts
CLEAN config
CLEAN config.gen
CLEAN kconfig
CLEAN log
CLEAN .config
CLEAN targets
----
__**Little Endian Toolchain (microblazeel-unknown-linux-gnu)**__
- Konfiguration auswählen:
user@host: ./ct-ng microblazeel-unknown-linux-gnu
DEP kconfig/conf.dep
DEP kconfig/zconf.tab.dep
CC kconfig/zconf.tab.o
CC kconfig/conf.o
LD kconfig/conf
MKDIR config.gen
IN config.gen/arch.in
IN config.gen/kernel.in
IN config.gen/cc.in
IN config.gen/libc.in
IN config.gen/tools.in
IN config.gen/debug.in
CONF config/config.in
***********************************************************
Initially reported by: Stephan Linz
URL: http://www.li-pro.de/xilinx_mb/mbref/todo/microblaze_gnu_toolchain
***********************************************************
WARNING! This sample may enable experimental features.
Please be sure to review the configuration prior
to building and using your toolchain!
Now, you have been warned!
***********************************************************
Now configured for "microblazeel-unknown-linux-gnu"
- Toolchain übersetzen:
user@host: ./ct-ng build
[INFO ] Build started 20111219.190821
[INFO ] Checking environment sanity
[INFO ] Building environment variables
[WARN ] You did not specify the build system. That's OK, I can guess...
[INFO ] =================================================================
[INFO ] Retrieving needed toolchain components' tarballs
[INFO ] Retrieving needed toolchain components' tarballs: done in 0.12s (at 00:01)
[INFO ] =================================================================
[INFO ] Extracting and patching toolchain components
[INFO ] Extracting and patching toolchain components: done in 57.74s (at 00:58)
[INFO ] Saving state to restart at step 'libc_check_config'...
[INFO ] Saving state to restart at step 'kernel_headers'...
[INFO ] =================================================================
[INFO ] Installing kernel headers
[INFO ] Installing kernel headers: done in 6.62s (at 01:05)
[INFO ] Saving state to restart at step 'gmp'...
[INFO ] Saving state to restart at step 'mpfr'...
[INFO ] Saving state to restart at step 'binutils'...
[INFO ] =================================================================
[INFO ] Installing binutils
[INFO ] Installing binutils: done in 74.56s (at 02:21)
[INFO ] Saving state to restart at step 'cc_core_pass_1'...
[INFO ] Saving state to restart at step 'libc_headers'...
[INFO ] =================================================================
[INFO ] Installing C library headers
[INFO ] Installing C library headers: done in 16.89s (at 02:40)
[INFO ] Saving state to restart at step 'libc_start_files'...
[INFO ] Saving state to restart at step 'cc_core_pass_2'...
[INFO ] =================================================================
[INFO ] Installing static core C compiler
[INFO ] Installing static core C compiler: done in 149.48s (at 05:11)
[INFO ] Saving state to restart at step 'libc'...
[INFO ] =================================================================
[INFO ] Installing C library
[INFO ] Installing C library: done in 406.43s (at 12:00)
[INFO ] Saving state to restart at step 'cc'...
[INFO ] =================================================================
[INFO ] Installing final compiler
[INFO ] Installing final compiler: done in 1018.29s (at 29:01)
[INFO ] Saving state to restart at step 'libc_finish'...
[INFO ] =================================================================
[INFO ] Finishing C library
[INFO ] Finishing C library: done in 160.68s (at 31:57)
[INFO ] Saving state to restart at step 'gmp_target'...
[INFO ] Saving state to restart at step 'mpfr_target'...
[INFO ] Saving state to restart at step 'binutils_target'...
[INFO ] Saving state to restart at step 'tools'...
[INFO ] Saving state to restart at step 'debug'...
[INFO ] =================================================================
[INFO ] Installing cross-gdb
[INFO ] Installing cross-gdb: done in 148.34s (at 35:43)
[INFO ] =================================================================
[INFO ] Installing native gdb
[INFO ] =================================================================
[INFO ] Installing ncurses library
[INFO ] =================================================================
[INFO ] Installing native ncurses tic
[INFO ] Installing native ncurses tic: done in 39.32s (at 36:23)
[INFO ] Installing ncurses library: done in 160.50s (at 38:24)
[INFO ] Installing native gdb: done in 392.56s (at 42:16)
[INFO ] =================================================================
[INFO ] Installing gdbserver binary (prebuilt)
[INFO ] Installing gdbserver binary (prebuilt): done in 0.16s (at 42:16)
[INFO ] Saving state to restart at step 'finish'...
[INFO ] =================================================================
[INFO ] Cleaning-up the toolchain's directory
[INFO ] Cleaning-up the toolchain's directory: done in 0.21s (at 42:39)
[INFO ] Build completed at 20111219.195100
[INFO ] (elapsed: 42:39.20)
[INFO ] Finishing installation (may take a few seconds)...
[42:39]
- Übersetzungsumgebung aufräumen:
user@host: ./ct-ng distclean
CLEAN scripts
CLEAN config
CLEAN config.gen
CLEAN kconfig
CLEAN log
CLEAN .config
CLEAN targets
----
__**Ergebnis einpacken und installieren**__
- Crosstool-NG hat beide Toolchains unter ''/tmp/tools-4.1.2-mb-ctng-v1.4'' installiert, diese müssen eingepackt werden:
user@host: cd /tmp
user@host: tar -cj --owner=root --group=root -f tools-4.1.2-mb-ctng-v1.4-$(uname -m).tar.bz2 tools-4.1.2-mb-ctng-v1.4
- Das entstandene Archiv **muss** nun an einen sicheren Ort verschoben werden, dann kann das Verzeichnis gelöscht werden:
user@host: mv tools-4.1.2-mb-ctng-v1.4-$(uname -m).tar.bz2
user@host: rm -rf tools-4.1.2-mb-ctng-v1.4
- Die Toolchains können für die Benutzung nach ''/opt'' installiert werden:
user@host: cd /opt
user@host: sudo tar -xjf /tools-4.1.2-mb-ctng-v1.4-$(uname -m).tar.bz2
++++
{{tag>mbref microblaze xl-tools gcc binutils gdb glibc embedded toolchain}}