~/src/qemu/qemu-git/arm-linux-user/qemu-arm -cpu cortex-a9 -R 0 -L
/home/lyon/src/GCC/builds/gcc-fsf-asan-arm-none-linux-gnueabihf/sysroot
 ./heap-overflow-1.arm

On 28 March 2013 15:33, Christophe Lyon <christophe.l...@linaro.org> wrote:
>>> - libsanitizer detects if its output is a tty, and when GCC testsuite
>>> is executed under qemu, libsanitizer concludes that it is actually
>>> running under a tty, and adds beautyfying characters which confuse
>>> dejanu.
>>
>> Is this again a quemu problem?
> I still don't know. I tried to investigate some time ago; I thought it
> could be a problem when qemu interprets a ~isatty syscall, but IIRC
> this syscall isn't used. So I don't know who finally asnwers to the
> isatty() query.
>

After a bit more debugging, the libsanitizer query isatty(2) is
handled by glibc as a call to __tcgetattr(2,...), which is turned into
ioctl(2, TCGETS,...).

Qemu issues the same query to the host, and I have observed that when
called by expect, qemu's fd 2 points to /dev/pts/XXX which explains
why it thinks it is a tty.

So far I have haven't look at what actually happens when executed on a
board, but why would expect behave differently?

Christophe.

Reply via email to