Microblaze Toolchain

Für den Aufbau eines vollständig geschlossenen Design Flow ist neben 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 (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. — 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. — 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 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. — 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. — Stephan Linz 2013/12/22 17:28

Crosstool-NG Toolchain

Mit Hilfe von Crosstool-NG (Mainline HEAD) und ein paar zusätzlichen Erweiterungen können die bereitgestellten Erweiterungen von Xilinx an den GNU Tools und der Glibc für die Erzeugung einer eigenen Toolchain genutzt werden. Eine Anleitung befindet sich 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)

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.

Crosstool-NG Binärpakete

DateinameDateigrößeLetzte Änderung
tools-4.8.1-mb-ctng-v2.4-x86_64.tar.bz2453.1 MiB2013/12/18 23:14
tools-4.8.1-mb-ctng-v2.4-i686.tar.bz2444.0 MiB2013/12/19 13:13
tools-4.1.2-mb-ctng-v1.4-x86_64.tar.bz2141.6 MiB2011/12/20 00:33
tools-4.1.2-mb-ctng-v1.4-i686.tar.bz2136.6 MiB2011/12/19 23:29

Alternativen

Xilinx Binärpakete

DateinameDateigrößeLetzte Änderung
tools-4.6.2-mb-xilinx-v3.0-x86_64.tar.bz2101.4 MiB2012/09/29 20:41
tools-4.6.2-mb-xilinx-v3.0-i686.tar.bz296.8 MiB2012/09/29 19:38
tools-4.1.2-mb-xilinx-v2.0.tar.bz2105.7 MiB2011/04/08 02:15
tools-4.1.2-mb-xilinx-v1.0.tar.bz2245.3 MiB2011/04/08 01:11

Alternativen

Entwicklung

Die Quellen erfahren eine kontinuierliche Qualitätssicherung auf Basis der Methoden einer 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

tools-4.6.4-mb-ctng

tools-4.1.2-mb-ctng

Arbeiten an Crosstool-NG:

Alle Projektdaten werden bei github.com gepflegt.

github.com

Veraltet: Die Projektdaten bei Gitorious (heute Gitlab) auf gitorious.org sind veraltet und können je nach Politik durch Gitlab auch einfach ohne Vorankündigung gelöscht werden.

gitorious.org

Patches von der TU Enidhoven:

github.com (Kopie, veraltet):

gitorious.org (Kopie, veraltet, könnte verschwinden):

Patches von PetaLogix:

github.com (Kopie, veraltet):

gitorious.org (Kopie, veraltet, könnte verschwinden):

git.monstr.eu (veraltet, nicht mehr vorhanden):

Xilinx Binärpakete:

git.xilinx.com (veraltet, nicht mehr vorhanden):

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 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

  1. 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
  2. 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'
  3. 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
  4. … 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)

  1. 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"
  2. 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)...
  3. Ü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)

  1. 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"
  2. 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)...
  3. Ü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)

  1. 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"
  2. 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)...
  3. Ü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

  1. 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
  2. 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 <safe_location>
    user@host: rm -rf tools-4.8.1-mb-ctng-v2.4
  3. Die Toolchains können für die Benutzung nach /opt installiert werden:
    user@host: cd /opt
    user@host: sudo tar -xjf <safe_location>/tools-4.8.1-mb-ctng-v2.4-$(uname -m).tar.bz2

MicroBlaze Tools v1.4 (crosstool-1.4.1)