cvs commit: src/sys/amd64/amd64 support.S

John Baldwin jhb at freebsd.org
Tue Aug 15 13:14:57 UTC 2006


On Tuesday 15 August 2006 08:45, David Xu wrote:
> davidxu     2006-08-15 12:45:51 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/amd64/amd64      support.S 
>   Log:
>   Because fuword on AMD64 returns 64bit long integer -1 on fault, clear
>   entire %rax to zero instead of only clearing %eax, otherwise it will
>   leave garbage data in upper 32 bits.

Are you sure that 'xorl %eax,%eax' doesn't actually clear all 64 bits?  This
practice of just using xorl rather than xorq is all over the place in the
amd64 code, and I think I've even seen gcc generate it, so I'm guessing that
the xorl actually is a xorq.

-- 
John Baldwin


More information about the cvs-src mailing list