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]
- To: linux-mips@xxxxxxxxxxxxxxx, "Maciej W. Rozycki" <macro@xxxxxxxxxxx>, Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>, Serge Semin <fancer.lancer@xxxxxxxxx>
- Subject: soft and hard float n32 and n64 binaries getting illegal instructions on Cobalt Qube2
- From: Florian Fainelli <f.fainelli@xxxxxxxxx>
- Date: Fri, 4 Aug 2023 13:25:14 -0700
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0
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]