Re: [PATCH 03/22] tools lib traceevent: Addtraceevent_host_bigendian function

From: Jiri Olsa
Date: Mon Nov 25 2013 - 04:34:25 EST


On Mon, Nov 25, 2013 at 04:24:52PM +0900, Namhyung Kim wrote:
> Hi Steve,
>
> On Sat, 23 Nov 2013 03:27:08 -0500, Steven Rostedt wrote:
> > On Fri, 22 Nov 2013 23:22:52 +0900
> > Namhyung Kim <namhyung@xxxxxxxxxx> 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;
> > }
>
> Yeah, looks good to me.

ok, will change to this one

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