Hi all, <br><br>I followed the CLFS embedded development (Version SVN-0.0.1-20090726-arm) to make a file system for board SAM9-L9260 (refer <a href="http://www.olimex.com">www.olimex.com</a>) <br>The board has ARM926EJ-STM ARMŪ ThumbŪ Processor.<br>
When i execute the cross compiled binaries in the board I am getting an error. <br>I tried to run a hello world program. when I give the command ./hello , I am getting<br><br>-bash: ./hello: No such file or directory<br>
<br>
The file is within the directory. Is there anything wrong with the building of my toolchain?<br>My configurations are <br>1. BUILD=-mabi=apcs-gnu <br>I tried once with BUILD=-mabi=aapcs-linux, but I am getting the same error.<br>
2. CLFS_TARGET=arm-unknown-linux-uclibc<br><br>While compiling I faced some errors. Please see the errors and the workarounds I followed. <br>1 . Cross binutils<br><b>ERROR:</b><br>make[4]: *** [tc-arm.o] Error 1<br>make[4]: Leaving directory `/mnt/clfs/sources/binutils-build/gas'<br>
make[3]: *** [all-recursive] Error 1<br>make[3]: Leaving directory `/mnt/clfs/sources/binutils-build/gas'<br>make[2]: *** [all] Error 2<br>make[2]: Leaving directory `/mnt/clfs/sources/binutils-build/gas'<br>make[1]: *** [all-gas] Error 2<br>
make[1]: Leaving directory `/mnt/clfs/sources/binutils-build'<br>make: *** [all] Error 2<br><br><b>Workaround</b>: I used the below patch<br>===================================================================<br>RCS file: /cvs/src/src/gas/config/tc-arm.c,v<br>
retrieving revision 1.361<br>retrieving revision 1.361.2.1<br>diff -u -r1.361 -r1.361.2.1<br>--- src/gas/config/tc-arm.c 2008/08/12 23:39:30 1.361<br>+++ src/gas/config/tc-arm.c 2009/04/01 15:47:37 1.361.2.1<br>
@@ -3456,7 +3456,7 @@<br> <br> if (reg == FAIL)<br> {<br>- as_bad (_(reg_expected_msgs[REG_TYPE_MMXWR]));<br>+ as_bad ("%s", _(reg_expected_msgs[REG_TYPE_MMXWR]));<br> goto error;<br> }<br>
<br>@@ -3470,7 +3470,7 @@<br> hi_reg = arm_reg_parse (&input_line_pointer, REG_TYPE_MMXWR);<br> if (hi_reg == FAIL)<br> {<br>- as_bad (_(reg_expected_msgs[REG_TYPE_MMXWR]));<br>+ as_bad ("%s", _(reg_expected_msgs[REG_TYPE_MMXWR]));<br>
goto error;<br> }<br> else if (reg >= hi_reg)<br>@@ -3588,7 +3588,7 @@<br> <br> if (reg == FAIL)<br> {<br>- as_bad (_(reg_expected_msgs[REG_TYPE_MMXWCG]));<br>+ as_bad ("%s", _(reg_expected_msgs[REG_TYPE_MMXWCG]));<br>
goto error;<br> }<br> <br>@@ -3603,7 +3603,7 @@<br> hi_reg = arm_reg_parse (&input_line_pointer, REG_TYPE_MMXWCG);<br> if (hi_reg == FAIL)<br> {<br>- as_bad (_(reg_expected_msgs[REG_TYPE_MMXWCG]));<br>
+ as_bad ("%s", _(reg_expected_msgs[REG_TYPE_MMXWCG]));<br> goto error;<br> }<br> else if (reg >= hi_reg)<br>@@ -3709,7 +3709,7 @@<br> reg = arm_reg_parse (&input_line_pointer, REG_TYPE_RN);<br>
if (reg == FAIL)<br> {<br>- as_bad (_(reg_expected_msgs[REG_TYPE_RN]));<br>+ as_bad ("%s", _(reg_expected_msgs[REG_TYPE_RN]));<br> ignore_rest_of_line ();<br> return;<br> }<br><br>
<b>2. uClibc</b><br><b>ERROR:</b><br>MKDIR include/config<br>../../Rules.mak:541: *** Your binutils don't support --hash-style option, while you want to use it. Stop.<br>make: *** [extra/config/conf] Error 2<br><br>
<b>workaround</b>: in .config file I disabled the hash support<br>
<br>while making i got the error<br><b>ERROR:</b><br>extra/scripts/unifdef.c:209: error: conflicting types for 'getline'<br>/usr/include/stdio.h:651: note: previous declaration of 'getline' was here<br>make: *** [extra/scripts/unifdef] Error 1<br>
<br><b>Workaround:</b> I changed the "getline" in the file unidef.c to "parseline" <br><br>I compiled a c program using the cross gcc that is inside the /cross-tools/bin/arm-unknown-linux-uclibc-gcc <br>
<br>What am I missing?<br><br>-- <br>Regards<br>neo<br>