From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: PIC register 'bx' clobbered in 'asm' - xen-unstable build error Date: Fri, 25 Feb 2005 15:44:20 -0600 Message-ID: <421F9C34.6000609@us.ibm.com> References: <421F9266.7020004@us.ibm.com> <1109366255.5970.2.camel@thinkpad> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit In-Reply-To: <1109366255.5970.2.camel@thinkpad> Sender: xen-devel-admin@lists.sourceforge.net Errors-To: xen-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: Jerone Young Cc: David F Barrera , xen-devel List-Id: xen-devel@lists.xenproject.org Jerone Young wrote: >The big question is why are you clobbering bx , dx registers on get >cpuid: > > CPUID returns information in eax, ebx, ecx, and edx. With -fPIC you have to push ebx onto the stack before calling cpuid and pop it afterward as Bin points out is what the patch to xen-unstable does. Regards, > _asm__ __volatile__ ("cpuid" > : "=a" (eax), "=c" (ecx) > : "0" (1) > : "bx", "dx"); > >You can change this to: > > _asm__ __volatile__ ("cpuid" > : "=a" (eax), "=c" (ecx) > : "0" (1) > ); > >But I am not sure why this is there? > > > >On Fri, 2005-02-25 at 15:02 -0600, David F Barrera wrote: > > >>I am trying to build xen-unstable on an x86 box, but it is failing with >>the following message: >> >>gcc -DPIC -m32 -march=i686 -Wall -Werror -O3 -fno-strict-aliasing -I >>../../tools/libxutil -I. -Wp,-MD,.xc_rrobin.opic.d -fPIC -c -o >>xc_rrobin.opic xc_rrobin.c >>gcc -DPIC -m32 -march=i686 -Wall -Werror -O3 -fno-strict-aliasing -I >>../../tools/libxutil -I. -Wp,-MD,.xc_vmx_build.opic.d -fPIC -c -o >>xc_vmx_build.opic xc_vmx_build.c >>xc_vmx_build.c: In function `vmx_identify': >>xc_vmx_build.c:468: error: PIC register `bx' clobbered in `asm' >>make[4]: *** [xc_vmx_build.opic] Error 1 >>make[4]: Leaving directory `/tmp/xen-unstable/tools/libxc' >>make[3]: *** [all] Error 2 >>make[3]: Leaving directory `/tmp/xen-unstable/tools/libxc' >>make[2]: *** [install] Error 2 >>make[2]: Leaving directory `/tmp/xen-unstable/tools' >>make[1]: *** [tools] Error 2 >>make[1]: Leaving directory `/tmp/xen-unstable' >>make: *** [world] Error 2 >>make world failed >> >>I have built xen-unstable on this machine before, so I don't believe it >>is a setup problem. Has anyone else observed this? >> >>David F Barrera >> >> >> >>------------------------------------------------------- >>SF email is sponsored by - The IT Product Guide >>Read honest & candid reviews on hundreds of IT Products from real users. >>Discover which products truly live up to the hype. Start reading now. >>http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click >>_______________________________________________ >>Xen-devel mailing list >>Xen-devel@lists.sourceforge.net >>https://lists.sourceforge.net/lists/listinfo/xen-devel >> >> >> ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click