question about example/standalone/mips.lds
Hi all
in this file :" example/standalone/mips.lds "
it indicate compile example as BIG mips. but my device is LITTLE mips.
so I simply comment this line[1]. I found other boards compile fine. without any error.
do I must compile this example?
is that ok to comment this line?
or what I need to to ?
thanks.
[1]OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
Signature · 3 lines
Best Regards Xiangfu Liu http://www.openmobilefree.net
Dear =?UTF-8?B?IlhpYW5nZnUgTGl1KOWImOWQkeWvjCki?=,
Quoted 8 lines · In message <[email protected]> you wrote:
in this file :"
example/standalone/mips.lds"
it indicate compile example as BIG mips. but my device is LITTLE mips.
so I simply comment this line[1]. I found other boards compile fine. without any error.do I must compile this example?
is that ok to comment this line?
or what I need to to ?
All MIPS boards in mainline build fine without such a change - both the BE and the LE ones.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de I'm what passes for a Unix guru in my office. This is a frightening concept. - Lee Ann Goldstein, in <[email protected]>
Hi
which compiler in ELDK if for the mips_el system? I guess there are some different between ELDK cross compiler and OpenWrt cross compiler.
so I want try ELDK cross compiler with my board.
I found there are two mips_el boards[1] in MAKEALL. I want know how those two boards handle this example.
give me some advice. ( I am learning :)
by the way, here[2] is the error message with OpenWrt's cross compiler.
thanks for all your help.
---
[1]
dbau1550_el \ pb1000 \
make -C examples/standalone all
make[1]: Entering directory `/home/xiangfu/workspace/PanGu/u-boot.upstream/examples/standalone'
mipsel-openwrt-linux-ld -g -Ttext 0x80200000 -T mips.lds \ -o hello_world -e hello_world hello_world.o libstubs.a \ -L/home/xiangfu/workspace/PanGu/openwrt-xburst/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib/gcc/mipsel-openwrt-linux-uclibc/4.3.3 -lgcc
mipsel-openwrt-linux-ld: hello_world.o: compiled for a little endian system and target is big endian
mipsel-openwrt-linux-ld: hello_world.o: endianness incompatible with that of the selected emulation
mipsel-openwrt-linux-ld: failed to merge target specific data of file hello_world.o
mipsel-openwrt-linux-ld: libstubs.a(stubs.o): compiled for a little endian system and target is big endian
mipsel-openwrt-linux-ld: libstubs.a(stubs.o): endianness incompatible with that of the selected emulation
mipsel-openwrt-linux-ld: failed to merge target specific data of file libstubs.a(stubs.o) make[1]: *** [hello_world] Segmentation fault
make[1]: *** Deleting file `hello_world'
make[1]: Leaving directory `/home/xiangfu/workspace/PanGu/u-boot.upstream/examples/standalone'
make: *** [examples/standalone] Error 2
Quoted 17 lines · Wolfgang Denk
Quoted 8 lines · In message<[email protected]> you wrote:
in this file :"
example/standalone/mips.lds"
it indicate compile example as BIG mips. but my device is LITTLE mips.
so I simply comment this line[1]. I found other boards compile fine. without any error.do I must compile this example?
is that ok to comment this line?
or what I need to to ?All MIPS boards in mainline build fine without such a change - both the BE and the LE ones.
Best regards,
Wolfgang Denk
Signature · 3 lines
Best Regards Xiangfu Liu http://www.openmobilefree.net
Dear Xiangfu Liu,
Quoted 2 lines · In message <[email protected]> you wrote:
which compiler in ELDK if for the
mips_elsystem?
GCC, of course :-)
Quoted 3 lines
I guess there are some different between ELDK cross compiler and OpenWrt cross compiler.
so I want try ELDK cross compiler with my board.
You can download the installation image at ftp://ftp.denx.de/pub/eldk/4.1/mips-linux-x86/iso/mips-2007-01-21.iso
Quoted 2 lines
by the way, here[2] is the error message with OpenWrt's cross compiler.
...
Quoted 4 lines
mipsel-openwrt-linux-ld -g -Ttext 0x80200000 -T mips.lds \ -o hello_world -e hello_world hello_world.o libstubs.a \ -L/home/xiangfu/workspace/PanGu/openwrt-xburst/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib/gcc/mipsel-openwrt-linux-uclibc/4.3.3 -lgccmipsel-openwrt-linux-ld: hello_world.o: compiled for a little endian system and target is big endian
Well, the "el" in "mipsel-..." mean "Endianess Little".
You cannot use these tools to build code for a BE system.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Those who do not understand Unix are condemned to reinvent it, poorly. - Henry Spencer, University of Toronto Unix hack
Hi
sorry I misunderstand something. I download the ppc-2008-04-01.iso and run "./MAKEALL" without any argument. that why it compile 300+ boards. I should read MAKEALL more carefully.
now I am downloading "mips-2007-01-21.iso".
my board is mips EL system.
is that mean when I run "MAKEALL" I just need add mips_el?? like this one[1]
another question:
I found this in "MAKEALL":
LIST_au1xx0_el=" \
dbau1550_el \
pb1000 \"
it shows that those two boards are Endianess Little System but in board/pb1x00/u-boot.lds , board/dbau1x00/u-boot.lds line:27[2] show that those two boards are both BE system?
is there something wrong or I misunderstand something
thanks for all your reply.
[2]OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips")
[1]
CROSS_COMPILE=mipsel-openwrt-linux- BUILD_DIR=../u-boot-build MAKEALL_LOGDIR=../u-boot-log ./MAKEALL mips_el
Quoted 31 lines · Wolfgang Denk
Dear Xiangfu Liu,
Quoted 2 lines · In message<[email protected]> you wrote:
which compiler in ELDK if for the
mips_elsystem?GCC, of course :-)
Quoted 3 lines
I guess there are some different between ELDK cross compiler and OpenWrt cross compiler.
so I want try ELDK cross compiler with my board.You can download the installation image at ftp://ftp.denx.de/pub/eldk/4.1/mips-linux-x86/iso/mips-2007-01-21.iso
Quoted 2 lines
by the way, here[2] is the error message with OpenWrt's cross compiler.
...
Quoted 4 lines
mipsel-openwrt-linux-ld -g -Ttext 0x80200000 -T mips.lds \ -o hello_world -e hello_world hello_world.o libstubs.a \ -L/home/xiangfu/workspace/PanGu/openwrt-xburst/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib/gcc/mipsel-openwrt-linux-uclibc/4.3.3 -lgccmipsel-openwrt-linux-ld: hello_world.o: compiled for a little endian system and target is big endian
Well, the "el" in "mipsel-..." mean "Endianess Little".
You cannot use these tools to build code for a BE system.
Best regards,
Wolfgang Denk
Signature · 3 lines
Best Regards Xiangfu Liu http://www.openmobilefree.net
Quoted 18 lines · Wolfgang Denk
Dear Xiangfu Liu,
Quoted 2 lines · In message <[email protected]> you wrote:
which compiler in ELDK if for the
mips_elsystem?GCC, of course :-)
Quoted 3 lines
I guess there are some different between ELDK cross compiler and OpenWrt cross compiler.
so I want try ELDK cross compiler with my board.You can download the installation image at ftp://ftp.denx.de/pub/eldk/4.1/mips-linux-x86/iso/mips-2007-01-21.iso
Quoted 2 lines
by the way, here[2] is the error message with OpenWrt's cross compiler.
...
Quoted 9 lines
Quoted 4 lines
mipsel-openwrt-linux-ld -g -Ttext
0x80200000-Tmips.lds\
? ? ? ? ? ? ? ? ? ? ? -ohello_world-ehello_worldhello_world.o libstubs.a \
? ? ? ? ? ? ? ? ? ? ? -L/home/xiangfu/workspace/PanGu/openwrt-xburst/staging_dir/toolchain-mipsel_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/lib/gcc/mipsel-openwrt-linux-uclibc/4.3.3 -lgcc
mipsel-openwrt-linux-ld: hello_world.o: compiled for a little endian system and target is big endianWell, the "el" in "mipsel-..." mean "Endianess Little".
You cannot use these tools to build code for a BE system.
No matter the compiler, I believe the lines in the linker scripts are wrong (this is repeated all through the mips linker files in u-boot). OUTPUT_FORMAT for mips is supposed to tell the linker what bfd output format to generate given a link command of unspecifed(default), big, and little endian formats.
The lines in the linker script say for a little endian command line the output format is big endian, so I think the OP's toolchain did what is expected - it made a big endian object file.
http://sources.redhat.com/binutils/docs-2.12/ld.info/Format-Commands.html
Hi Andrew
thanks for the link. I think we should add $(ENDIANNESS) when link the hello_world.o.
I will send one patch in next email.
thanks again for the document.
Quoted 11 lines · Andrew Dyer
No matter the compiler, I believe the lines in the linker scripts are wrong (this is repeated all through the mips linker files in u-boot).
OUTPUT_FORMATfor mips is supposed to tell the linker what bfd output format to generate given a link command of unspecifed(default), big, and little endian formats.The lines in the linker script say for a little endian command line the output format is big endian, so I think the OP's toolchain did what is expected - it made a big endian object file.
http://sources.redhat.com/binutils/docs-2.12/ld.info/Format-Commands.html
Signature · 3 lines
Best Regards Xiangfu Liu http://www.openmobilefree.net