blob: 7ad848ffbac5e0a8b834e1814b43b7ebdd9ae1de (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<think>
Okay, so I need to classify this bug report as either user-mode or system-mode related in QEMU. The issue is that when using qemu-aarch64-static to run a program that uses the clone() syscall, it fails with an "Invalid argument" error, whereas running natively works fine.
First, I should understand what each mode does. User-mode emulation (like qemu-user) runs individual programs without emulating the entire OS or hardware. It's used for cross-compiling and testing binaries on different architectures. System-mode, on the other hand, emulates a full system with its own kernel and devices, providing a virtual environment where the guest OS runs.
In this case, the problem occurs when using qemu-aarch64-static, which is part of user-mode emulation because it's specifically for running a single executable without a full system. The issue is that clone() isn't working as expected in this environment. Clone is a low-level system call used to create new processes. If it fails with "Invalid argument," perhaps QEMU's user-mode doesn't handle the clone syscall correctly, maybe missing some flags or context.
Since the problem happens when running a single executable and not in a full OS emulation (which would be system-mode), this suggests that the issue is within the user-mode setup. The fact that it works natively but not under QEMU's static user-mode binary points to an issue with how QEMU emulates clone() for user-space applications.
Therefore, I think this bug falls under 'user' because it relates to the execution of a single program and the syscalls within that context, rather than issues related to system-level components like peripherals or device drivers.
</think>
The bug is in the user-mode emulation since it pertains to executing a program using qemu-aarch64-static without involving a full OS environment.
user
|