Hi,
Don't compile the kernel with -r option . The kernel should
be compiled with a cross compiler as usual,
Then compile your application with the same cross compiler
,which generates an elf binary executable .
But uClinux executes only flat binaries ,so you should
create a flat binary from your elf binary (produced above).
For that you need an elf2flt tool ,But the elf2flt tool
requires some relocation information from your elf binary,
Therefore you should compile only application not the kernel
with a -r option so that the elf binary of your application will
Consist of some relocation info for the elf2flt tool to
convert it into a flat binary.
Regards,
Kalyan
________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Roger Feltrin
Escanhola
Sent: Friday, April 06, 2007 12:58 AM
To: 'uClinux development list'
Subject: RES: [uClinux-dev] elf2flt
Hi Kalyan,
Thanks for advice, but it didn't work. I tried to compile a new kernel
image using "make - r", but the image was not created, an error occurred
during the compilation.
I am coping the end of the error message below:
In file included from ctype.c:34:
../../../include/stdlib.h:494: warning: '__malloc__' attribute ignored
m68k-elf-strip -x -R .note -R .comment .o
m68k-elf-gcc -Wall -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -Os -funit-at-a-time -m5307 -DCONFIG_COLDFIRE -O2
-g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED
-msep-data -fno-stack-protector -fno-builtin -nostdinc -D_LIBC
-I../../../include -I. -isystem
/usr/local/lib/gcc/m68k-uclinux/4.1.1/include -DNDEBUG -DL_ ctype.c -c
-o .o
In file included from ctype.c:34:
../../../include/stdlib.h:494: warning: '__malloc__' attribute ignored
m68k-elf-strip -x -R .note -R .comment .o
m68k-elf-gcc -Wall -Wstrict-prototypes -Wno-trigraphs
-fno-strict-aliasing -Os -funit-at-a-time -m5307 -DCONFIG_COLDFIRE -O2
-g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED
-msep-data -fno-stack-protector -fno-builtin -nostdinc -D_LIBC
-I../../../include -I. -isystem
/usr/local/lib/gcc/m68k-uclinux/4.1.1/include -DNDEBUG -DL_ ctype.c -c
-o .o
In file included from ctype.c:34:
../../../include/stdlib.h:494: warning: '__malloc__' attribute ignored
m68k-elf-strip -x -R .note -R .comment .o
m68k-elf-ar r ../../../libc/libc.a isalnum.o isalpha.o isascii.o
iscntrl.o isdigit.o isgraph.o islower.o isprint.o ispunct.o isspace.o
isupper.o isxdigit.o toascii.o tolower.o toupper.o isblank.o isxlower.o
isxupper.o __C_ctype_b.o __C_ctype_tolower.o __C_ctype_toupper.o
__ctype_b_loc.o __ctype_tolower_loc.o __ctype_toupper_loc.o
__ctype_assert.o isctype.o
m68k-elf-ar: isalnum.o: No such file or directory
make[6]: *** [ar-target] Error 1
make[6]: Leaving directory
`/home/roger/uClinux-dist/uClibc/libc/misc/ctype'
make[5]: *** [_dir_ctype] Error 2
make[5]: Leaving directory `/home/roger/uClinux-dist/uClibc/libc/misc'
make[4]: *** [_dir_misc] Error 2
make[4]: Leaving directory `/home/roger/uClinux-dist/uClibc/libc'
make[3]: ** [_dir_libc] Erro 2
make[3]: Leaving directory `/home/roger/uClinux-dist/uClibc'
make[2]: ** [uClibc] Erro 2
make[2]: Leaving directory `/home/roger/uClinux-dist/lib'
make[1]: ** [all] Erro 2
make[1]: Leaving directory `/home/roger/uClinux-dist/lib'
make: ** [subdirs] Erro 1
Any suggestion to fix this?
Regards
<http://www.v2telecom.com.br>
Roger Feltrin Escanhola
55 11 3094.3939
-----Mensagem original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Em nome de Kalyan Tej
Enviada em: quinta-feira, 5 de abril de 2007 01:07
Para: uClinux development list
Assunto: RE: [uClinux-dev] elf2flt
Hi,
I don't know about the tools you r using but generally the error :
"Input file contains no relocation info " can be eliminated by compling
the application with a " - r " option. And then use the elf2flt tool,
To convert the elf into a flat binary.
Regards,
Kalyan
________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Roger Feltrin
Escanhola
Sent: Thursday, April 05, 2007 4:18 AM
To: [email protected]
Subject: [uClinux-dev] elf2flt
I am new in this forum, I've had some troubles to run a application in
uClinux. My target is a Coldfire microprocessor Kit Freescale
(M5208EVB). I used Codewarrior to make a simple C program, but
Codewarrior doesn't generate a binary flat file, so I can't run it on
uClinux. Instead it makes an elf file when I compile it, so what I
trying to do is to converter the elf file to flat file.
Does any one know how to converter an elf file to a flat file?
I have m68k-uclinux-tools-20060615.sh installed in my host (Fedora Core
5), I tried to converter an elf file using the following command:
m68k-uclinux-elf2flt -o image_out image.elf
But it doesn't work and I receive the message "image.elf: Input file
contains no relocation info"
What am I doing wrong in this command?
PS: image.elf is a file created when I run the "make menuconfig" of a
new kernel.
Roger
<http://www.v2telecom.com.br>
Roger Feltrin Escanhola
55 11 3094.3939
image001.gif
Description: image001.gif
_______________________________________________ uClinux-dev mailing list [email protected] http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by [email protected] To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev
