(Cc'ing to Edgar work's address)
On 30/9/25 12:24, Philippe Mathieu-Daudé wrote:
Hi Edgar,
(sorry for the delay)
On 24/8/25 22:18, Edgar E. Iglesias wrote:
Hi Phil,
While trying microblazeel-linux-user on the master branch I hit this:
$ qemu-microblazeel ctest
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
Bisect found this commit:
415aae543edad19eda8f66955dde386c7fd7c680 is the first bad commit
commit 415aae543edad19eda8f66955dde386c7fd7c680
Author: Philippe Mathieu-Daudé <[email protected]>
Date: Tue Sep 24 23:45:54 2024 +0200
target/microblaze: Consider endianness while translating code
Consider the CPU ENDI bit, swap instructions when the CPU
endianness doesn't match the binary one.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>
target/microblaze/cpu.h | 7 +++++++
target/microblaze/translate.c | 5 +++--
2 files changed, 10 insertions(+), 2 deletions(-)
bisect found first bad commit
It looks like we're getting the endianness wrong in this case.
This works:
qemu-microblazeel -cpu microblaze,little-endian=on ctest
Was this intended while moving towards single binary?
Yes!
If yes, I wonder if we also should change the default to little-endian.
Big-endian MB is discontinued from newer Microblaze versions.
I'd rather have to type -cpu microblaze,little-endian=off for big-endian.
I suspect it is just a matter of updating get_elf_cpu_model() in
linux-user/microblaze/elfload.c to not use 'any' CPU by default.
I wonder why our CI didn't bark, since we run:
$ make run-tcg-tests-microblaze-linux-user
Oh, now I see, the log is filled with:
SKIPPED gdbstub test $FOO on microblaze because need working gdb with
microblaze support
...
So we aren't testing microblaze user-mode...
$ ./qemu-microblaze tests/tcg/microblaze-linux-user/sha1
SHA1=70f1d4d65eb47309ffacc5a28ff285ad826006da
$ ./qemu-microblazeel tests/tcg/microblaze-linux-user/sha1
qemu-microblazeel: tests/tcg/microblaze-linux-user/sha1: Invalid ELF
image for this architecture
Do you mind sharing your ctest binary? (Also consider adding it
to tests/tcg/microblaze/).
Regards,
Phil.