[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1165421636345@dmwebmail.belize.chezphil.org>
Date: Wed, 06 Dec 2006 16:13:56 +0000
From: "Phil Endecott" <phil_arcwk_endecott@...zphil.org>
To: "Jan Blunck" <jblunck@...e.de>
Cc: <linux-kernel@...r.kernel.org>
Subject: Re: Subtleties of __attribute__((packed))
Jan Blunk wrote:
> Maybe the arm backend is somehow broken. AFAIK (and I verfied it on S390 and
> i386) the alignment shouldn't change.
To see a difference with your example structs you need to compare these two:
struct wibble1 {
char c;
struct bar1 b1;
};
struct wibble2 {
char c;
struct bar2 b2;
};
struct wibble1 w1 = { 1, { 2, {3,4,5} } };
struct wibble2 w2 = { 1, { 2, {3,4,5} } };
Can you try that with your compilers? I get:
w1:
.byte 1
.space 3 <<<----
.byte 2
.4byte 3
.byte 4
.space 3
.4byte 5
.space 3
.global w2
.align 2
.type w2, %object
.size w2, 16
w2:
.byte 1
.byte 2
.4byte 3
.byte 4
.space 3
.4byte 5
.space 2
Phil.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists