On Fri, 22 Nov 2013 23:22:52 +0900
Namhyung Kim <namhy...@kernel.org> wrote:

> 2013-11-21 (목), 12:01 +0100, Jiri Olsa:
> > Adding traceevent_host_bigendian function to get host
> > endianity. It's used in following patches.
> 
> [SNIP]
> > +static inline int traceevent_host_bigendian(void)
> > +{
> > +   unsigned char str[] = { 0x1, 0x2, 0x3, 0x4 };
> > +   unsigned int *ptr;
> > +
> > +   ptr = (unsigned int *)str;
> > +   return *ptr == 0x01020304;
> 
> Is it safe for every architecture supported - especially ones that
> require stricter alignment?  I know many architectures/compilers align
> stack but not sure doing this is safe for all architecture.

Would you prefer this (I tested it on both a big and little endian)

{
        unsigned char str[] = { 0x1, 0x2, 0x3, 0x4 };
        unsigned int val;

        memcpy(&val, str, 4);
        return val == 0x01020304;
}

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to