qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] w32: Always compile with __builtin_ffs


From: Jacob Kroon
Subject: Re: [Qemu-devel] [PATCH] w32: Always compile with __builtin_ffs
Date: Sat, 16 Feb 2013 19:48:51 +0100

Hi Stefan,

On Sat, Feb 16, 2013 at 7:30 PM, Stefan Weil <address@hidden> wrote:
> Not all MinGW build environments include a library which provides ffs(),
> and some versions of gcc create a function call instead of inline code.
>
> When gcc is called with -ansi, it will always create a function call.
> This usually results in an unresolved symbol "ffs" at link time.
>
> The patch enforces inline code for this special case.
>
> Cc: Jacob Kroon <address@hidden>
> Signed-off-by: Stefan Weil <address@hidden>
> ---
>
> Hi Jacob,
>
> please try the patch below. If it does not fix the linker problem,
> you can define ffs unconditionally.

Thanks for looking into this. The patch as it is still results in
linker errors on my machine,
but yes, defining "ffs" unconditionally like below does fix the problem here.

diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h
index bf9edeb..e2972c8 100644
--- a/include/sysemu/os-win32.h
+++ b/include/sysemu/os-win32.h
@@ -66,6 +66,7 @@

 /* Declaration of ffs() is missing in MinGW's strings.h. */
 int ffs(int i);
+#define ffs(i) __builtin_ffs(i)

 /* Missing POSIX functions. Don't use MinGW-w64 macros. */
 #undef gmtime_r

Regards
Jacob



reply via email to

[Prev in Thread] Current Thread [Next in Thread]