From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: RE: Definition of eax and rax Date: Wed, 13 Dec 2006 12:35:55 +0000 Message-ID: <458001BB.76E4.0078.0@novell.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser , Xin B Li Cc: Xen Development Mailing List List-Id: xen-devel@lists.xenproject.org >>> "Li, Xin B" 13.12.06 13:15 >>> >And I don't think it can work for none GCC compiler, since we use eax from time to time :-( >#ifdef __GNUC__ >/* Anonymous union includes both 32- and 64-bit names (e.g., eax/rax). */ >#define __DECL_REG(name) union { uint64_t r ## name, e ## name; } >#else >/* Non-gcc sources must always use the proper 64-bit name (e.g., rax). */ >#define __DECL_REG(name) uint64_t r ## name >#endif This is meant to help non-Xen sources including Xen headers. Xen itself is always assumed to be compiled with gcc as I understand it. Jan