qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] mingw32: Only link against libiberty if require


From: Jan Kiszka
Subject: Re: [Qemu-devel] [PATCH] mingw32: Only link against libiberty if required
Date: Sun, 24 Jul 2011 13:48:52 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-07-24 13:04, Stefan Weil wrote:
> Am 24.07.2011 12:12, schrieb Jan Kiszka:
>> From: Jan Kiszka <address@hidden>
>>
>> Not all (didn't find any) mingw32 cross-toolchains ship a binutils-devel
>> package, thus lack libiberty.a. According to 08f3896a, -liberty is only
>> needed for getopt when building for 64 bit. Test for the availability
>> of a getopt implementation and only pull in libiberty when linking
>> without it failed.
>>
>> Signed-off-by: Jan Kiszka <address@hidden>
>> ---
>> configure | 11 ++++++++++-
>> 1 files changed, 10 insertions(+), 1 deletions(-)
> 
> Hi,
> 
> I also had problems with some MinGW build environments
> which don't provide libiberty.a. Debian's gcc-mingw32
> cross toolchain which I normally use provides it.
> 
> libiberty.a not only includes getopt(), but also several other
> useful functions. Especially ffs() is needed for compilations
> without optimization and was the main reason for commit 08f3896a.
> ffs() normally is inline code, and an implementation in
> QEMU code was removed after 08f3896a.
> 
> So at least for Debian cross compilation without optimization,
> your patch will break 32 bit builds because ffs() would be missing.
> 
> The latest commits to QEMU git master added a lot of new requirements
> for MinGW builds (glib ...). Maybe some of these also require
> libiberty.a. Therefore I suggest to wait until git master is
> working again with MinGW32.

Builds fine here (except for the usual warnings) with Blue's fix for
qemu-char.c. Same is true when passing in CFLAGS=-O0.

> 
> Could you describe your build requirements in the QEMU Wiki
> (http://wiki.qemu.org/Hosts/W32)? Then we can see better how
> the different needs of native builds and cross builds with
> different distributions can be met, both for w32 and w64.

Done.

> 
> If there are MinGW (cross) build environments which really
> don't need libiberty.a, we could modify the check to add
> linker option -liberty only when the library is available.

That was my original idea, at least for 32-bit builds (my toolchain
carries 'w64' in its name, but only support w32). How to express this best?

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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