diff mbox series

[v2,6/8] qemu/bswap: Use compiler __builtin_bswap() on FreeBSD

Message ID 20200928131934.739451-7-philmd@redhat.com
State New
Headers show
Series qemu/bswap: Use compiler __builtin_bswap() | expand

Commit Message

Philippe Mathieu-Daudé Sept. 28, 2020, 1:19 p.m. UTC
Since commit efc6c070aca ("configure: Add a test for the minimum
compiler version") the minimum compiler version required for GCC
is 4.8, which supports __builtin_bswap().
Remove the FreeBSD specific ifdef'ry.

This reverts commit de03c3164accc21311c39327601fcdd95da301f3
("bswap: Fix build on FreeBSD 10.0").

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Ed Maste <emaste@freebsd.org>
---
 include/qemu/bswap.h | 2 --
 1 file changed, 2 deletions(-)

Comments

Thomas Huth Sept. 28, 2020, 5:32 p.m. UTC | #1
On 28/09/2020 15.19, Philippe Mathieu-Daudé wrote:
> Since commit efc6c070aca ("configure: Add a test for the minimum

> compiler version") the minimum compiler version required for GCC

> is 4.8, which supports __builtin_bswap().

> Remove the FreeBSD specific ifdef'ry.

> 

> This reverts commit de03c3164accc21311c39327601fcdd95da301f3

> ("bswap: Fix build on FreeBSD 10.0").

> 

> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---

> Cc: Ed Maste <emaste@freebsd.org>

> ---

>  include/qemu/bswap.h | 2 --

>  1 file changed, 2 deletions(-)

> 

> diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h

> index 719d620bfe6..1a297bfec22 100644

> --- a/include/qemu/bswap.h

> +++ b/include/qemu/bswap.h

> @@ -6,8 +6,6 @@

>  #ifdef CONFIG_MACHINE_BSWAP_H

>  # include <sys/endian.h>

>  # include <machine/bswap.h>

> -#elif defined(__FreeBSD__)

> -# include <sys/endian.h>


Ah, well, no I get it ... you're removing this stuff bit by bit. Quite
confusing, IMHO, I'd remove them all in one patch instead.

 Thomas
Philippe Mathieu-Daudé Sept. 28, 2020, 5:57 p.m. UTC | #2
On 9/28/20 7:32 PM, Thomas Huth wrote:
> On 28/09/2020 15.19, Philippe Mathieu-Daudé wrote:

>> Since commit efc6c070aca ("configure: Add a test for the minimum

>> compiler version") the minimum compiler version required for GCC

>> is 4.8, which supports __builtin_bswap().

>> Remove the FreeBSD specific ifdef'ry.

>>

>> This reverts commit de03c3164accc21311c39327601fcdd95da301f3

>> ("bswap: Fix build on FreeBSD 10.0").

>>

>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

>> ---

>> Cc: Ed Maste <emaste@freebsd.org>

>> ---

>>  include/qemu/bswap.h | 2 --

>>  1 file changed, 2 deletions(-)

>>

>> diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h

>> index 719d620bfe6..1a297bfec22 100644

>> --- a/include/qemu/bswap.h

>> +++ b/include/qemu/bswap.h

>> @@ -6,8 +6,6 @@

>>  #ifdef CONFIG_MACHINE_BSWAP_H

>>  # include <sys/endian.h>

>>  # include <machine/bswap.h>

>> -#elif defined(__FreeBSD__)

>> -# include <sys/endian.h>

> 

> Ah, well, no I get it ... you're removing this stuff bit by bit. Quite

> confusing, IMHO, I'd remove them all in one patch instead.


Sure. I did it that way because I was testing OS after OS, when
one was successful I committed the change and went for the next
one.

> 

>  Thomas

>
Ed Maste Sept. 28, 2020, 9:16 p.m. UTC | #3
On Mon, 28 Sep 2020 at 09:20, Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>

> Since commit efc6c070aca ("configure: Add a test for the minimum

> compiler version") the minimum compiler version required for GCC

> is 4.8, which supports __builtin_bswap().

> Remove the FreeBSD specific ifdef'ry.

>

> This reverts commit de03c3164accc21311c39327601fcdd95da301f3

> ("bswap: Fix build on FreeBSD 10.0").

>

> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>


Reviewed-by: Ed Maste <emaste@FreeBSD.org>


Aside, to test building with this change on Clang 11 (default compiler
in FreeBSD-CURRENT) I needed a few other changes to avoid warnings:

hw/s390x/ipl.h, hw/usb/dev-uas.c variable sized type warnings

../hw/usb/dev-uas.c:157:31: error: field 'status' with variable sized
type 'uas_iu' not at the end of a struct or class is a GNU extension
[-Werror,-Wgnu-variable-sized-type-not-at-end]
    uas_iu                    status;
                              ^

target/s390x/cpu_models.c pointer to smaller integer type cast

../target/s390x/cpu_models.c:984:21: error: cast to smaller integer
type 'S390Feat' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
    S390Feat feat = (S390Feat) opaque;
                    ^~~~~~~~~~~~~~~~~
diff mbox series

Patch

diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h
index 719d620bfe6..1a297bfec22 100644
--- a/include/qemu/bswap.h
+++ b/include/qemu/bswap.h
@@ -6,8 +6,6 @@ 
 #ifdef CONFIG_MACHINE_BSWAP_H
 # include <sys/endian.h>
 # include <machine/bswap.h>
-#elif defined(__FreeBSD__)
-# include <sys/endian.h>
 #else
 #undef  bswap16
 #define bswap16(_x) __builtin_bswap16(_x)