It's not the compiler who decides -- struct layout is dictated by the ABI you're compiling for.This is true in the case of externally-visible stuff. I think thecompiler is permitted to violate the ABI for purely unit-internal thingsif it makes sense though, isn't it?
Sure. It isn't "violating the ABI" in that case though, to be perfectly clear.
Besides, in the case of the Linux kernel the ABI in question could be one of many. It could even be a new one which was added a couple of weeks ago, and which I had no _chance_ of considering.
Of course.
The rule stands -- empirical testing of what the compiler will do isn't usually the right answer.
It is *never* the right answer. You should always write your code so that it will do the right thing no matter what the compiler decides to do to it. Segher - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH] ubi: kill homegrown endian macros
- From: David Woodhouse <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- References:
- [PATCH] ubi: kill homegrown endian macros
- From: Christoph Hellwig <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: Artem Bityutskiy <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: Christoph Hellwig <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: Artem Bityutskiy <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: Andrew Morton <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: Matthieu CASTET <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: David Woodhouse <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: "John Anthony Kazos Jr." <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: David Woodhouse <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: "John Anthony Kazos Jr." <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: David Woodhouse <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: Segher Boessenkool <[email protected]>
- Re: [PATCH] ubi: kill homegrown endian macros
- From: David Woodhouse <[email protected]>
- [PATCH] ubi: kill homegrown endian macros
- Prev by Date: Re: [PATCH 8/9] readahead: convert ext3/ext4 invocations
- Next by Date: Re: [PATCH 2.6.21-rt2] PowerPC: decrementer clockevent driver
- Previous by thread: Re: [PATCH] ubi: kill homegrown endian macros
- Next by thread: Re: [PATCH] ubi: kill homegrown endian macros
- Index(es):