Posted on:
Hello, i'm trying to build my own tool-chain for an arm7tdmi (interworking and nofmult). First, i downloaded the toolchain at http://embdev.net/articles/ARM_GCC_toolchain_for_L... , and everything was fine. Now, i built my owm toolchain and everything is right when i'm compiling in ARM mode, but i can't compile in interworking mode because i miss some files in the directories /interwork (libm.a). I just put the same flags as the before link, and i patched the t-arm-elf (gcc) with the next:
MULTILIB_OPTIONS += mhard-float/msoft-float MULTILIB_DIRNAMES += fpu soft MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* # MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork MULTILIB_DIRNAMES += normal interwork # MULTILIB_OPTIONS += mcpu=arm7 MULTILIB_DIRNAMES += nofmult MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7* |
processing the newlib1.17 i had the next errors too:
/bin/sh: line 4: arm-elf-ranlib: command not found /bin/sh: line 4: arm-elf-ranlib: command not found make[4]: *** [install-toollibLIBRARIES] Error 127 make[3]: *** [install-am] Error 2 make[2]: *** [install-recursive] Error 1 make[1]: *** [install-target-newlib] Error 2 make: *** [install] Error 2 |
At the moment i can "survive" working in ARM mode xD, but i want to compile in Thumb/interworking mode as i guess i will have better performance (actually i need it because i have loads of float operations in my code). By the way, i read the performance of the eabi is better for float operation. Actually i built a tool-chain with target=arm-none-eabi, and it compiles with inter-working without any problems, but i don't know if that code will run in a arm7tdmi (AT91SAM7S256). I will test it on Thursday. Thanks in advance.
Posted on:
Well, for gdb i have more errors:
cc1: warnings being treated as errors ../../gdb-6.8/gdb/eval.c: In function ‘evaluate_subexp_standard’: ../../gdb-6.8/gdb/eval.c:1705: error: ‘subscript_array’ may be used uninitialized in this function make[2]: *** [eval.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [all-gdb] Error 2 make: *** [all] Error 2 cc1: warnings being treated as errors ../../gdb-6.8/gdb/eval.c: In function ‘evaluate_subexp_standard’: ../../gdb-6.8/gdb/eval.c:1705: error: ‘subscript_array’ may be used uninitialized in this function make[2]: *** [eval.o] Error 1 make[1]: *** [install-gdb] Error 2 make: *** [install] Error 2 |
I have an "extense" log, let me know what it's importat to paste xD.
Posted on:
After this, i'll register myself for edit xD, sorry. I forgot to mention it, i'm using gcc (Debian 4.4.1-4), and the toolchain sources are: gcc-4.3.3 newlib 1.17.0 binutils 2.19.1 gdb 6.8
Posted on:
Hi, i did this myself recently. I'm not an expert, but what helped was http://wiki.ubuntuusers.de/GNU_ARM-Toolchain I succeeded that way for Ubuntu/64bit as well as under Windows/Cygwin. I used: # GCC 4.4.1 # Binutils 2.19 # Newlib 1.17 # GDB 6.8 # Insight 6.8-1
Posted on:
Solved, the newLib1.17.0 seems to be buggy for syscall+thumb, i applied this "patch" http://thread.gmane.org/gmane.comp.lib.newlib/5612... and everything works now. As i use an ARM7 it is not important this patch, i suppose if you want to use Thumb under ARM/Linux, you have to be careful.
Posted on:
Someone found the configure flag, will make without error http://www.groupsrv.com/linux/about163176.html