<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.hermann-uwe.de" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Uwe Hermann - Building an ARM cross-toolchain with binutils, gcc, newlib, and gdb from source - Comments</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source</link>
 <description>Comments for &quot;Building an ARM cross-toolchain with binutils, gcc, newlib, and gdb from source&quot;</description>
 <language>en</language>
<item>
 <title>Hi Uwe,
I try your script in</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-79615</link>
 <description>&lt;p&gt;Hi Uwe,&lt;br /&gt;
I try your script in Ubuntu 9.10 and got some error like follow:&lt;br /&gt;
-----------------------------------------------------------------------------------------&lt;br /&gt;
Wno-char-subscripts -Werror ../../gdb-6.8/gdb/cli/cli-cmds.c&lt;br /&gt;
cc1: warnings being treated as errors&lt;br /&gt;
../../gdb-6.8/gdb/cli/cli-cmds.c: In function ‘pwd_command’:&lt;br /&gt;
../../gdb-6.8/gdb/cli/cli-cmds.c:323: error: ignoring return value of ‘getcwd’, declared with attribute warn_unused_result&lt;br /&gt;
make[2]: *** [cli-cmds.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/home/chris/Downloads/build/gdb&#039;&lt;br /&gt;
make[1]: *** [install-gdb] Error 2&lt;br /&gt;
make[1]: Leaving directory `/home/chris/Downloads/build&#039;&lt;br /&gt;
make: *** [install] Error 2&lt;br /&gt;
-----------------------------------------------------------------------------------------&lt;br /&gt;
please, help me to fix this problem.&lt;br /&gt;
thanks!&lt;/p&gt;
</description>
 <pubDate>Tue, 09 Feb 2010 09:49:05 +0100</pubDate>
 <dc:creator>Chris Lin</dc:creator>
 <guid isPermaLink="false">comment 79615 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>GCC ARM compile from Source</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-79554</link>
 <description>&lt;p&gt;Hi Uwe,&lt;/p&gt;
&lt;p&gt;I got the same error &#039;selected processor does not support `ldrh w2,[wp2]&#039;&#039; . It seams that the&lt;br /&gt;
optimized string-functions, in recent newlib-packages do not match all variants of arm,&lt;br /&gt;
(see http://sourceware.org/ml/newlib/2009/msg00040.html).&lt;/p&gt;
&lt;p&gt;So i took an rather older newlib ( newlib-1.14.0) and the compilation process was successfull (Ubuntu 7.10)...&lt;br /&gt;
But it lacks of the variants i expected to get. I nead -mbig-endian, -mcpu=arm7tdmi and Software&lt;br /&gt;
FP-Emulation. I found, that the -eabi-work seams to be in progress, but still lacks of the big-endian variant.&lt;/p&gt;
&lt;p&gt;I found at http://www.gnuarm.com/support.html#build (it dates from 2006) the hint, that in the script&lt;br /&gt;
&#039;t-arm-elf&#039; in the GCC-Tree most variants are commented out. This is true even in the most recent&lt;br /&gt;
GCC-Source-packages.&lt;/p&gt;
&lt;p&gt;I replaced that script and got the libraries i expected - but when i compile a project - it failed with the&lt;br /&gt;
statement that the libraries are compiled for FPU (the libraries in the folder&lt;br /&gt;
$PREFIX/arm-elf/lib/be/nofmult/ seamed to be compiled with wrong options).&lt;/p&gt;
&lt;p&gt;Because the offered binaries at http://www.gnuarm.com/support.html are compiled for 64-Bit Linux,&lt;br /&gt;
i had to recompile the source (and still to replace t-arm-elf). I took the versions of binutils, gcc and , newlib which are&lt;br /&gt;
linked there and  i got all the variants i expected.&lt;/p&gt;
&lt;p&gt;I did it the way they mentioned (the first run for gcc with --with-headers=../../newlib-1.14.0/newlib/libc/include).&lt;/p&gt;
&lt;p&gt;After the first GCC-compilation  the test &#039;arm-elf-gcc --print-multi-lib&#039; shows all variants wich will&lt;br /&gt;
be produced  by the newlib-compilation (newlib checks that this way).&lt;/p&gt;
&lt;p&gt;I know, thats not the solution for those which nead -meabi and the optimized string-functions, but for me&lt;br /&gt;
it works and i hope that this is usefull for others.&lt;/p&gt;
</description>
 <pubDate>Sat, 30 Jan 2010 12:24:05 +0100</pubDate>
 <dc:creator>Harald.Baumgart</dc:creator>
 <guid isPermaLink="false">comment 79554 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>Solution</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-79320</link>
 <description>&lt;p&gt;Ok, look you are using Ubuntu 9.10 and you have to write that:&lt;/p&gt;
&lt;p&gt;#export PATH=$PATH:/home/alejandro/bin/arm-elf/bin&lt;/p&gt;
&lt;p&gt;#cd binutils-2.17.90&lt;br /&gt;
#./configure --target=arm-elf --prefix=/home/alejandro/bin/arm-elf  --enable-interwork --enable-multilib --with-float=soft --disable-werror&lt;br /&gt;
#make all install&lt;br /&gt;
#cd..&lt;/p&gt;
&lt;p&gt;ever you write --disable-werror when configure arm-toolchain Ok&lt;br /&gt;
tell me then what happen&lt;/p&gt;
&lt;p&gt;alejandro is my name ok /home/my-name/ in your case /home/your-name/ in prefix&lt;/p&gt;
</description>
 <pubDate>Mon, 04 Jan 2010 01:48:42 +0100</pubDate>
 <dc:creator>galopezi</dc:creator>
 <guid isPermaLink="false">comment 79320 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>Newlib-1.180.0</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-79316</link>
 <description>&lt;p&gt;Hi Uwe&lt;/p&gt;
&lt;p&gt;I am installing ARM toolchain, and this moment I installed binutils-2.20.51 and gcc-4.3.3 and whit newlib I configure it: &lt;/p&gt;
&lt;p&gt;./configure --target=arm-elf --prefix=/home/alejandro/bin/arm-elf --enable-interwork --enable-multilib --with-float=soft --disable-werror&lt;/p&gt;
&lt;p&gt; but when I install something happens and will not let me and shows me this error:&lt;/p&gt;
&lt;p&gt;./make -j 2&lt;/p&gt;
&lt;p&gt;/tmp/ccRfX9Qs.s: Assembler messages:&lt;br /&gt;
/tmp/ccRfX9Qs.s:173: Error: selected processor does not support `ldrh w2,[wp2]&#039;&lt;br /&gt;
make[9]: *** [lib_a-strcmp.o] Error 1&lt;br /&gt;
make[9]: *** Se espera a que terminen otras tareas....&lt;br /&gt;
/tmp/ccXSKexr.s: Assembler messages:&lt;br /&gt;
/tmp/ccXSKexr.s:87: Error: selected processor does not support `ldrh r2,[r1],#2&#039;&lt;br /&gt;
/tmp/ccXSKexr.s:90: Error: selected processor does not support `strneh r2,[ip],#2&#039;&lt;br /&gt;
make[9]: *** [lib_a-strcpy.o] Error 1&lt;br /&gt;
make[9]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0/arm-elf/nofmult/newlib/libc/machine/arm&#039;&lt;br /&gt;
make[8]: *** [all-recursive] Error 1&lt;br /&gt;
make[8]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0/arm-elf/nofmult/newlib/libc/machine&#039;&lt;br /&gt;
make[7]: *** [all-recursive] Error 1&lt;br /&gt;
make[7]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0/arm-elf/nofmult/newlib/libc&#039;&lt;br /&gt;
make[6]: *** [all-recursive] Error 1&lt;br /&gt;
make[6]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0/arm-elf/nofmult/newlib&#039;&lt;br /&gt;
make[5]: *** [all] Error 2&lt;br /&gt;
make[5]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0/arm-elf/nofmult/newlib&#039;&lt;br /&gt;
make[4]: *** [multi-do] Error 1&lt;br /&gt;
make[4]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0/arm-elf/newlib&#039;&lt;br /&gt;
make[3]: *** [all-multi] Error 2&lt;br /&gt;
make[3]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0/arm-elf/newlib&#039;&lt;br /&gt;
make[2]: *** [all] Error 2&lt;br /&gt;
make[2]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0/arm-elf/newlib&#039;&lt;br /&gt;
make[1]: *** [all-target-newlib] Error 2&lt;br /&gt;
make[1]: se sale del directorio `/home/alejandro/gnu_arm_toolchain/newlib-1.18.0&#039;&lt;br /&gt;
make: *** [all] Error 2&lt;/p&gt;
&lt;p&gt;please, what do I must do to fix this?&lt;br /&gt;
thanks for help me&lt;/p&gt;
</description>
 <pubDate>Sun, 03 Jan 2010 02:31:45 +0100</pubDate>
 <dc:creator>galopezi</dc:creator>
 <guid isPermaLink="false">comment 79316 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>don&#039;t compiler binutils and gcc ¿Why?</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-79286</link>
 <description>&lt;p&gt;I&#039;m making the same that you say in your scrip but don&#039;t compiler and genera a Error mensage I have Ubuntu 9.10&lt;/p&gt;
&lt;p&gt;./configure --target=arm-elf --prefix=/home/alejandro/bin/arm-elf --enable-interwork --enable-multilib --with-gnu-as --with-gnu-ld --disable-nls&lt;/p&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;p&gt;elf32-arm.c:2524: error: ignoring return value of &#039;asprintf&#039;, declared with attribute warn_unused_result&lt;br /&gt;
elf32-arm.c: In function &#039;find_arm_glue&#039;:&lt;br /&gt;
elf32-arm.c:2557: error: ignoring return value of &#039;asprintf&#039;, declared with attribute warn_unused_result&lt;br /&gt;
make[4]: *** [elf32-arm.lo] Error 1&lt;br /&gt;
make[4]: se sale del directorio `/home/alejandro/ARM/binutils-2.17.90/bfd&#039;&lt;br /&gt;
make[3]: *** [all-recursive] Error 1&lt;br /&gt;
make[3]: se sale del directorio `/home/alejandro/ARM/binutils-2.17.90/bfd&#039;&lt;br /&gt;
make[2]: *** [all] Error 2&lt;br /&gt;
make[2]: se sale del directorio `/home/alejandro/ARM/binutils-2.17.90/bfd&#039;&lt;br /&gt;
make[1]: *** [all-bfd] Error 2&lt;br /&gt;
make[1]: se sale del directorio `/home/alejandro/ARM/binutils-2.17.90&#039;&lt;br /&gt;
make: *** [all] Error 2&lt;/p&gt;
&lt;p&gt;what is my error??&lt;/p&gt;
</description>
 <pubDate>Tue, 29 Dec 2009 21:40:42 +0100</pubDate>
 <dc:creator>Giovanny</dc:creator>
 <guid isPermaLink="false">comment 79286 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>Compilation problem in toolchain use</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-78949</link>
 <description>&lt;p&gt;I built the toolchain on Mandriva 2009 for arm-none-eabi targets.  When using the toolchain, I see an error indicating &quot;recognized option `-meabi=4&#039; &quot;.  On further research, it appears that new arm-none-eabi-gcc is calling the &quot;stock&quot; assember. I notice that other toolchains (such as sourcery) generate an arm-none-eabi-gcc and arm-none-eabi-as.  Have I missed something? Any suggestions? Thanks&lt;/p&gt;
</description>
 <pubDate>Tue, 10 Nov 2009 17:05:26 +0100</pubDate>
 <dc:creator>Brett</dc:creator>
 <guid isPermaLink="false">comment 78949 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>it doesn&#039;t work</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-78942</link>
 <description>&lt;p&gt;it doesn&#039;t work&lt;/p&gt;
</description>
 <pubDate>Mon, 09 Nov 2009 22:52:04 +0100</pubDate>
 <dc:creator>Anonymous</dc:creator>
 <guid isPermaLink="false">comment 78942 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>THANKS!</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-78537</link>
 <description>&lt;p&gt;That makes perfect sense.  I&#039;ve been working on that all day and tried everything.  Little did I know that&#039;s what that meant.  &lt;/p&gt;
&lt;p&gt;Everything works like a charm now. Thanks again!&lt;/p&gt;
</description>
 <pubDate>Fri, 09 Oct 2009 00:31:04 +0200</pubDate>
 <dc:creator>Jason</dc:creator>
 <guid isPermaLink="false">comment 78537 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>gas not compiling</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-78488</link>
 <description>&lt;p&gt;Hi,&lt;br /&gt;
First, thanks for a great script. It has helped a lot.&lt;/p&gt;
&lt;p&gt;I am getting the same error compiling using Ubuntu 9.04&lt;br /&gt;
I have ensured that libncurses5-dev is installed and that --disable-werror is included for the $GDB build.&lt;br /&gt;
I followed the http://www.mail-archive.com/bug-binutils@gnu.org/msg06475.html&lt;br /&gt;
 which indicates that it was applied to the sources for  binutils.&lt;/p&gt;
&lt;p&gt;But I still get the error. I am getting the right sources?&lt;br /&gt;
Should I specify --disable-werror for all under Ubuntu?&lt;/p&gt;
&lt;p&gt;Here is where it fails:&lt;/p&gt;
&lt;p&gt;gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.19.1/gas -I. -I. -I../../binutils-2.19.1/gas -I../bfd -I../../binutils-2.19.1/gas/config -I../../binutils-2.19.1/gas/../include -I../../binutils-2.19.1/gas/.. -I../../binutils-2.19.1/gas/../bfd -DLOCALEDIR=&quot;\&quot;/tmp/arm-cortex-toolchain/share/locale\&quot;&quot;   -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -c ../../binutils-2.19.1/gas/config/tc-arm.c&lt;br /&gt;
cc1: warnings being treated as errors&lt;br /&gt;
../../binutils-2.19.1/gas/config/tc-arm.c: In function ‘s_arm_unwind_save_mmxwr’:&lt;br /&gt;
../../binutils-2.19.1/gas/config/tc-arm.c:3459: error: format not a string literal and no format arguments&lt;br /&gt;
../../binutils-2.19.1/gas/config/tc-arm.c:3473: error: format not a string literal and no format arguments&lt;br /&gt;
../../binutils-2.19.1/gas/config/tc-arm.c: In function ‘s_arm_unwind_save_mmxwcg’:&lt;br /&gt;
../../binutils-2.19.1/gas/config/tc-arm.c:3591: error: format not a string literal and no format arguments&lt;br /&gt;
../../binutils-2.19.1/gas/config/tc-arm.c:3606: error: format not a string literal and no format arguments&lt;br /&gt;
../../binutils-2.19.1/gas/config/tc-arm.c: In function ‘s_arm_unwind_movsp’:&lt;br /&gt;
../../binutils-2.19.1/gas/config/tc-arm.c:3712: error: format not a string literal and no format arguments&lt;br /&gt;
make[3]: *** [tc-arm.o] Error 1&lt;br /&gt;
make[3]: Leaving directory `/home/john/workspace/te/build/gas&#039;&lt;/p&gt;
</description>
 <pubDate>Wed, 30 Sep 2009 04:16:57 +0200</pubDate>
 <dc:creator>John</dc:creator>
 <guid isPermaLink="false">comment 78488 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>Ubuntu 9.04 32bit compilation</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-78270</link>
 <description>&lt;p&gt;To successfully compile under Ubuntu 9.04 i386:&lt;br /&gt;
- install libncurses5-dev&lt;br /&gt;
- use --disable-werror, at least for gdb&lt;/p&gt;
</description>
 <pubDate>Mon, 07 Sep 2009 09:14:25 +0200</pubDate>
 <dc:creator>Christoph</dc:creator>
 <guid isPermaLink="false">comment 78270 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>the toolchain cannot be created</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-77205</link>
 <description>&lt;p&gt;Hi Uwe,&lt;br /&gt;
Please can you help me?&lt;br /&gt;
I&#039;ve tried your script, but I&#039;ve got some errors at making GDB. I&#039;ve got something like:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../../gdb-6.8/bfd -I. -I. -I../../gdb-6.8/bfd -I../../gdb-6.8/bfd/../include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -c ../../gdb-6.8/bfd/elf32-arm.c -o elf32-arm.o&lt;br /&gt;
cc1: warnings being treated as errors&lt;br /&gt;
In file included from ../../gdb-6.8/bfd/elf32-arm.c:10432:&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and then a lot of errors:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
./elf32-target.h:683: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:686: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:688: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:691: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:692: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:694: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:695: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:696: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:700: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:702: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:703: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:704: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:706: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:707: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:708: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:709: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:712: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:713: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:714: error: initialization makes pointer from integer without a cast&lt;br /&gt;
./elf32-target.h:716: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:717: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:718: error: large integer implicitly truncated to unsigned type&lt;br /&gt;
./elf32-target.h:731: error: large integer implicitly truncated to unsigned type&lt;br /&gt;
./elf32-target.h:736: error: excess elements in struct initializer&lt;br /&gt;
./elf32-target.h:736: error: (near initialization for &#039;elf32_bed&#039;)&lt;br /&gt;
./elf32-target.h:738: error: excess elements in struct initializer&lt;br /&gt;
./elf32-target.h:738: error: (near initialization for &#039;elf32_bed&#039;)&lt;br /&gt;
In file included from ../../gdb-6.8/bfd/elf32-arm.c:10497:&lt;br /&gt;
./elf32-target.h:683: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:686: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:688: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:691: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:692: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:694: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:695: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:696: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:700: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:702: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:703: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:704: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:706: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:707: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:708: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:709: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:712: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:713: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:714: error: initialization makes pointer from integer without a cast&lt;br /&gt;
./elf32-target.h:716: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:717: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:718: error: large integer implicitly truncated to unsigned type&lt;br /&gt;
./elf32-target.h:731: error: large integer implicitly truncated to unsigned type&lt;br /&gt;
./elf32-target.h:736: error: excess elements in struct initializer&lt;br /&gt;
./elf32-target.h:736: error: (near initialization for &#039;elf32_arm_vxworks_bed&#039;)&lt;br /&gt;
./elf32-target.h:738: error: excess elements in struct initializer&lt;br /&gt;
./elf32-target.h:738: error: (near initialization for &#039;elf32_arm_vxworks_bed&#039;)&lt;br /&gt;
In file included from ../../gdb-6.8/bfd/elf32-arm.c:10649:&lt;br /&gt;
./elf32-target.h:683: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:686: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:688: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:691: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:692: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:694: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:695: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:696: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:700: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:702: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:703: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:704: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:706: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:707: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:708: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:709: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:712: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:713: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:716: error: initialization from incompatible pointer type&lt;br /&gt;
./elf32-target.h:717: error: initialization makes integer from pointer without a cast&lt;br /&gt;
./elf32-target.h:718: error: large integer implicitly truncated to unsigned type&lt;br /&gt;
./elf32-target.h:731: error: large integer implicitly truncated to unsigned type&lt;br /&gt;
./elf32-target.h:736: error: excess elements in struct initializer&lt;br /&gt;
./elf32-target.h:736: error: (near initialization for &#039;elf32_arm_symbian_bed&#039;)&lt;br /&gt;
./elf32-target.h:738: error: excess elements in struct initializer&lt;br /&gt;
./elf32-target.h:738: error: (near initialization for &#039;elf32_arm_symbian_bed&#039;)&lt;br /&gt;
make[3]: *** [elf32-arm.lo] Error 1&lt;br /&gt;
make[3]: Leaving directory `/home/fabrice/build/bfd&#039;&lt;br /&gt;
make[2]: *** [install-recursive] Error 1&lt;br /&gt;
make[2]: Leaving directory `/home/fabrice/build/bfd&#039;&lt;br /&gt;
make[1]: *** [install-bfd] Error 2&lt;br /&gt;
make[1]: Leaving directory `/home/fabrice/build&#039;&lt;br /&gt;
make: *** [install] Error 2&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;How can I fix it?&lt;/p&gt;
</description>
 <pubDate>Wed, 08 Jul 2009 12:08:50 +0200</pubDate>
 <dc:creator>Fabrice</dc:creator>
 <guid isPermaLink="false">comment 77205 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>Lack of prebuild ARM packages for Debian</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-77152</link>
 <description>&lt;p&gt;Hi Uwe,&lt;/p&gt;
&lt;p&gt;I totally agree with you that it is a shame that there is no prebuild ARM cross-development packages for debian. Ordinary embedded software developer usually is not fluent in configuration and building compilers. I managed to build it myself, but the struggle with correct dependencies was horrible. I hope someone will add that kind of software package to Debian distribution soon.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;
Adam&lt;/p&gt;
</description>
 <pubDate>Wed, 01 Jul 2009 20:47:27 +0200</pubDate>
 <dc:creator>Adam Turowski</dc:creator>
 <guid isPermaLink="false">comment 77152 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>Check your $PATH</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-76149</link>
 <description>&lt;p&gt;I had the same problem, it turns out, I had &quot;::&quot; in my PATH  (for example  echo $PATH    /usr/local/bin::/usr/bin:/bin). Which is the same as having a &quot;.&quot; in your PATH. This breaks GCC compilation at some point, because it tries to run &quot;as&quot; in a directory where it just compiled the assembler for the embedded system.  So just check that your PATH is clean, for example by running &quot;export PATH=/usr/local/bin:/usr/bin:/bin&quot;  before running Uwe&#039;s script.&lt;/p&gt;
</description>
 <pubDate>Sun, 10 May 2009 12:58:40 +0200</pubDate>
 <dc:creator>Alexis Maldonado</dc:creator>
 <guid isPermaLink="false">comment 76149 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>Script for glibc</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-76004</link>
 <description>&lt;p&gt;Hi Uwe,&lt;/p&gt;
&lt;p&gt;I need to build a version with glibc 2.9 instead of newlib. Do you think that just replacing the NEWLIB environment and tar location will do, or this is totally different.&lt;/p&gt;
&lt;p&gt;How do I change the script to creats also libraries and libc header files? &lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;
Avi.&lt;/p&gt;
</description>
 <pubDate>Thu, 30 Apr 2009 20:19:03 +0200</pubDate>
 <dc:creator>Avi</dc:creator>
 <guid isPermaLink="false">comment 76004 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>It kind of worked - I can</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comment-75474</link>
 <description>&lt;p&gt;It kind of worked - I can now link against libgcc.a.  On the other  hand, it appears to have compiled the floating point functions as ARM functions, with interworking, which probably won&#039;t work so well on a cortex-m3.&lt;/p&gt;
</description>
 <pubDate>Mon, 30 Mar 2009 22:53:16 +0200</pubDate>
 <dc:creator>Jason</dc:creator>
 <guid isPermaLink="false">comment 75474 at http://www.hermann-uwe.de</guid>
</item>
<item>
 <title>Building an ARM cross-toolchain with binutils, gcc, newlib, and gdb from source</title>
 <link>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source</link>
 <description>&lt;p&gt;I&#039;ve been planning to write about building custom ARM toolchains for a while (I used stuff from &lt;a href=&quot;http://gnuarm.com/&quot;&gt;gnuarm.com&lt;/a&gt; in the past, but I switched to the lastest and greatest upstream versions at some point). Among other things, recent upstream versions now have  &lt;a href=&quot;http://en.wikipedia.org/wiki/ARM_architecture&quot;&gt;ARM Cortex&lt;/a&gt; support.&lt;/p&gt;
&lt;p&gt;First you will need a few base utilities and libs:&lt;/p&gt;
&lt;pre&gt;
  $ &lt;strong&gt;apt-get install flex bison libgmp3-dev libmpfr-dev autoconf texinfo build-essential&lt;/strong&gt;
&lt;/pre&gt;&lt;p&gt;
Then you can use my tiny &lt;a href=&quot;http://hermann-uwe.de/files/build-arm-toolchain&quot;&gt;build-arm-toolchain&lt;/a&gt; script, which will download, build, and install the whole toolchain:&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;/p&gt;
&lt;pre&gt;
  $ &lt;strong&gt;cat build-arm-toolchain&lt;/strong&gt;
  #!/bin/sh
  # Written by Uwe Hermann &amp;lt;uwe@hermann-uwe.de&amp;gt;, released as public domain.

  TARGET=arm-elf                         # Or: TARGET=arm-none-eabi
  PREFIX=/tmp/arm-cortex-toolchain       # Install location of your final toolchain
  PARALLEL=&quot;-j 2&quot;                        # Or: PARALLEL=&quot;&quot;

  BINUTILS=binutils-2.19.1
  GCC=gcc-4.3.3
  NEWLIB=newlib-1.17.0
  GDB=gdb-6.8

  export PATH=&quot;$PATH:$PREFIX/bin&quot;

  mkdir build

  wget -c http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2
  tar xfvj $BINUTILS.tar.bz2
  cd build
  ../$BINUTILS/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib \
    --with-gnu-as --with-gnu-ld --disable-nls
  make $PARALLEL
  make install
  cd ..
  rm -rf build/* $BINUTILS $BINUTILS.tar.bz2

  wget -c ftp://ftp.gnu.org/gnu/gcc/$GCC/$GCC.tar.bz2
  tar xfvj $GCC.tar.bz2
  cd build
  ../$GCC/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib \
    --enable-languages=&quot;c&quot; --with-newlib --without-headers --disable-shared --with-gnu-as --with-gnu-ld
  make $PARALLEL all-gcc
  make install-gcc
  cd ..
  rm -rf build/* $GCC.tar.bz2

  wget -c ftp://sources.redhat.com/pub/newlib/$NEWLIB.tar.gz
  tar xfvz $NEWLIB.tar.gz
  cd build
  ../$NEWLIB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib \
    --with-gnu-as --with-gnu-ld --disable-nls
  make $PARALLEL
  make install
  cd ..
  rm -rf build/* $NEWLIB $NEWLIB.tar.gz

  # Yes, you need to build gcc again!
  cd build
  ../$GCC/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib \
    --enable-languages=&quot;c,c++&quot; --with-newlib --disable-shared --with-gnu-as --with-gnu-ld
  make $PARALLEL
  make install
  cd ..
  rm -rf build/* $GCC

  wget -c ftp://ftp.gnu.org/gnu/gdb/$GDB.tar.bz2
  tar xfvj $GDB.tar.bz2
  cd build
  ../$GDB/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib
  make $PARALLEL
  make install
  cd ..
  rm -rf build $GDB $GDB.tar.bz2
&lt;/pre&gt;&lt;p&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;The final toolchain is located in &lt;strong&gt;/tmp/arm-cortex-toolchain&lt;/strong&gt; per default, and is ca. 170 MB in size. I explicitly created the build script in such a way that it minimizes the amount of disk space used during the build (ca. 1.2 GB or so, compared to more than 3 GB in the &quot;naive&quot; approach).&lt;/p&gt;
&lt;p&gt;Using the &quot;&lt;strong&gt;-j 2&lt;/strong&gt;&quot; option for make (see script) you can speed up the build quite a bit on multi-core machines (ca. 30 minutes vs. 60 minutes on an AMD X2 dual-core box). Also, you can change the script to build for other target variants if you want to (&lt;strong&gt;arm-elf&lt;/strong&gt; or &lt;strong&gt;arm-none-eabi&lt;/strong&gt;, for example).&lt;/p&gt;
&lt;p&gt;Checkout the blog entry &lt;a href=&quot;http://www.esden.net/blog/2009/02/26/how-to-build-arm-gnu-gcc-toolchain-for-mac-os-x/&quot;&gt;How to build arm gnu gcc toolchain for Mac OS X &lt;/a&gt; by &lt;a href=&quot;http://www.esden.net&quot;&gt;Piotr Esden-Tempski&lt;/a&gt; for similar instructions for Mac OS X users.&lt;/p&gt;
&lt;p&gt;Oh, and while I&#039;m at it &amp;mdash; does anybody have any idea why there are no pre-built toolchains for embedded (microcontroller) ARM targets in Debian? There are &lt;em&gt;some&lt;/em&gt; toolchains for other microcontroller architectures (avr, m68hc1x, h8300, z80) but not too much other stuff. Is there some specific reason for the missing ARM toolchains (other than &quot;nobody cared enough yet&quot;)?&lt;/p&gt;
&lt;p&gt;I have heard about &lt;a href=&quot;http://emdebian.org/&quot;&gt;Emdebian&lt;/a&gt;, but from a quick look that seems to be more intended for toolchains with Linux/libc, not for microcontroller firmware (i.e. no MMU, no Linux,  no libc etc.), but maybe I&#039;m wrong?&lt;/p&gt;
</description>
 <comments>http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source#comments</comments>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/1809">amd64</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/2017">arm</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/2167">binutils</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/2171">build</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/361">cc</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/2168">cortex</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/49">debian</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/1814">gcc</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/2169">gdb</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/528">gnu</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/60">linux</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/37">mac</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/1849">macosx</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/2170">newlib</category>
 <category domain="http://www.hermann-uwe.de/taxonomy/term/2166">toolchain</category>
 <pubDate>Wed, 04 Mar 2009 17:13:18 +0100</pubDate>
 <dc:creator>Uwe Hermann</dc:creator>
 <guid isPermaLink="false">1460 at http://www.hermann-uwe.de</guid>
</item>
</channel>
</rss>
