Re: Stack overflow check does not work with qemu linux-user emulation

Bruno Haible via Gnulib discussion list <[email protected]> Thu, 15 May 2025 18:34:07 +0200
Newsgroups gmane.comp.lib.gnulib.bugs,gmane.comp.gnu.m4.bugs
Organization GNU
Message-ID <8062261.iedYuu7f5S@nimes>
Eric Blake wrote:
> It could very well be a bug in qemu's user-mode emulation not handling
> stack overflow in the same way a native program would do.

Definitely. In my experience, qemu's user-mode emulation has the following
limitations:
- Catching stack overflow is not supported.
- ioctl() are not well supported (e.g. functions that deal with ttys).
  (except on arm64)
- glibc iconv modules are not installed (on Debian/Ubuntu).
- Spin lock tests hang. (on sparc64)
- SIGILL on some instructions used by glibc for <fenv.h> functions (on powerpc*)
- O_CLOEXEC is not well supported (e.g. in dup3, open). (on alpha)
- The emulation of floating-point operations is broken. (on m68k)
- Incorrect behaviour of floating-point exceptions. (on mips)
- Quiet NaNs behave like signalling NaNs and vice versa (on mips)

If you want to test catching stack overflow, you need to use qemu in
system-mode emulation.

Bruno