[Qemu-devel] [PATCH] preprocessor issue in
qemu/patch-block-raw-posix.c
Juergen Lock
nox at jelal.kn-bremen.de
Fri Sep 26 21:32:38 UTC 2008
On Thu, Sep 25, 2008 at 03:39:58PM -0500, Anthony Liguori wrote:
> Juergen Lock wrote:
>> I forgot to note that this also needed the following patch:
>>
>
> Why? This #ifdef is working around a very specific bug.
>
Well, looks like the preprocessor tries to parse the entire expression
including the undefined `!__GLIBC_PREREQ(2, 4)' before evaluating it:
block-raw-posix.c:548:69: missing binary operator before token "("
so I just put it on an extra line.
> Regards,
>
> Anthony Liguori
>
>> Index: qemu/block-raw-posix.c
>> @@ -545,7 +545,8 @@
>> qemu_aio_set_fd_handler(s->fd, posix_aio_read, NULL,
>> posix_aio_flush, s);
>> -#if defined(__linux__) && defined(__GLIBC_PREREQ) && !__GLIBC_PREREQ(2,
>> 4)
>> +#if defined(__linux__) && defined(__GLIBC_PREREQ)
>> +#if !__GLIBC_PREREQ(2, 4)
>> {
>> /* XXX: aio thread exit seems to hang on RedHat 9 and this init
>> seems to fix the problem. */
>> @@ -557,6 +558,7 @@
>> aio_init(&ai);
>> }
>> #endif
>> +#endif
>> posix_aio_state = s;
>> return 0;
>>
>> Signed-off-by: Juergen Lock <nox at jelal.kn-bremen.de>
>>
>>
>>
>
More information about the freebsd-emulation
mailing list