Okay, let's see. The user is reporting that readdir() returns NULL with errno=EOVERFLOW in a 32-bit user-static QEMU setup on a 64-bit host. Hmm. First, I need to recall what EOVERFLOW means. From what I remember, EOVERFLOW is an error that occurs when the result of a function would exceed the maximum value that can be stored in a data type. For example, if a function returns a value that's too big for a 32-bit integer, this error might be triggered. Now, QEMU's user-mode emulation allows running 32-bit programs on a 64-bit system. The problem here is happening in readdir(), which is a system call used to read directory entries. The issue is specific to the 32-bit static binary in QEMU. The error is EOVERFLOW, which suggests a data size mismatch between the 32-bit and 64-bit environments. Since readdir() is a system call, the error is likely related to how the system call is handled between the 32-bit user space and the 64-bit host kernel. The 32-bit application expects certain data structures, but the host's 64-bit system might be passing something that's too large for the 32-bit process to handle, leading to EOVERFLOW. This seems like a system call handling issue in QEMU's user-mode emulation. The categories are instruction, syscall, or runtime. Since the problem is tied to the system call's behavior and the error code related to data size during the syscall, it's probably a syscall category. Instruction errors are about incorrect CPU instructions, which doesn't fit here. Runtime errors are more general, but the specific syscall error points to the syscall category. syscall