Message ID | 20200928131934.739451-6-philmd@redhat.com |
---|---|
State | New |
Headers | show |
Series | qemu/bswap: Use compiler __builtin_bswap() | expand |
Unfortunately it breaks the build. Regards. On Mon, 28 Sep 2020 at 14: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 Haiku specific ifdef'ry. > > This reverts commit 652a46ebba970017c7a23767dcc983265cdb8eb7 > ("bswap.h: Include <endian.h> on Haiku for bswap operations"). > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > Cc: David Carlier <devnexen@gmail.com> > Cc: Carlo Arenas <carenas@gmail.com> > --- > include/qemu/bswap.h | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h > index 55916670d39..719d620bfe6 100644 > --- a/include/qemu/bswap.h > +++ b/include/qemu/bswap.h > @@ -8,8 +8,6 @@ > # include <machine/bswap.h> > #elif defined(__FreeBSD__) > # include <sys/endian.h> > -#elif defined(__HAIKU__) > -# include <endian.h> > #else > #undef bswap16 > #define bswap16(_x) __builtin_bswap16(_x) > -- > 2.26.2 >
On Mon, Sep 28, 2020 at 03:09:01PM +0100, David CARLIER wrote: > Unfortunately it breaks the build. Can you provide details of the errors seen and toolchain versions. I notice we don't have any CI support for Haiku right now, nor any recipe in tests/vm/ for enabling users to setup a VM with Haiku installed. This very much makes Haiku a second class citizen right now in terms of QEMU's supported platforms, with no expectation of whether it'll work at any point in time. > On Mon, 28 Sep 2020 at 14: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 Haiku specific ifdef'ry. > > > > This reverts commit 652a46ebba970017c7a23767dcc983265cdb8eb7 > > ("bswap.h: Include <endian.h> on Haiku for bswap operations"). > > > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > > --- > > Cc: David Carlier <devnexen@gmail.com> > > Cc: Carlo Arenas <carenas@gmail.com> > > --- > > include/qemu/bswap.h | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h > > index 55916670d39..719d620bfe6 100644 > > --- a/include/qemu/bswap.h > > +++ b/include/qemu/bswap.h > > @@ -8,8 +8,6 @@ > > # include <machine/bswap.h> > > #elif defined(__FreeBSD__) > > # include <sys/endian.h> > > -#elif defined(__HAIKU__) > > -# include <endian.h> > > #else > > #undef bswap16 > > #define bswap16(_x) __builtin_bswap16(_x) > > -- > > 2.26.2 > > > Regards, Daniel
On 9/28/20 4:13 PM, Daniel P. Berrangé wrote: > On Mon, Sep 28, 2020 at 03:09:01PM +0100, David CARLIER wrote: >> Unfortunately it breaks the build. > > Can you provide details of the errors seen and toolchain versions. > > I notice we don't have any CI support for Haiku right now, nor > any recipe in tests/vm/ for enabling users to setup a VM with > Haiku installed. This very much makes Haiku a second class > citizen right now in terms of QEMU's supported platforms, with > no expectation of whether it'll work at any point in time. I provided the tests/vm/ build script from Alexander as patch 8/8 of this series: https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg10022.html This is what I used to test this patch/series. > >> On Mon, 28 Sep 2020 at 14: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 Haiku specific ifdef'ry. >>> >>> This reverts commit 652a46ebba970017c7a23767dcc983265cdb8eb7 >>> ("bswap.h: Include <endian.h> on Haiku for bswap operations"). >>> >>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >>> --- >>> Cc: David Carlier <devnexen@gmail.com> >>> Cc: Carlo Arenas <carenas@gmail.com> >>> --- >>> include/qemu/bswap.h | 2 -- >>> 1 file changed, 2 deletions(-) >>> >>> diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h >>> index 55916670d39..719d620bfe6 100644 >>> --- a/include/qemu/bswap.h >>> +++ b/include/qemu/bswap.h >>> @@ -8,8 +8,6 @@ >>> # include <machine/bswap.h> >>> #elif defined(__FreeBSD__) >>> # include <sys/endian.h> >>> -#elif defined(__HAIKU__) >>> -# include <endian.h> >>> #else >>> #undef bswap16 >>> #define bswap16(_x) __builtin_bswap16(_x) >>> -- >>> 2.26.2 >>> >> > > Regards, > Daniel >
errors as ... expected '=', ',', ';', 'asm' r "__attribute__' before "builtin_swap16' ... base gcc 8.3 On Mon, 28 Sep 2020 at 15:14, Daniel P. Berrangé <berrange@redhat.com> wrote: > > On Mon, Sep 28, 2020 at 03:09:01PM +0100, David CARLIER wrote: > > Unfortunately it breaks the build. > > Can you provide details of the errors seen and toolchain versions. > > I notice we don't have any CI support for Haiku right now, nor > any recipe in tests/vm/ for enabling users to setup a VM with > Haiku installed. This very much makes Haiku a second class > citizen right now in terms of QEMU's supported platforms, with > no expectation of whether it'll work at any point in time. > > > > On Mon, 28 Sep 2020 at 14: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 Haiku specific ifdef'ry. > > > > > > This reverts commit 652a46ebba970017c7a23767dcc983265cdb8eb7 > > > ("bswap.h: Include <endian.h> on Haiku for bswap operations"). > > > > > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > > > --- > > > Cc: David Carlier <devnexen@gmail.com> > > > Cc: Carlo Arenas <carenas@gmail.com> > > > --- > > > include/qemu/bswap.h | 2 -- > > > 1 file changed, 2 deletions(-) > > > > > > diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h > > > index 55916670d39..719d620bfe6 100644 > > > --- a/include/qemu/bswap.h > > > +++ b/include/qemu/bswap.h > > > @@ -8,8 +8,6 @@ > > > # include <machine/bswap.h> > > > #elif defined(__FreeBSD__) > > > # include <sys/endian.h> > > > -#elif defined(__HAIKU__) > > > -# include <endian.h> > > > #else > > > #undef bswap16 > > > #define bswap16(_x) __builtin_bswap16(_x) > > > -- > > > 2.26.2 > > > > > > > Regards, > Daniel > -- > |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| > |: https://libvirt.org -o- https://fstop138.berrange.com :| > |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| >
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 Haiku specific ifdef'ry. > > This reverts commit 652a46ebba970017c7a23767dcc983265cdb8eb7 > ("bswap.h: Include <endian.h> on Haiku for bswap operations"). > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > Cc: David Carlier <devnexen@gmail.com> > Cc: Carlo Arenas <carenas@gmail.com> > --- > include/qemu/bswap.h | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h > index 55916670d39..719d620bfe6 100644 > --- a/include/qemu/bswap.h > +++ b/include/qemu/bswap.h > @@ -8,8 +8,6 @@ > # include <machine/bswap.h> > #elif defined(__FreeBSD__) > # include <sys/endian.h> > -#elif defined(__HAIKU__) > -# include <endian.h> > #else > #undef bswap16 > #define bswap16(_x) __builtin_bswap16(_x) Why don't we simply always use the builtin functions on all systems? I assume the compiler can handle these the best in all cases... or do you see any advantage in using <machine/bswap.h> or <sys/endian.h> in certain cases? Thomas Thomas
On 9/28/20 4:18 PM, Philippe Mathieu-Daudé wrote: > On 9/28/20 4:13 PM, Daniel P. Berrangé wrote: >> On Mon, Sep 28, 2020 at 03:09:01PM +0100, David CARLIER wrote: >>> Unfortunately it breaks the build. >> >> Can you provide details of the errors seen and toolchain versions. >> >> I notice we don't have any CI support for Haiku right now, nor >> any recipe in tests/vm/ for enabling users to setup a VM with >> Haiku installed. This very much makes Haiku a second class >> citizen right now in terms of QEMU's supported platforms, with >> no expectation of whether it'll work at any point in time. > > I provided the tests/vm/ build script from Alexander as patch 8/8 > of this series: > https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg10022.html > > This is what I used to test this patch/series. I suppose the Haiku VM patch got lost, so I'll repost it separate. Which tree should I Cc:? Ah, Alex testing tree :)
diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h index 55916670d39..719d620bfe6 100644 --- a/include/qemu/bswap.h +++ b/include/qemu/bswap.h @@ -8,8 +8,6 @@ # include <machine/bswap.h> #elif defined(__FreeBSD__) # include <sys/endian.h> -#elif defined(__HAIKU__) -# include <endian.h> #else #undef bswap16 #define bswap16(_x) __builtin_bswap16(_x)
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 Haiku specific ifdef'ry. This reverts commit 652a46ebba970017c7a23767dcc983265cdb8eb7 ("bswap.h: Include <endian.h> on Haiku for bswap operations"). Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- Cc: David Carlier <devnexen@gmail.com> Cc: Carlo Arenas <carenas@gmail.com> --- include/qemu/bswap.h | 2 -- 1 file changed, 2 deletions(-)