cvs commit: src/include ar.h
M. Warner Losh
imp at bsdimp.com
Mon Nov 13 17:27:49 UTC 2006
In message: <3801.1163410519 at critter.freebsd.dk>
"Poul-Henning Kamp" <phk at phk.freebsd.dk> writes:
: In message <20061113173927.Q75708 at delplex.bde.org>, Bruce Evans writes:
: >On Mon, 13 Nov 2006, Joseph Koshy wrote:
: >
: >> jkoshy 2006-11-13 04:28:29 UTC
: >>
: >> FreeBSD src repository
: >>
: >> Modified files:
: >> include ar.h
: >> Log:
: >> Attempt to improve application portability by marking `struct ar_hdr'
: >> as `packed'.
: >>
: >> The C standard leaves the alignment of individual members of a C
: >> struct upto the implementation, so pedantically speaking portable
: >> code cannot assume that the layout of a `struct ar_hdr' in memory
: >> will match its layout in a file. Using a __packed attribute
: >> declaration forces file and memory layouts for this structure to
: >> match.
: >>
: >> Submitted by: ru
: >
: >I don't see how this can be more portable.
:
: I agree with bruce that __packed is not the way to go.
:
: For things that represent communication protocols, even if
: they happen through files, I advocate using the functions
: in sys/endian.h to explicitly decode and encode fields into
: bytestrings.
Until that happens, __packed is the only way to get correct code on
the arm.
Warner
More information about the cvs-src
mailing list