[Qemu-devel] [PATCH] libvixl: Correct build failures on NetBSD

Kamil Rytarowski posted 1 patch 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20170514051820.15985-1-n54@gmx.com
Test checkpatch passed
Test docker passed
Test s390x passed
disas/libvixl/Makefile.objs | 3 +++
1 file changed, 3 insertions(+)
[Qemu-devel] [PATCH] libvixl: Correct build failures on NetBSD
Posted by Kamil Rytarowski 6 years, 11 months ago
Ensure that C99 macros are defined regardless of the inclusion order of
headers in vixl. This is required at least on NetBSD.

The vixl/globals.h headers defines __STDC_CONSTANT_MACROS and must be
included before other system headers.

This file defines unconditionally the following macros, without altering
the original sources:
 - __STDC_CONSTANT_MACROS
 - __STDC_LIMIT_MACROS
 - __STDC_FORMAT_MACROS

Signed-off-by: Kamil Rytarowski <n54@gmx.com>
---
 disas/libvixl/Makefile.objs | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs
index bbe7695fdb..860fb7f384 100644
--- a/disas/libvixl/Makefile.objs
+++ b/disas/libvixl/Makefile.objs
@@ -7,5 +7,8 @@ libvixl_OBJS = vixl/utils.o \
 # The -Wno-sign-compare is needed only for gcc 4.6, which complains about
 # some signed-unsigned equality comparisons which later gcc versions do not.
 $(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS) -Wno-sign-compare
+# Ensure that C99 macros are defined regardless of the inclusion order of
+# headers in vixl. This is required at least on NetBSD.
+$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS += -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS
 
 common-obj-$(CONFIG_ARM_A64_DIS) += $(libvixl_OBJS)
-- 
2.12.2


Re: [Qemu-devel] [PATCH] libvixl: Correct build failures on NetBSD
Posted by Philippe Mathieu-Daudé 6 years, 11 months ago
On 05/14/2017 02:18 AM, Kamil Rytarowski wrote:
> Ensure that C99 macros are defined regardless of the inclusion order of
> headers in vixl. This is required at least on NetBSD.
>
> The vixl/globals.h headers defines __STDC_CONSTANT_MACROS and must be
> included before other system headers.
>
> This file defines unconditionally the following macros, without altering
> the original sources:
>  - __STDC_CONSTANT_MACROS
>  - __STDC_LIMIT_MACROS
>  - __STDC_FORMAT_MACROS
>
> Signed-off-by: Kamil Rytarowski <n54@gmx.com>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
>  disas/libvixl/Makefile.objs | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs
> index bbe7695fdb..860fb7f384 100644
> --- a/disas/libvixl/Makefile.objs
> +++ b/disas/libvixl/Makefile.objs
> @@ -7,5 +7,8 @@ libvixl_OBJS = vixl/utils.o \
>  # The -Wno-sign-compare is needed only for gcc 4.6, which complains about
>  # some signed-unsigned equality comparisons which later gcc versions do not.
>  $(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS) -Wno-sign-compare
> +# Ensure that C99 macros are defined regardless of the inclusion order of
> +# headers in vixl. This is required at least on NetBSD.
> +$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS += -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS
>
>  common-obj-$(CONFIG_ARM_A64_DIS) += $(libvixl_OBJS)
>

Re: [Qemu-devel] [PATCH] libvixl: Correct build failures on NetBSD
Posted by Kamil Rytarowski 6 years, 11 months ago
Can we please merge it with master?

On 14.05.2017 07:41, Philippe Mathieu-Daudé wrote:
> On 05/14/2017 02:18 AM, Kamil Rytarowski wrote:
>> Ensure that C99 macros are defined regardless of the inclusion order of
>> headers in vixl. This is required at least on NetBSD.
>>
>> The vixl/globals.h headers defines __STDC_CONSTANT_MACROS and must be
>> included before other system headers.
>>
>> This file defines unconditionally the following macros, without altering
>> the original sources:
>>  - __STDC_CONSTANT_MACROS
>>  - __STDC_LIMIT_MACROS
>>  - __STDC_FORMAT_MACROS
>>
>> Signed-off-by: Kamil Rytarowski <n54@gmx.com>
> 
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> 
>> ---
>>  disas/libvixl/Makefile.objs | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs
>> index bbe7695fdb..860fb7f384 100644
>> --- a/disas/libvixl/Makefile.objs
>> +++ b/disas/libvixl/Makefile.objs
>> @@ -7,5 +7,8 @@ libvixl_OBJS = vixl/utils.o \
>>  # The -Wno-sign-compare is needed only for gcc 4.6, which complains
>> about
>>  # some signed-unsigned equality comparisons which later gcc versions
>> do not.
>>  $(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS :=
>> -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS) -Wno-sign-compare
>> +# Ensure that C99 macros are defined regardless of the inclusion
>> order of
>> +# headers in vixl. This is required at least on NetBSD.
>> +$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS +=
>> -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS
>>
>>  common-obj-$(CONFIG_ARM_A64_DIS) += $(libvixl_OBJS)
>>
> 


Re: [Qemu-devel] [PATCH] libvixl: Correct build failures on NetBSD
Posted by Peter Maydell 6 years, 11 months ago
On 14 May 2017 at 06:18, Kamil Rytarowski <n54@gmx.com> wrote:
> Ensure that C99 macros are defined regardless of the inclusion order of
> headers in vixl. This is required at least on NetBSD.
>
> The vixl/globals.h headers defines __STDC_CONSTANT_MACROS and must be
> included before other system headers.
>
> This file defines unconditionally the following macros, without altering
> the original sources:
>  - __STDC_CONSTANT_MACROS
>  - __STDC_LIMIT_MACROS
>  - __STDC_FORMAT_MACROS
>
> Signed-off-by: Kamil Rytarowski <n54@gmx.com>
> ---
>  disas/libvixl/Makefile.objs | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/disas/libvixl/Makefile.objs b/disas/libvixl/Makefile.objs
> index bbe7695fdb..860fb7f384 100644
> --- a/disas/libvixl/Makefile.objs
> +++ b/disas/libvixl/Makefile.objs
> @@ -7,5 +7,8 @@ libvixl_OBJS = vixl/utils.o \
>  # The -Wno-sign-compare is needed only for gcc 4.6, which complains about
>  # some signed-unsigned equality comparisons which later gcc versions do not.
>  $(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS := -I$(SRC_PATH)/disas/libvixl $(QEMU_CFLAGS) -Wno-sign-compare
> +# Ensure that C99 macros are defined regardless of the inclusion order of
> +# headers in vixl. This is required at least on NetBSD.
> +$(addprefix $(obj)/,$(libvixl_OBJS)): QEMU_CFLAGS += -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS

Thanks for this patch -- I have applied it to target-arm.next.

I've also reported the underlying libvixl bug upstream so hopefully
it will be fixed in a future libvixl version too.

thanks
-- PMM