How to use ASan in g++ through qemu-arm?

0

I'm trying to use the ASan in g++ through qemu-arm

But it didn't work properly even though I tried it with the newest versions of them
Because clone() failed and so sched_yield() was called infinitely in qemu-arm like below

$ env ASAN_OPTIONS=detect_leaks=1 qemu-arm -strace -R 0 -L .....
...
28865 clone(CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_UNTRACED,child_stack=0x43434ff8,parent_tidptr=0x00000000,tl
s=0x00000000,child_tidptr=0x00000000) = -1 errno=22 (Invalid argument)
28865 rt_sigprocmask(SIG_SETMASK,0x40e0783c,NULL) = 0
28865 getpid() = 28865
28865 sched_yield(1082131140,0,0,0,1084256812,1084256808) = 0
28865 sched_yield(0,0,0,0,1084256812,1084256808) = 0
28865 sched_yield(0,0,0,0,1084256812,1084256808) = 0
28865 sched_yield(0,0,0,0,1084256812,1084256808) = 0

I searched it and found a related bug report which have same cause with my problem
(https://bugs.launchpad.net/qemu/+bug/1727737)

I think that the conversation in the bug report ended up without any revision in qemu-arm side
But have anyone made any progress since then?

If someone is using qemu-arm+g+++ASan without any problems
Can I ask how to solve them?

g++
qemu
address-sanitizer
asked on Stack Overflow Apr 1, 2020 by hyuk myeong • edited Apr 1, 2020 by hyuk myeong

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0