AW: [U-Boot-Users] MIPS, little endian, supported cross tool vers ions?

Hi Wolfgang,
you wrote:
mipsel-uclibc-gcc: unrecognized option `-EL'
It seems obvious that your tools and or compiler options are broken and/or misconfigured.
Where is this "-mips2 -EL" stuff coming from? You don't find this in U-Boot.
Sorry for skipping the first steps. I changed the prefix "mips_4KC-" into "mipsel-uclibc-" (./Makefile) leading to:
mipsel-uclibc-gcc -g -Os -D__KERNEL__ -DTEXT_BASE=0xB0000000 -I/opt/work/fw/b ootloader/u-boot-1.0.0.purple/include -fno-builtin -ffreestanding -nostdinc -isy stem /opt/toolchains/toolchain_mipsel/lib/gcc-lib/mipsel-linux/3.3.1/include -pi pe -DCONFIG_MIPS -D__MIPS__ -mcpu=4kc -EB -mabicalls -Wall -Wstrict-prototypes -c -o stubs.o stubs.c cc1: error: invalid option `cpu=4kc'
Afterwards I changed "-mcpu=4kc" into "-mips2" in cpu/mips/config.mk. "-EL" to replace "-EB" as I want a little-endian boot loader, but "-EL" is default anyway and ignored.
Obviously this is a tool problem first. I guess you will need to fix this anyway, or you will run into the same problems later when you want to compile your OS kernel and/or applications.
Doubt this, as I've already compiled a running 2.4.22 kernel. I've replaced "-mcpu=4kc" by "-march=4kc" (a better match I guess), applied Masami's patch of the linker control files and got:
mipsel-uclibc-gcc -Wa,-gstabs -D__ASSEMBLY__ -g -Os -D__KERNEL__ -DTEXT_BASE=0xB0000000 -I/opt/work/fw/bootloader/u-boot-1.0.0.work/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/toolchains/toolchain_mipsel/lib/gcc-lib/mipsel-linux/3.3.1/include -pipe -DCONFIG_MIPS -D__MIPS__ -march=4kc -mabicalls -c -o start.o /opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S /opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S: Assembler messages: /opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S:242: Error: Cannot branch to undefined symbol. /opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S:247: Error: Cannot branch to undefined symbol. /opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S:259: Error: Cannot branch to undefined symbol.
I guess gcc 3.3.1 doesn't like the option "-mcpu=" nor branch-and-link to undefined symbols anymore. AFAIK the toolchain Masami recommended is verson 2.96.x
I've replaced the three branches (bal) by jumps (jal) and moved the GOT initialization before them which let me successfully compile the boot loader. I'll now add the board-specific stuff (serial driver, flash, network).
Wonder if anyone out there has ever tried gcc 3.3.x for compiling a MIPS U-Boot (big or little-endian)?
/Jörg

In message 316F79677E35D411B196001083CFC2DA01A6D9D3@ganymed.bln.advaoptical.com you wrote:
Sorry for skipping the first steps. I changed the prefix "mips_4KC-" into "mipsel-uclibc-" (./Makefile) leading to:
...
Afterwards I changed "-mcpu=4kc" into "-mips2" in cpu/mips/config.mk. "-EL" to replace "-EB" as I want a little-endian boot loader, but "-EL" is default anyway and ignored.
So you changed the compile options [which work fine with other tool-chains), and now they don't work with your tools.
Obviously this is a tool problem first. I guess you will need to fix this anyway, or you will run into the same problems later when you want to compile your OS kernel and/or applications.
Doubt this, as I've already compiled a running 2.4.22 kernel.
From what you posted it seems to me that there is some consistency
problem with your tools and options.
/opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S: Assembler messages: /opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S:242: Error: Cannot branch to undefined symbol. /opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S:247: Error: Cannot branch to undefined symbol. /opt/work/fw/bootloader/u-boot-1.0.0.work/cpu/mips/start.S:259: Error: Cannot branch to undefined symbol.
I guess gcc 3.3.1 doesn't like the option "-mcpu=" nor branch-and-link to undefined symbols anymore. AFAIK the toolchain Masami recommended is verson 2.96.x
there should be no undefined symbols in the start.S file in the first place; at least there are none for the boards and tools we use for testing.
Wonder if anyone out there has ever tried gcc 3.3.x for compiling a MIPS U-Boot (big or little-endian)?
We (DENX) didn't.
Best regards,
Wolfgang Denk
participants (2)
-
Jörg Albert
-
Wolfgang Denk