Nach vielen Tests habe ich mich weiterhin für die BinUtils 2.18 entschieden. Die größten Probleme bereiten neuere BinUtils bei native_call-Aufrufen.
Die BinUtils 2.18 benötigen makeinfo aus dem Texinfo-Packet. Da das configure-Skript der Binutils 2.18 neuer Texinfo-Versionen nicht erkennt, wird durch das Toolchain-Skript in Zeile 91 die configure-Datei der BinUtils gepatcht.
- Code: Alles auswählen
# makeinfo is required for binutils 2.18
# makeinfo patch for texinfo 4.11, 4.13
if [ "${VER_BINUTILS}" = "2.18" ] ; then
#
ed ${BUILDDIR}/${BINUTILS}/configure << EOF
6131s/\[4-9\]/(4|5|6|7|8|9|11|13)
wq
EOF
#
fi
Die newLib-Version wurde passend zur gcc-Version gewählt (gcc 4.5.1 mit newlib 1.19.0, gcc 4.7.0 mit newlib 1.20.0).
Nach dem gcc 4.7 wird es offensichtlich keine arm_elf-Unterstützung mehr geben (siehe: GCC 4.7 Release Series - Changes). In jedem Fall ist hier der Kompilerschalter
- Code: Alles auswählen
--enable-obsolete
Beide Skripte erzeugten unter Linux 32Bit (Ubuntu) und 64Bit (Suse) lauffähige CHDK-Kompiler. Das Skript packt die Toolchain nach erfolgreicher Ausführung in einem TAR.GZ-Archiv zusammen.
Gruß rudi