[PATCH v2] Write event stream in file
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Jun 26 05:12:53 UTC 2019
On 26/06/2019 06:20, Ravindra Kumar Meena wrote:
> > + ctf_item.event = __builtin_bswap32( item->event );
>
> Why is there this byte swap?
>
>
> It will set its value in big-endian.
What it does here depends on the native endian setting.
> Since this value will be passed as
> big-endian. I have defined the typealias for the same in the metadata.
>
> typealias integer { size = 64; align = 8; signed = false; byte_order=be;
> } := uint64_t_be;
>
> The trace description in our metadata is
>
> trace {
> major = 1;
> minor = 8;
> byte_order = le;
> };
>
> This defines that babeltrace has to read in little-endian byte order.
> Hence, giving out correct value.
>
> So basically we are passing big-endian value so that babeltrace can read
> it in little-endian.
The target application simulated on Qemu is little endian and your
x86_64 host is little endian. There is absolutely no big endian stuff
involved here naturally. Your superfluous byte swap causes all the
trouble. Why you added it is a complete miracle to me.
Please remove the byte swap and change
typedef enum events_e : uint64_t_be {
to
typedef enum events_e : uint32_t {
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list