blob: d5ce71c299ae9124041c72e5aa50d172505943a8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
qemu-user -g xxx -E LD_PROFILE=xxx segfault
Here is two simple steps to reproduce the bug:
$ qemu-x86_64 -E LD_PROFILE=libc.so.6 -E LD_PROFILE_OUTPUT=. -g 12345 -L / /bin/ls
(libc.so and /bin/ls might change on your system, in this case we just need a binary with a profilable needed library)
In a other window launch:
$ gdb
(gdb) target remote :12345
(gdb) c
At this point qemu will segfault.
It seems this problem is appends when sigprof passed to gdb.
One way I have found to bypass this:
patch gdbstub.c gdb_handlesig and ignore sig if
sig == TARGET_SIGPROF
(which means now I can't catch sigprof on gdb anymore)
|