From: Mathieu Desnoyers Date: Thu, 21 Apr 2011 16:12:01 +0000 (-0400) Subject: Update alignment section X-Git-Tag: v1.8~68 X-Git-Url: http://git.efficios.com/?p=ctf.git;a=commitdiff_plain;h=370eae99914830dc4148063c4a5928b3599f60fe Update alignment section Signed-off-by: Mathieu Desnoyers --- diff --git a/common-trace-format-proposal.txt b/common-trace-format-proposal.txt index 445fe7a..ab77a26 100644 --- a/common-trace-format-proposal.txt +++ b/common-trace-format-proposal.txt @@ -99,15 +99,16 @@ types, but must be derived into a type to be usable in an event field. We define "byte-packed" types as aligned on the byte size, namely 8-bit. We define "bit-packed" types as following on the next bit, as defined by the -"bitfields" section. +"Integers" section. All basic types, except bitfields, are either aligned on an architecture-defined specific alignment or byte-packed, depending on the architecture preference. Architectures providing fast unaligned write byte-packed basic types to save space, aligning each type on byte boundaries (8-bit). Architectures with slow unaligned writes align types on specific alignment values. If no specific -alignment is declared for a type nor its parents, it is assumed to be bit-packed -for bitfields and byte-packed for other types. +alignment is declared for a type, it is assumed to be bit-packed for +integers with size not multiple of 8 bits and for gcc bitfields. All +other types are byte-packed. Metadata attribute representation of a specific alignment: