Message ID | 1306591272-25851-1-git-send-email-andreas.faerber@web.de |
---|---|
State | New |
Headers | show |
On 28.05.2011, at 16:01, Andreas Färber wrote: > Building with libfdt results in the following warnings on Mac OS X: > > CC ppc-softmmu/device_tree.o > In file included from /Users/andreas/QEMU/latest64/include/libfdt.h:54, > from /Users/andreas/QEMU/qemu/device_tree.c:26: > /Users/andreas/QEMU/qemu/libfdt_env.h:25:20: warning: endian.h: No such file or directory > /Users/andreas/QEMU/qemu/libfdt_env.h:26:22: warning: byteswap.h: No such file or directory > /Users/andreas/QEMU/qemu/libfdt_env.h:28:5: warning: "__BYTE_ORDER" is not defined > /Users/andreas/QEMU/qemu/libfdt_env.h:28:21: warning: "__BIG_ENDIAN" is not defined > > Since QEMU's copy of libfdt_env.h only uses bswap_32() and bswap_64(), > let QEMU's bswap.h take care of the headers and use its endianness define. > > Cc: Hollis Blanchard <hollis@penguinppc.org> > Cc: Alexander Graf <agraf@suse.de> > Signed-off-by: Andreas Färber <andreas.faerber@web.de> > --- > Tested on Darwin/ppc64 host. > > libfdt_env.h | 8 ++------ > 1 files changed, 2 insertions(+), 6 deletions(-) > > diff --git a/libfdt_env.h b/libfdt_env.h > index ee0419f..90d7f3b 100644 > --- a/libfdt_env.h > +++ b/libfdt_env.h > @@ -19,13 +19,9 @@ > #ifndef _LIBFDT_ENV_H > #define _LIBFDT_ENV_H > > -#include <stddef.h> > -#include <stdint.h> > -#include <string.h> > -#include <endian.h> > -#include <byteswap.h> > +#include "bswap.h" > > -#if __BYTE_ORDER == __BIG_ENDIAN > +#ifdef HOST_WORDS_BIGENDIAN Hrm. Who defines HOST_WORDS_BIGENDIAN? Shouldn't you explicitly include that header file? Or at least have a sanity check that breaks compilation if neither BIG nor LITTLE endian are defined? :) Alex
Am 28.05.2011 um 16:03 schrieb Alexander Graf: > On 28.05.2011, at 16:01, Andreas Färber wrote: > >> diff --git a/libfdt_env.h b/libfdt_env.h >> index ee0419f..90d7f3b 100644 >> --- a/libfdt_env.h >> +++ b/libfdt_env.h >> @@ -19,13 +19,9 @@ >> #ifndef _LIBFDT_ENV_H >> #define _LIBFDT_ENV_H >> >> -#include <stddef.h> >> -#include <stdint.h> >> -#include <string.h> >> -#include <endian.h> >> -#include <byteswap.h> >> +#include "bswap.h" >> >> -#if __BYTE_ORDER == __BIG_ENDIAN >> +#ifdef HOST_WORDS_BIGENDIAN > > Hrm. Who defines HOST_WORDS_BIGENDIAN? Shouldn't you explicitly > include that header file? bswap.h includes config-host.h, why duplicate that. Let's not make Stefan more work. :) > Or at least have a sanity check that breaks compilation if neither > BIG nor LITTLE endian are defined? :) We don't have generic defines for BIG or LITTLE endian, cf. original warning message. That's why I'm checking what we do have - configure knows best. Andreas
On 28.05.2011, at 16:16, Andreas Färber wrote: > Am 28.05.2011 um 16:03 schrieb Alexander Graf: > >> On 28.05.2011, at 16:01, Andreas Färber wrote: >> >>> diff --git a/libfdt_env.h b/libfdt_env.h >>> index ee0419f..90d7f3b 100644 >>> --- a/libfdt_env.h >>> +++ b/libfdt_env.h >>> @@ -19,13 +19,9 @@ >>> #ifndef _LIBFDT_ENV_H >>> #define _LIBFDT_ENV_H >>> >>> -#include <stddef.h> >>> -#include <stdint.h> >>> -#include <string.h> >>> -#include <endian.h> >>> -#include <byteswap.h> >>> +#include "bswap.h" >>> >>> -#if __BYTE_ORDER == __BIG_ENDIAN >>> +#ifdef HOST_WORDS_BIGENDIAN >> >> Hrm. Who defines HOST_WORDS_BIGENDIAN? Shouldn't you explicitly include that header file? > > bswap.h includes config-host.h, why duplicate that. Let's not make Stefan more work. :) Ah, then everything's fine :). Please make sure to test it on a little endian (Linux) box as well :) Acked-by: Alexander Graf <agraf@suse.de> Alex
Am 28.05.2011 um 16:01 schrieb Andreas Färber: > Building with libfdt results in the following warnings on Mac OS X: > > CC ppc-softmmu/device_tree.o > In file included from /Users/andreas/QEMU/latest64/include/libfdt.h: > 54, > from /Users/andreas/QEMU/qemu/device_tree.c:26: > /Users/andreas/QEMU/qemu/libfdt_env.h:25:20: warning: endian.h: No > such file or directory > /Users/andreas/QEMU/qemu/libfdt_env.h:26:22: warning: byteswap.h: No > such file or directory > /Users/andreas/QEMU/qemu/libfdt_env.h:28:5: warning: "__BYTE_ORDER" > is not defined > /Users/andreas/QEMU/qemu/libfdt_env.h:28:21: warning: "__BIG_ENDIAN" > is not defined > > Since QEMU's copy of libfdt_env.h only uses bswap_32() and bswap_64(), > let QEMU's bswap.h take care of the headers and use its endianness > define. > > Cc: Hollis Blanchard <hollis@penguinppc.org> > Cc: Alexander Graf <agraf@suse.de> > Signed-off-by: Andreas Färber <andreas.faerber@web.de> > --- > Tested on Darwin/ppc64 host. More specifically, compile-tested on Darwin/ppc64 and now on Linux/ armv7l host. > > libfdt_env.h | 8 ++------ > 1 files changed, 2 insertions(+), 6 deletions(-) > > diff --git a/libfdt_env.h b/libfdt_env.h > index ee0419f..90d7f3b 100644 > --- a/libfdt_env.h > +++ b/libfdt_env.h > @@ -19,13 +19,9 @@ > #ifndef _LIBFDT_ENV_H > #define _LIBFDT_ENV_H > > -#include <stddef.h> > -#include <stdint.h> > -#include <string.h> > -#include <endian.h> > -#include <byteswap.h> > +#include "bswap.h" > > -#if __BYTE_ORDER == __BIG_ENDIAN > +#ifdef HOST_WORDS_BIGENDIAN > #define fdt32_to_cpu(x) (x) > #define cpu_to_fdt32(x) (x) > #define fdt64_to_cpu(x) (x) > -- > 1.7.3.4 > >
Am 28.05.2011 um 16:20 schrieb Alexander Graf: > On 28.05.2011, at 16:16, Andreas Färber wrote: > >> Am 28.05.2011 um 16:03 schrieb Alexander Graf: >> >>> On 28.05.2011, at 16:01, Andreas Färber wrote: >>> >>>> diff --git a/libfdt_env.h b/libfdt_env.h >>>> index ee0419f..90d7f3b 100644 >>>> --- a/libfdt_env.h >>>> +++ b/libfdt_env.h >>>> @@ -19,13 +19,9 @@ >>>> #ifndef _LIBFDT_ENV_H >>>> #define _LIBFDT_ENV_H >>>> >>>> -#include <stddef.h> >>>> -#include <stdint.h> >>>> -#include <string.h> >>>> -#include <endian.h> >>>> -#include <byteswap.h> >>>> +#include "bswap.h" >>>> >>>> -#if __BYTE_ORDER == __BIG_ENDIAN >>>> +#ifdef HOST_WORDS_BIGENDIAN >>> >>> Hrm. Who defines HOST_WORDS_BIGENDIAN? Shouldn't you explicitly >>> include that header file? >> >> bswap.h includes config-host.h, why duplicate that. Let's not make >> Stefan more work. :) > > Ah, then everything's fine :). Please make sure to test it on a > little endian (Linux) box as well :) > > Acked-by: Alexander Graf <agraf@suse.de> Thanks, applied to cocoa branch. Andreas
diff --git a/libfdt_env.h b/libfdt_env.h index ee0419f..90d7f3b 100644 --- a/libfdt_env.h +++ b/libfdt_env.h @@ -19,13 +19,9 @@ #ifndef _LIBFDT_ENV_H #define _LIBFDT_ENV_H -#include <stddef.h> -#include <stdint.h> -#include <string.h> -#include <endian.h> -#include <byteswap.h> +#include "bswap.h" -#if __BYTE_ORDER == __BIG_ENDIAN +#ifdef HOST_WORDS_BIGENDIAN #define fdt32_to_cpu(x) (x) #define cpu_to_fdt32(x) (x) #define fdt64_to_cpu(x) (x)
Building with libfdt results in the following warnings on Mac OS X: CC ppc-softmmu/device_tree.o In file included from /Users/andreas/QEMU/latest64/include/libfdt.h:54, from /Users/andreas/QEMU/qemu/device_tree.c:26: /Users/andreas/QEMU/qemu/libfdt_env.h:25:20: warning: endian.h: No such file or directory /Users/andreas/QEMU/qemu/libfdt_env.h:26:22: warning: byteswap.h: No such file or directory /Users/andreas/QEMU/qemu/libfdt_env.h:28:5: warning: "__BYTE_ORDER" is not defined /Users/andreas/QEMU/qemu/libfdt_env.h:28:21: warning: "__BIG_ENDIAN" is not defined Since QEMU's copy of libfdt_env.h only uses bswap_32() and bswap_64(), let QEMU's bswap.h take care of the headers and use its endianness define. Cc: Hollis Blanchard <hollis@penguinppc.org> Cc: Alexander Graf <agraf@suse.de> Signed-off-by: Andreas Färber <andreas.faerber@web.de> --- Tested on Darwin/ppc64 host. libfdt_env.h | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-)