Skip to contentSkip to conversation

Fix microblize little endian toolchain

PATCH New Jan Viktorin 3 participants 4 messages Mar 19, 2014 – Mar 20, 2014 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix microblize little endian toolchain

From: Jan Drazil <[email protected]>

Buildroot toolchain creates big endian binaries instead of little endian ones for microblaze architecture. The reason is wrong BR2_ARCH string. KERNEL_ARCH must contain microblaze in both cases.

---
 Makefile                  | 3 ++-
 arch/Config.in.microblaze | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
Makefile +2 -1
index 011af57..d49d7bf 100644
@@ -318,7 +318,8 @@ KERNEL_ARCH:=$(shell echo "$(ARCH)" | sed -e "s/-.*//" \
 	-e s/parisc64/parisc/ \
 	-e s/powerpc64/powerpc/ \
 	-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
-	-e s/sh.*/sh/)
+	-e s/sh.*/sh/ \
+	-e s/microblazeel/microblaze/)
 
 ZCAT:=$(call qstrip,$(BR2_ZCAT))
 BZCAT:=$(call qstrip,$(BR2_BZCAT))
arch/Config.in.microblaze +2 -1
index dbdd99a..2d4c1fe 100644
@@ -1,5 +1,6 @@
 config BR2_ARCH
-	default "microblaze"
+	default "microblazeel"  if BR2_microblazeel
+	default "microblaze"    if BR2_microblazebe
 
 config BR2_ENDIAN
 	default "LITTLE" if BR2_microblazeel
Signature · 1 line
1.9.0
#1 lore raw

PATCH 1/1 Fix microblize little endian toolchain

Quoted 8 lines · Jan Viktorin

From: Jan Drazil <[email protected]>

Buildroot toolchain creates big endian binaries instead of little endian ones for microblaze architecture. The reason is wrong BR2_ARCH string. KERNEL_ARCH must contain microblaze in both cases.

The qemu_microblazeel_mmu_defconfig now starts the kernel (before it was a big failure). Still not great since OOM killer strikes before the login prompt.
Regards.

#2 lore raw

PATCH 1/1 Fix microblize little endian toolchain

Quoted 11 lines · On Wed, 19 Mar 2014 10:02:07 -0300 Gustavo Zacarias <[email protected]>…
Quoted 8 lines · Jan Viktorin

From: Jan Drazil <[email protected]>

Buildroot toolchain creates big endian binaries instead of little endian ones for microblaze architecture. The reason is wrong BR2_ARCH string. KERNEL_ARCH must contain microblaze in both cases.

Quoted 8 lines

The qemu_microblazeel_mmu_defconfig now starts the kernel (before it was a big failure). Still not great since OOM killer strikes before the login prompt.
Regards.

Hello Gustavo,

thanks for the testing report.

It is possible to boot the system on Microblaze but it is impossible to login (getty shows prompt without hostname: "(none) login:" and it always fails). A similar behaviour was seen a while before with one of the Xilinx toolchains (14.3?).

We tried to hack into the system from an init script by starting a shell. This failed with Illegal instruction exception. Another strange thing happens while calling "ls -l /". It lists all the filesystem recursively (I suppose, this is wrong as well).

Do you have any idea how to debug it? (qemu + gdb?)

Regards
Jan Viktorin

#3 lore raw

PATCH 1/1 Fix microblize little endian toolchain

In reply to Jan Viktorin
Quoted 6 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Jan" == Jan Viktorin <[email protected]> writes:

From: Jan Drazil <[email protected]>
Buildroot toolchain creates big endian binaries instead of little endian ones for microblaze architecture. The reason is wrong BR2_ARCH string. KERNEL_ARCH must contain microblaze in both cases.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard