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.