diff options
Diffstat (limited to 'results/classifier/zero-shot-user-mode/output/instruction/1066909')
| -rw-r--r-- | results/classifier/zero-shot-user-mode/output/instruction/1066909 | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/results/classifier/zero-shot-user-mode/output/instruction/1066909 b/results/classifier/zero-shot-user-mode/output/instruction/1066909 new file mode 100644 index 00000000..e3360c22 --- /dev/null +++ b/results/classifier/zero-shot-user-mode/output/instruction/1066909 @@ -0,0 +1,13 @@ +instruction: 0.406 +syscall: 0.406 +runtime: 0.187 + + + +App-level clone emulation for microblaze is broken + +When CLONE_THREAD is used, the new process starts with the program counter pointing to the system call instruction, rather than the instruction immediately following it. This causes an infinite cascade (linear growth, not exponential) of thread creation, which quickly crashes when the threads start running and they're all using the same stack. + +I'm using qemu 1.1.2 packaged with Debian, but I'm not aware of any fixes since then that would address the problem. + +I can provide a test program if needed; a short C program using syscall() directly or an even-shorter asm program can demonstrate the issue without need for debugging around pthread library routines. \ No newline at end of file |