[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4DFA4864.2030900@ahsoftware.de>
Date: Thu, 16 Jun 2011 20:16:04 +0200
From: Alexander Holler <holler@...oftware.de>
To: Alan Stern <stern@...land.harvard.edu>
CC: gregkh@...e.de, Rabin Vincent <rabin@....in>,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, Arnd Bergmann <arnd@...db.de>
Subject: Re: [PATCH] USB: ehci: use packed,aligned(4) instead of removing
the packed attribute
Am 16.06.2011 19:09, schrieb Alan Stern:
> On Thu, 16 Jun 2011, Alexander Holler wrote:
>
>> In commit 139540170d9d9b7ead3caaf540f161756b356d56 the attribute
>> packed is removed from the structs which are used to access the EHCI-registers.
>>
>> This is done to circumvent a problem with gcc 4.6, which might access members of
>> packed structs on a byte by byte basis. But using packed, aligned(4) fixes that
>> too and is imho the better solution. Otherwise (without packed) the compiler would be free
>> to choose whatever alignment he thinks fits best, which might be e.g. 8-byte on 64-bit machines.
>
> Is that really true? I thought the compiler was not allowed to insert
> padding if the natural alignment of the data types didn't require any.
>
> Alan Stern
I wasn't sure and have searched c99 before posting the patch but I
haven't found something which states what you are suggesting. Maybe I
was too stupid to find it, I've searched for the words "alignment" and
"padding".
The only statement I've found was
"There may be unnamed padding within a structure object, but not at its
beginning."
in 6.7.2.1 13 and
"There may be unnamed padding at the end of a structure or union."
in 6.7.2.1. 15 in my copy of c99.
Regards,
Alexander
--
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