Hi Antonio,
On 19/01/14 09:30, Antonio Quartulli wrote:
On 19/01/14 02:10, James Hogan wrote:
It appears that the following gcc patch adds support for #pragma pack: http://gcc.gnu.org/ml/gcc-patches/2006-10/msg01115.html
I gave it a quick spin on metag gcc (which is unfortunately stuck on an old version) and it seems to fix my simple test case so that #pragma pack(2) becomes equivalent to __packed __aligned(2) (for sizeof and __alignof__).
Then I personally think that it is better to fix metag gcc instead of changing the kernel.
Indeed it makes sense to patch metag gcc to be safe in the presence of unportable code like this.
Actually there are many different spots where "#pragma pack" is used. batman-adv is just the only one having compile time checks for structure sizes.
Well the only vaguely interesting one I can find outside of drivers is in fs/udf, and even that seems specific to CD-ROMs and DVDs.
If you care about portability then Chen's patch looks reasonable to me.
Cheers James