soft and hard float n32 and n64 binaries getting illegal instructions on Cobalt Qube2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

A number of programs built with the n32 or n64 ABI running on a MIPS64 are getting an illegal instruction, not right away, but typically when they send/receive across the opened sockets. Trying different kernel versions: 4.14, 5.4, 6.5-rc4 does not appear to materially change anything so it must be within the C library/toolchain somehow.

For instance, ping gets an illegal instruction right away with soft-float, but works in hard float. iperf gets an illegal instruction right away with soft float, but can exchange one chunk of data in hard float mode.

This however is not happening with udhcpc (busybox's DHCP client) which is also a network program.

This is seen with both musl-libc 1.2.4 and glibc 2.37.2, both use GCC 11.4.0. This is not seen

Unfortunately gdb also produces the same illegal instruction so I have not been able to get much debug so far, any hints or clues as to what could be wrong?

Thanks!

Buildroot configuration: https://gist.github.com/ffainelli/08baae86281aa4a6b4f71de8049ca27a

Kernel configuration: https://gist.github.com/ffainelli/83d16fe47b8daab00aa39f5d2bb1f2ca
--
Florian



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux