On 12/07/2009 10:33 AM, H.J. Lu wrote:
> Hi,
>
>
> x86-64 psABI says _Bool has 1 byte and aligned at 1 byte. It also says:
>
> ---
> When a value of type _Bool is passed in a register or on the stack,
> the upper 63 bits of the eightbyte shall be zero.
> ---
>
> However, gcc treats _Bool as char:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42324
>
> Given that gcc never zeros the upper 63 bits in register nor
> on stack, should we update x86-64 psABI to reflect what gcc
> really does?
>
Another thing to check is to see if there are failure scenarios where
gcc 3.4.6 expects a fully zeroed register (it produces them, I don't
know if it expects to consume them that way, too.)
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.