https://www.uclibc.org/docs/psABI-i386.pdf (page 14)
Yep, sounds quite likely.
What is the reason for;
1) return floats in eax/edx instead as a struct?
My guess: passing these values in registers helps
reduce memory traffic.
I don't think so, since the values must be stored into memory anyway to
get them into the floating point registers.
Floating point stack?
Taking a step back. At the time, some UNIX (like) systems required a
'387 to just boot, but some did not. Off the top of my head SCO
(SVR3?) did, but MINIX did not. Presumably NetBSD hedged its bets by
not tying the ABI to the FPU making the hardware optional.